From f1e132704f56f41c3ccf47b263992bf8551895c4 Mon Sep 17 00:00:00 2001 From: eita Date: Tue, 28 Apr 2020 11:50:44 +0700 Subject: [PATCH] init project --- .gitignore | 67 + .project | 17 + .settings/org.eclipse.buildship.core.prefs | 2 + LICENSE | 201 +++ build.gradle | 44 + gradle.properties | 19 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 +++ gradlew.bat | 90 ++ opengl/.classpath | 6 + opengl/.gitignore | 1 + opengl/.project | 23 + .../org.eclipse.buildship.core.prefs | 2 + opengl/build.gradle | 58 + opengl/proguard-rules.pro | 85 ++ opengl/src/main/AndroidManifest.xml | 19 + .../main/java/jp/eita/canvasgl/BitmapUtils.kt | 160 +++ .../main/java/jp/eita/canvasgl/CanvasGL.kt | 360 ++++++ .../main/java/jp/eita/canvasgl/ICanvasGL.kt | 115 ++ .../main/java/jp/eita/canvasgl/OpenGLUtil.kt | 75 ++ .../jp/eita/canvasgl/glcanvas/BasicTexture.kt | 194 +++ .../eita/canvasgl/glcanvas/BitmapTexture.kt | 38 + .../jp/eita/canvasgl/glcanvas/GLCanvas.kt | 241 ++++ .../eita/canvasgl/glcanvas/GLCanvasUtils.kt | 343 +++++ .../jp/eita/canvasgl/glcanvas/GLES20Canvas.kt | 1005 +++++++++++++++ .../jp/eita/canvasgl/glcanvas/GLES20IdImpl.kt | 49 + .../java/jp/eita/canvasgl/glcanvas/GLId.kt | 30 + .../java/jp/eita/canvasgl/glcanvas/GLPaint.kt | 28 + .../eita/canvasgl/glcanvas/IntArrayCustom.kt | 62 + .../jp/eita/canvasgl/glcanvas/RawTexture.kt | 65 + .../java/jp/eita/canvasgl/glcanvas/Texture.kt | 47 + .../glcanvas/TextureMatrixTransformer.kt | 67 + .../eita/canvasgl/glcanvas/UploadedTexture.kt | 253 ++++ .../eita/canvasgl/glview/GLContinuousView.kt | 36 + .../java/jp/eita/canvasgl/glview/GLView.kt | 113 ++ .../glview/texture/BaseGLCanvasTextureView.kt | 95 ++ .../glview/texture/BaseGLTextureView.kt | 257 ++++ .../glview/texture/GLContinuousTextureView.kt | 35 + .../glview/texture/GLMultiTexConsumerView.kt | 83 ++ .../glview/texture/GLMultiTexProducerView.kt | 178 +++ .../texture/GLSurfaceTextureProducerView.kt | 82 ++ .../eita/canvasgl/glview/texture/GLTexture.kt | 37 + .../canvasgl/glview/texture/GLTextureView.kt | 36 + .../canvasgl/glview/texture/GLViewRenderer.kt | 25 + .../glview/texture/gles/EGLLogWrapper.kt | 526 ++++++++ .../glview/texture/gles/EglContextWrapper.kt | 48 + .../canvasgl/glview/texture/gles/EglHelper.kt | 202 +++ .../glview/texture/gles/EglHelperFactory.kt | 27 + .../canvasgl/glview/texture/gles/GLThread.kt | 1110 +++++++++++++++++ .../glview/texture/gles/IEglHelper.kt | 31 + .../eita/canvasgl/matrix/BaseBitmapMatrix.kt | 82 ++ .../jp/eita/canvasgl/matrix/IBitmapMatrix.kt | 25 + .../shapeFilter/BasicDrawShapeFilter.kt | 54 + .../canvasgl/shapeFilter/DrawCircleFilter.kt | 65 + .../canvasgl/shapeFilter/DrawShapeFilter.kt | 29 + .../textureFilter/BasicTextureFilter.kt | 81 ++ .../canvasgl/textureFilter/ContrastFilter.kt | 61 + .../eita/canvasgl/textureFilter/CropFilter.kt | 69 + .../textureFilter/DarkenBlendFilter.kt | 44 + .../canvasgl/textureFilter/FilterGroup.kt | 116 ++ .../eita/canvasgl/textureFilter/HueFilter.kt | 98 ++ .../canvasgl/textureFilter/OneValueFilter.kt | 21 + .../textureFilter/PixelationFilter.kt | 77 ++ .../textureFilter/SaturationFilter.kt | 70 ++ .../canvasgl/textureFilter/TextureFilter.kt | 32 + .../textureFilter/TwoTextureFilter.kt | 153 +++ .../java/jp/eita/canvasgl/util/FileLogger.kt | 427 +++++++ .../java/jp/eita/canvasgl/util/FileUtil.kt | 87 ++ .../java/jp/eita/canvasgl/util/Loggers.kt | 52 + openglsample/.classpath | 6 + openglsample/.gitignore | 1 + openglsample/.project | 23 + .../org.eclipse.buildship.core.prefs | 2 + openglsample/build.gradle | 71 ++ openglsample/proguard-rules.pro | 17 + openglsample/src/main/AndroidManifest.xml | 47 + openglsample/src/main/assets/test_video.mp4 | Bin 0 -> 400307 bytes openglsample/src/main/assets/test_video_2.mp4 | Bin 0 -> 719218 bytes .../jp/eita/example/bubble/OpenGLActivity.kt | 203 +++ .../java/jp/eita/example/bubble/OpenGLView.kt | 70 ++ .../jp/eita/example/bubble/model/Bubble.kt | 84 ++ .../bubble/model/MovableCollisionObject.kt | 47 + .../example/bubble/model/MovableObject.kt | 95 ++ .../java/jp/eita/example/bubble/model/Wall.kt | 37 + .../java/jp/eita/example/main/MainActivity.kt | 60 + .../jp/eita/example/main/OpenGLAdapter.kt | 43 + .../java/jp/eita/example/main/OpenGLName.kt | 21 + .../jp/eita/example/main/OpenGLParameters.kt | 20 + .../jp/eita/example/main/OpenGLViewHolder.kt | 34 + .../jp/eita/example/structure/AlphaList.kt | 57 + .../eita/example/structure/ScaleRatioList.kt | 55 + .../src/main/res/drawable/ic_fast_food.xml | 48 + .../res/drawable/ic_launcher_background.xml | 74 ++ .../res/drawable/ic_launcher_foreground.xml | 42 + .../src/main/res/drawable/ic_sushi.xml | 42 + .../src/main/res/layout/activity_main.xml | 17 + .../src/main/res/layout/activity_opengl.xml | 38 + .../main/res/layout/research_item_view.xml | 20 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6605 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 6605 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3912 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3912 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 9244 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 9244 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 14801 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 14801 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 20957 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 20957 bytes openglsample/src/main/res/values/colors.xml | 6 + openglsample/src/main/res/values/dimens.xml | 5 + openglsample/src/main/res/values/strings.xml | 4 + openglsample/src/main/res/values/styles.xml | 11 + settings.gradle | 16 + 116 files changed, 9822 insertions(+) create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.buildship.core.prefs create mode 100644 LICENSE create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 opengl/.classpath create mode 100644 opengl/.gitignore create mode 100644 opengl/.project create mode 100644 opengl/.settings/org.eclipse.buildship.core.prefs create mode 100644 opengl/build.gradle create mode 100644 opengl/proguard-rules.pro create mode 100644 opengl/src/main/AndroidManifest.xml create mode 100644 opengl/src/main/java/jp/eita/canvasgl/BitmapUtils.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/CanvasGL.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/ICanvasGL.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/OpenGLUtil.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/BasicTexture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/BitmapTexture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvas.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvasUtils.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20Canvas.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20IdImpl.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLId.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLPaint.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/IntArrayCustom.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/RawTexture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/Texture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/TextureMatrixTransformer.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glcanvas/UploadedTexture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/GLContinuousView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/GLView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLCanvasTextureView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLTextureView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLContinuousTextureView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexConsumerView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexProducerView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLSurfaceTextureProducerView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTexture.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTextureView.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLViewRenderer.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EGLLogWrapper.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglContextWrapper.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelper.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelperFactory.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/GLThread.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/IEglHelper.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/matrix/BaseBitmapMatrix.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/matrix/IBitmapMatrix.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/shapeFilter/BasicDrawShapeFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawCircleFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawShapeFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/BasicTextureFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/ContrastFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/CropFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/DarkenBlendFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/FilterGroup.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/HueFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/OneValueFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/PixelationFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/SaturationFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/TextureFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/textureFilter/TwoTextureFilter.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/util/FileLogger.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/util/FileUtil.kt create mode 100644 opengl/src/main/java/jp/eita/canvasgl/util/Loggers.kt create mode 100644 openglsample/.classpath create mode 100644 openglsample/.gitignore create mode 100644 openglsample/.project create mode 100644 openglsample/.settings/org.eclipse.buildship.core.prefs create mode 100644 openglsample/build.gradle create mode 100644 openglsample/proguard-rules.pro create mode 100644 openglsample/src/main/AndroidManifest.xml create mode 100644 openglsample/src/main/assets/test_video.mp4 create mode 100644 openglsample/src/main/assets/test_video_2.mp4 create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/OpenGLActivity.kt create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/OpenGLView.kt create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/model/Bubble.kt create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/model/MovableCollisionObject.kt create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/model/MovableObject.kt create mode 100644 openglsample/src/main/java/jp/eita/example/bubble/model/Wall.kt create mode 100644 openglsample/src/main/java/jp/eita/example/main/MainActivity.kt create mode 100644 openglsample/src/main/java/jp/eita/example/main/OpenGLAdapter.kt create mode 100644 openglsample/src/main/java/jp/eita/example/main/OpenGLName.kt create mode 100644 openglsample/src/main/java/jp/eita/example/main/OpenGLParameters.kt create mode 100644 openglsample/src/main/java/jp/eita/example/main/OpenGLViewHolder.kt create mode 100644 openglsample/src/main/java/jp/eita/example/structure/AlphaList.kt create mode 100644 openglsample/src/main/java/jp/eita/example/structure/ScaleRatioList.kt create mode 100644 openglsample/src/main/res/drawable/ic_fast_food.xml create mode 100644 openglsample/src/main/res/drawable/ic_launcher_background.xml create mode 100644 openglsample/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 openglsample/src/main/res/drawable/ic_sushi.xml create mode 100644 openglsample/src/main/res/layout/activity_main.xml create mode 100644 openglsample/src/main/res/layout/activity_opengl.xml create mode 100644 openglsample/src/main/res/layout/research_item_view.xml create mode 100644 openglsample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 openglsample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 openglsample/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 openglsample/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 openglsample/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 openglsample/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 openglsample/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 openglsample/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 openglsample/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 openglsample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 openglsample/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 openglsample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 openglsample/src/main/res/values/colors.xml create mode 100644 openglsample/src/main/res/values/dimens.xml create mode 100644 openglsample/src/main/res/values/strings.xml create mode 100644 openglsample/src/main/res/values/styles.xml create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..382ec00 --- /dev/null +++ b/.gitignore @@ -0,0 +1,67 @@ +# Mac OS +.DS_store + +# Built application files +*.apk +*.ap_ + +# Gradle files +.gradle/ +./gradlew.bat +./gradlew +build/ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/ +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches +.idea/misc.xml +.idea/modules.xml +.idea/navEditor.xml +.idea/markdown* +projectFilesBackup/ + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Release folder +app/release/ \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 0000000..9abe3c8 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + android-openGL-canvas + Project android-openGL-canvas created by Buildship. + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..e889521 --- /dev/null +++ b/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir= +eclipse.preferences.version=1 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a4deed0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..240a1ca --- /dev/null +++ b/build.gradle @@ -0,0 +1,44 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +buildscript { + ext.kotlin_version = '1.3.72' + + repositories { + maven{url"https://maven.google.com"} + jcenter() + google() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.6.3' + classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + maven{url"https://maven.google.com"} + jcenter() + google() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..9e6fce1 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,19 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +android.enableJetifier=true +android.useAndroidX=true +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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ⅅ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 H-+%o-(+5aQ literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..e7f471d --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Apr 06 09:31:14 ICT 2020 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/opengl/.classpath b/opengl/.classpath new file mode 100644 index 0000000..eb19361 --- /dev/null +++ b/opengl/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/opengl/.gitignore b/opengl/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/opengl/.gitignore @@ -0,0 +1 @@ +/build diff --git a/opengl/.project b/opengl/.project new file mode 100644 index 0000000..98d27e9 --- /dev/null +++ b/opengl/.project @@ -0,0 +1,23 @@ + + + canvasgl + Project canvasgl created by Buildship. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/opengl/.settings/org.eclipse.buildship.core.prefs b/opengl/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..b1886ad --- /dev/null +++ b/opengl/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir=.. +eclipse.preferences.version=1 diff --git a/opengl/build.gradle b/opengl/build.gradle new file mode 100644 index 0000000..973fb35 --- /dev/null +++ b/opengl/build.gradle @@ -0,0 +1,58 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' +apply plugin: 'com.github.dcendents.android-maven' +def VERSION_NAME="1" + +android { + compileSdkVersion 29 + buildToolsVersion "28.0.3" + defaultConfig { + minSdkVersion 21 + targetSdkVersion 29 + versionCode 1 + versionName VERSION_NAME + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } + +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + testImplementation 'junit:junit:4.12' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.annotation:annotation:1.1.0' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} + +repositories { + mavenCentral() +} \ No newline at end of file diff --git a/opengl/proguard-rules.pro b/opengl/proguard-rules.pro new file mode 100644 index 0000000..7b53b10 --- /dev/null +++ b/opengl/proguard-rules.pro @@ -0,0 +1,85 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in D:\develop-win\android\dev-tools-win\android-studio-windows\sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + + +-dontpreverify +-repackageclasses '' +-allowaccessmodification +-optimizations !code/simplification/arithmetic +-keepparameternames +-renamesourcefileattribute SourceFile +-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod + +-keep public class * { + public protected *; +} + +-keepclassmembernames class * { + java.lang.Class class$(java.lang.String); + java.lang.Class class$(java.lang.String, boolean); +} + +-keepclasseswithmembernames,includedescriptorclasses class * { + native ; +} + +-keepclassmembers,allowoptimization enum * { + public static **[] values(); public static ** valueOf(java.lang.String); +} + +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +-keep public class * extends android.view.View { + public (android.content.Context); + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); + public void set*(...); +} + + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.content.Context { + public void *(android.view.View); + public void *(android.view.MenuItem); +} + +-keepclassmembers class * implements android.os.Parcelable { + static ** CREATOR; +} + +-keepclassmembers class **.R$* { + public static ; +} + +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} diff --git a/opengl/src/main/AndroidManifest.xml b/opengl/src/main/AndroidManifest.xml new file mode 100644 index 0000000..6ab3801 --- /dev/null +++ b/opengl/src/main/AndroidManifest.xml @@ -0,0 +1,19 @@ + + + \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/BitmapUtils.kt b/opengl/src/main/java/jp/eita/canvasgl/BitmapUtils.kt new file mode 100644 index 0000000..78b602f --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/BitmapUtils.kt @@ -0,0 +1,160 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl + +import android.annotation.TargetApi +import android.content.Context +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.Matrix +import android.graphics.PorterDuff +import android.graphics.drawable.BitmapDrawable +import android.graphics.drawable.VectorDrawable +import android.os.Build +import androidx.annotation.DrawableRes +import androidx.annotation.IntRange +import androidx.core.content.ContextCompat + +object BitmapUtils { + + /** + * This function will convert drawable ID to bitmap. It will detect if [drawableId] is [BitmapDrawable] or [VectorDrawable]. + * @param context + * @param drawableId + * + * @return [Bitmap] + */ + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + fun convertToBitmapFrom(context: Context, @DrawableRes drawableId: Int): Bitmap? { + return when (val drawable = ContextCompat.getDrawable(context, drawableId)) { + is BitmapDrawable -> return drawable.bitmap + is VectorDrawable -> getBitmapFrom(drawable) + else -> throw IllegalArgumentException("Unsupported drawable type") + } + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + private fun getBitmapFrom(vectorDrawable: VectorDrawable): Bitmap? { + val bitmap = Bitmap.createBitmap(vectorDrawable.intrinsicWidth, + vectorDrawable.intrinsicHeight, Bitmap.Config.ARGB_8888) + val canvas = Canvas(bitmap) + vectorDrawable.setBounds(0, 0, canvas.width, canvas.height) + vectorDrawable.draw(canvas) + + return bitmap + } + + /** + * @param bitmap The source bitmap. + * @param opacity a value between 0 (completely transparent) and 255 (completely + * opaque). + * @return The opacity-adjusted bitmap. If the source bitmap is mutable it will be + * adjusted and returned, otherwise a new bitmap is created. + */ + fun adjustOpacity(bitmap: Bitmap, @IntRange(from = 0, to = 255) opacity: Int): Bitmap? { + val mutableBitmap = if (bitmap.isMutable) bitmap else bitmap.copy(Bitmap.Config.ARGB_8888, true) + val canvas = Canvas(mutableBitmap) + val colour = opacity and 0xFF shl 24 + canvas.drawColor(colour, PorterDuff.Mode.DST_IN) + + return mutableBitmap + } + + /** + * @param bitmap The source bitmap. + * @param value to make transparent, > 0 will make bold or < 0 will make fuzzy. + */ + fun makeTransparent(src: Bitmap, @IntRange(from = 1, to = 255) value: Int): Bitmap { + val mutableBitmap: Bitmap = src.copy(Bitmap.Config.ARGB_8888, true) + val canvas = Canvas(mutableBitmap) + val colour = value and 0xFF shl 24 + canvas.drawColor(colour, PorterDuff.Mode.DST_IN) + + return mutableBitmap + } + + /** + * @param bitmap the Bitmap to be scaled + * @param threshold the maxium dimension (either width or height) of the scaled bitmap + * @param isNecessaryToKeepOrig is it necessary to keep the original bitmap? If not recycle the original bitmap to prevent memory leak. + */ + fun getScaledDownBitmap(bitmap: Bitmap, threshold: Int, isNecessaryToKeepOrig: Boolean): Bitmap { + val width = bitmap.width + val height = bitmap.height + var newWidth = width + var newHeight = height + if (width > height && width > threshold) { + newWidth = threshold + newHeight = (height * newWidth.toFloat() / width).toInt() + } + if (width in (height + 1)..threshold) { + //the bitmap is already smaller than our required dimension, no need to resize it + return bitmap + } + if (width < height && height > threshold) { + newHeight = threshold + newWidth = (width * newHeight.toFloat() / height).toInt() + } + if (height in (width + 1)..threshold) { + //the bitmap is already smaller than our required dimension, no need to resize it + return bitmap + } + if (width == height && width > threshold) { + newWidth = threshold + newHeight = newWidth + } + return if (width == height && width <= threshold) { + //the bitmap is already smaller than our required dimension, no need to resize it + bitmap + } else { + getResizedBitmap(bitmap, newWidth, newHeight, isNecessaryToKeepOrig) + } + } + + private fun getResizedBitmap(bm: Bitmap, newWidth: Int, newHeight: Int, isNecessaryToKeepOrig: Boolean): Bitmap { + val width = bm.width + val height = bm.height + val scaleWidth = newWidth.toFloat() / width + val scaleHeight = newHeight.toFloat() / height + // CREATE A MATRIX FOR THE MANIPULATION + val matrix = Matrix() + // RESIZE THE BIT MAP + matrix.postScale(scaleWidth, scaleHeight) + + // "RECREATE" THE NEW BITMAP + val resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false) + if (!isNecessaryToKeepOrig) { + bm.recycle() + } + + return resizedBitmap + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/CanvasGL.kt b/opengl/src/main/java/jp/eita/canvasgl/CanvasGL.kt new file mode 100644 index 0000000..e9f57bd --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/CanvasGL.kt @@ -0,0 +1,360 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl + +import android.graphics.* +import android.opengl.GLES20 +import androidx.annotation.IntRange +import jp.eita.canvasgl.glcanvas.* +import jp.eita.canvasgl.glcanvas.GLCanvas.ICustomMVPMatrix +import jp.eita.canvasgl.matrix.IBitmapMatrix +import jp.eita.canvasgl.shapeFilter.BasicDrawShapeFilter +import jp.eita.canvasgl.shapeFilter.DrawCircleFilter +import jp.eita.canvasgl.shapeFilter.DrawShapeFilter +import jp.eita.canvasgl.textureFilter.BasicTextureFilter +import jp.eita.canvasgl.textureFilter.FilterGroup +import jp.eita.canvasgl.textureFilter.TextureFilter +import java.util.* + +/** + * All the depth of textures are the same. So the texture drawn after will cover the texture drawn before. + */ +class CanvasGL constructor(override val glCanvas: GLCanvas = GLES20Canvas()) : ICanvasGL { + + private val bitmapTextureMap: MutableMap = WeakHashMap() + + private val defaultTextureFilter: BasicTextureFilter + + private val canvasBackgroundColor: FloatArray + + private val surfaceTextureMatrix = FloatArray(16) + + override var width = 0 + private set + + override var height = 0 + private set + + private val defaultDrawShapeFilter: BasicDrawShapeFilter + + private val drawCircleFilter = DrawCircleFilter() + + private var currentTextureFilter: TextureFilter? = null + + init { + glCanvas.setOnPreDrawShapeListener(object : GLCanvas.OnPreDrawShapeListener { + override fun onPreDraw(program: Int, drawShapeFilter: DrawShapeFilter?) { + drawShapeFilter?.onPreDraw(program, this@CanvasGL) + } + + }) + glCanvas.setOnPreDrawTextureListener(object : GLCanvas.OnPreDrawTextureListener { + override fun onPreDraw(textureProgram: Int, texture: BasicTexture?, textureFilter: TextureFilter?) { + textureFilter!!.onPreDraw(textureProgram, texture!!, this@CanvasGL) + } + + }) + defaultTextureFilter = BasicTextureFilter() + defaultDrawShapeFilter = BasicDrawShapeFilter() + canvasBackgroundColor = FloatArray(4) + } + + override fun bindBitmapToTexture(whichTexture: Int, bitmap: Bitmap): BitmapTexture? { + GLES20.glActiveTexture(whichTexture) + GLES20Canvas.checkError() + val texture = getTexture(bitmap, null) as BitmapTexture? + texture!!.onBind(glCanvas) + GLES20.glBindTexture(texture.target, texture.id) + GLES20Canvas.checkError() + + return texture + } + + override fun bindRawTexture(whichTexture: Int, texture: RawTexture) { + GLES20.glActiveTexture(whichTexture) + GLES20Canvas.checkError() + if (!texture.isLoaded) { + texture.prepare(glCanvas) + } + GLES20.glBindTexture(texture.target, texture.id) + GLES20Canvas.checkError() + } + + override fun beginRenderTarget(texture: RawTexture?) { + glCanvas.beginRenderTarget(texture) + } + + override fun endRenderTarget() { + glCanvas.endRenderTarget() + } + + override fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int) { + drawSurfaceTexture(texture, surfaceTexture, left, top, right, bottom, defaultTextureFilter) + } + + override fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int, textureFilter: TextureFilter?) { + drawSurfaceTexture(texture, surfaceTexture, left, top, right, bottom, null, textureFilter) + } + + override fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, matrix: IBitmapMatrix?) { + drawSurfaceTexture(texture!!, surfaceTexture, matrix, defaultTextureFilter) + } + + override fun drawSurfaceTexture(texture: BasicTexture, surfaceTexture: SurfaceTexture?, matrix: IBitmapMatrix?, textureFilter: TextureFilter) { + drawSurfaceTexture(texture, surfaceTexture, 0, 0, texture.width, texture.height, matrix, textureFilter) + } + + override fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int, matrix: IBitmapMatrix?, textureFilter: TextureFilter?) { + currentTextureFilter = textureFilter + var filteredTexture = texture + if (textureFilter is FilterGroup) { + filteredTexture = getFilterGroupTexture(texture, surfaceTexture, textureFilter) + } + val customMVPMatrix = if (matrix == null) null else object : ICustomMVPMatrix { + override fun getMVPMatrix(viewportW: Int, viewportH: Int, x: Float, y: Float, drawW: Float, drawH: Float): FloatArray? { + return matrix.obtainResultMatrix(viewportW, viewportH, x, y, drawW, drawH)!! + } + } + if (surfaceTexture == null) { + glCanvas.drawTexture(filteredTexture, left, top, right - left, bottom - top, textureFilter, customMVPMatrix) + } else { + surfaceTexture.getTransformMatrix(surfaceTextureMatrix) + glCanvas.drawTexture(filteredTexture, surfaceTextureMatrix, left, top, right - left, bottom - top, textureFilter, customMVPMatrix) + } + } + + private fun getFilterGroupTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, basicTextureFilter: FilterGroup): BasicTexture? { + var textureEdited = texture + textureEdited = basicTextureFilter.draw(textureEdited!!, glCanvas, object : FilterGroup.OnDrawListener { + override fun onDraw(drawTexture: BasicTexture?, textureFilter: TextureFilter?, isFirst: Boolean) { + if (isFirst) { + surfaceTexture!!.getTransformMatrix(surfaceTextureMatrix) + glCanvas.drawTexture(drawTexture, surfaceTextureMatrix, 0, 0, drawTexture!!.width, drawTexture.height, textureFilter, null) + } else { + glCanvas.drawTexture(drawTexture, 0, 0, drawTexture!!.width, drawTexture.height, textureFilter, null) + } + } + + }) + + return textureEdited + } + + override fun drawBitmap(bitmap: Bitmap, matrix: IBitmapMatrix) { + drawBitmap(bitmap, matrix, defaultTextureFilter) + } + + override fun drawBitmap(bitmap: Bitmap, matrix: IBitmapMatrix, textureFilter: TextureFilter) { + val basicTexture = getTexture(bitmap, textureFilter) + save() + glCanvas.drawTexture(basicTexture, 0, 0, bitmap.width, bitmap.height, textureFilter, object : ICustomMVPMatrix { + override fun getMVPMatrix(viewportW: Int, viewportH: Int, x: Float, y: Float, drawW: Float, drawH: Float): FloatArray? { + return matrix.obtainResultMatrix(viewportW, viewportH, x, y, drawW, drawH) + } + }) + restore() + } + + override fun drawBitmap(bitmap: Bitmap, src: Rect?, dst: RectF?) { + drawBitmap(bitmap, RectF(src), dst, defaultTextureFilter) + } + + override fun drawBitmap(bitmap: Bitmap, left: Int, top: Int) { + drawBitmap(bitmap, left, top, defaultTextureFilter) + } + + override fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, textureFilter: TextureFilter) { + val basicTexture = getTexture(bitmap, textureFilter) + glCanvas.drawTexture(basicTexture, left, top, bitmap.width, bitmap.height, textureFilter, null) + } + + override fun drawBitmap(bitmap: Bitmap, src: Rect?, dst: Rect?) { + drawBitmap(bitmap, src, RectF(dst)) + } + + override fun drawBitmap(bitmap: Bitmap, src: RectF?, dst: RectF?, textureFilter: TextureFilter) { + if (dst == null) { + throw NullPointerException() + } + val basicTexture = getTexture(bitmap, textureFilter) + glCanvas.drawTexture(basicTexture, src, dst, textureFilter, null) + } + + override fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, width: Int, height: Int) { + drawBitmap(bitmap, left, top, width, height, defaultTextureFilter) + } + + override fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, width: Int, height: Int, textureFilter: TextureFilter) { + val basicTexture = getTexture(bitmap, textureFilter) + glCanvas.drawTexture(basicTexture, left, top, width, height, textureFilter, null) + } + + private fun getTexture(bitmap: Bitmap, textureFilter: TextureFilter?): BasicTexture? { + currentTextureFilter = textureFilter + throwIfCannotDraw(bitmap) + var resultTexture = getTextureFromMap(bitmap) + if (textureFilter is FilterGroup) { + resultTexture = textureFilter.draw(resultTexture!!, glCanvas, object : FilterGroup.OnDrawListener { + override fun onDraw(drawTexture: BasicTexture?, textureFilter: TextureFilter?, isFirst: Boolean) { + glCanvas.drawTexture(drawTexture, 0, 0, drawTexture!!.width, drawTexture.height, textureFilter, null) + } + }) + } + + return resultTexture + } + + /*** + * Use this to the bitmap to texture. Called when your bitmap content pixels changed + * @param bitmap the bitmap whose content pixels changed + */ + override fun invalidateTextureContent(bitmap: Bitmap) { + val resultTexture = getTextureFromMap(bitmap) + if (resultTexture is UploadedTexture) { + resultTexture.invalidateContent() + } + } + + private fun getTextureFromMap(bitmap: Bitmap): BasicTexture? { + val resultTexture: BasicTexture? + if (bitmapTextureMap.containsKey(bitmap)) { + resultTexture = bitmapTextureMap[bitmap] + } else { + resultTexture = BitmapTexture(bitmap) + bitmapTextureMap[bitmap] = resultTexture + } + + return resultTexture + } + + override fun drawCircle(x: Float, y: Float, radius: Float, paint: GLPaint) { + if (paint.style == Paint.Style.FILL) { + drawCircleFilter.lineWidth = 0.5f + } else { + drawCircleFilter.lineWidth = paint.lineWidth / (2 * radius) + } + glCanvas.drawCircle(x - radius, y - radius, radius, paint, drawCircleFilter) + } + + override fun drawLine(starttX: Float, startY: Float, stopX: Float, stopY: Float, paint: GLPaint?) { + glCanvas.drawLine(starttX, startY, stopX, stopY, paint, defaultDrawShapeFilter) + } + + override fun drawRect(rect: RectF, paint: GLPaint) { + drawRect(rect.left, rect.top, rect.right, rect.bottom, paint) + } + + override fun drawRect(r: Rect, paint: GLPaint) { + drawRect(r.left.toFloat(), r.top.toFloat(), r.right.toFloat(), r.bottom.toFloat(), paint) + } + + override fun drawRect(left: Float, top: Float, right: Float, bottom: Float, paint: GLPaint) { + if (paint.style == Paint.Style.STROKE) { + glCanvas.drawRect(left, top, right - left, bottom - top, paint, defaultDrawShapeFilter) + } else { + glCanvas.fillRect(left, top, right - left, bottom - top, paint.color, defaultDrawShapeFilter) + } + } + + override fun save() { + glCanvas.save() + } + + override fun save(saveFlags: Int) { + glCanvas.save(saveFlags) + } + + override fun restore() { + glCanvas.restore() + } + + override fun rotate(degrees: Float) { + glCanvas.rotate(degrees, 0f, 0f, 1f) + } + + override fun rotate(degrees: Float, px: Float, py: Float) { + glCanvas.translate(px, py) + rotate(degrees) + glCanvas.translate(-px, -py) + } + + override fun scale(sx: Float, sy: Float) { + glCanvas.scale(sx, sy, 1f) + } + + override fun scale(sx: Float, sy: Float, px: Float, py: Float) { + glCanvas.translate(px, py) + scale(sx, sy) + glCanvas.translate(-px, -py) + } + + override fun translate(dx: Float, dy: Float) { + glCanvas.translate(dx, dy) + } + + override fun clearBuffer() { + glCanvas.clearBuffer() + } + + override fun clearBuffer(color: Int) { + canvasBackgroundColor[1] = Color.red(color).toFloat() / 255 + canvasBackgroundColor[2] = Color.green(color).toFloat() / 255 + canvasBackgroundColor[3] = Color.blue(color).toFloat() / 255 + canvasBackgroundColor[0] = Color.alpha(color).toFloat() / 255 + glCanvas.clearBuffer(canvasBackgroundColor) + } + + override fun setSize(width: Int, height: Int) { + this.width = width + this.height = height + glCanvas.setSize(width, height) + } + +// override fun setSize(scaleRatioSize: Float) { +//// this.width = (width * scaleRatioSize).toInt() +//// this.height = (height * scaleRatioSize).toInt() +//// glCanvas.setSize(this.width, this.height) +// } + + override fun resume() {} + + override fun pause() { + if (currentTextureFilter != null) { + currentTextureFilter!!.destroy() + } + } + + override fun setAlpha(@IntRange(from = 0, to = 255) alpha: Int) { + glCanvas.alpha = alpha / 255.toFloat() + } + + @Throws(Throwable::class) + protected fun finalize() { + for (bitmapTexture in bitmapTextureMap.values) { + bitmapTexture.recycle() + } + } + + private fun throwIfCannotDraw(bitmap: Bitmap) { + if (bitmap.isRecycled) { + throw RuntimeException("Canvas: trying to use a recycled bitmap $bitmap") + } + if (!bitmap.isPremultiplied && bitmap.config == Bitmap.Config.ARGB_8888 && + bitmap.hasAlpha()) { + throw RuntimeException("Canvas: trying to use a non-premultiplied bitmap $bitmap") + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/ICanvasGL.kt b/opengl/src/main/java/jp/eita/canvasgl/ICanvasGL.kt new file mode 100644 index 0000000..7371691 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/ICanvasGL.kt @@ -0,0 +1,115 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl + +import android.graphics.Bitmap +import android.graphics.Rect +import android.graphics.RectF +import android.graphics.SurfaceTexture +import androidx.annotation.IntRange +import jp.eita.canvasgl.glcanvas.* +import jp.eita.canvasgl.matrix.IBitmapMatrix +import jp.eita.canvasgl.textureFilter.TextureFilter + +interface ICanvasGL { + + fun bindBitmapToTexture(whichTexture: Int, bitmap: Bitmap): BitmapTexture? + + fun bindRawTexture(whichTexture: Int, texture: RawTexture) + + fun beginRenderTarget(texture: RawTexture?) + + fun endRenderTarget() + + val glCanvas: GLCanvas + + fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int) + + fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int, textureFilter: TextureFilter?) + + fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, matrix: IBitmapMatrix?) + + fun drawSurfaceTexture(texture: BasicTexture, surfaceTexture: SurfaceTexture?, matrix: IBitmapMatrix?, textureFilter: TextureFilter) + + fun drawSurfaceTexture(texture: BasicTexture?, surfaceTexture: SurfaceTexture?, left: Int, top: Int, right: Int, bottom: Int, matrix: IBitmapMatrix?, textureFilter: TextureFilter?) + + fun drawBitmap(bitmap: Bitmap, matrix: IBitmapMatrix) + + fun drawBitmap(bitmap: Bitmap, matrix: IBitmapMatrix, textureFilter: TextureFilter) + + fun drawBitmap(bitmap: Bitmap, src: Rect?, dst: RectF?) + + fun drawBitmap(bitmap: Bitmap, left: Int, top: Int) + + fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, textureFilter: TextureFilter) + + fun drawBitmap(bitmap: Bitmap, src: Rect?, dst: Rect?) + + fun drawBitmap(bitmap: Bitmap, src: RectF?, dst: RectF?, textureFilter: TextureFilter) + + fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, width: Int, height: Int) + + fun drawBitmap(bitmap: Bitmap, left: Int, top: Int, width: Int, height: Int, textureFilter: TextureFilter) + + fun invalidateTextureContent(bitmap: Bitmap) + + fun drawCircle(x: Float, y: Float, radius: Float, paint: GLPaint) + + fun drawLine(starttX: Float, startY: Float, stopX: Float, stopY: Float, paint: GLPaint?) + + fun drawRect(rect: RectF, paint: GLPaint) + + fun drawRect(r: Rect, paint: GLPaint) + + fun drawRect(left: Float, top: Float, right: Float, bottom: Float, paint: GLPaint) + + fun save() + + fun save(saveFlags: Int) + + fun restore() + + fun rotate(degrees: Float) + + fun rotate(degrees: Float, px: Float, py: Float) + + fun scale(sx: Float, sy: Float) + + fun scale(sx: Float, sy: Float, px: Float, py: Float) + + fun translate(dx: Float, dy: Float) + + fun clearBuffer() + + fun clearBuffer(color: Int) + + fun setSize(width: Int, height: Int) + + val width: Int + + val height: Int + + fun resume() + + fun pause() + + /** + * If used in a texture view, make sure the setOpaque(false) is called. + * + * @param alpha alpha value + */ + fun setAlpha(@IntRange(from = 0, to = 255) alpha: Int) +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/OpenGLUtil.kt b/opengl/src/main/java/jp/eita/canvasgl/OpenGLUtil.kt new file mode 100644 index 0000000..92ec9c6 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/OpenGLUtil.kt @@ -0,0 +1,75 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl + +import android.graphics.Bitmap +import android.graphics.Point +import android.opengl.GLES11 +import android.opengl.GLES20 +import android.opengl.GLException +import android.view.View +import java.nio.IntBuffer +import javax.microedition.khronos.opengles.GL10 + +/** + * Some tools for OpenGL + */ +object OpenGLUtil { + + fun setUniformMatrix4f(location: Int, matrix: FloatArray?) { + GLES20.glUniformMatrix4fv(location, 1, false, matrix, 0) + } + + @JvmStatic + fun setFloat(location: Int, floatValue: Float) { + GLES20.glUniform1f(location, floatValue) + } + + @JvmStatic + @Throws(OutOfMemoryError::class) + fun createBitmapFromGLSurface(x: Int, y: Int, w: Int, h: Int, glHeight: Int): Bitmap? { + val bitmapBuffer = IntArray(w * h) + val bitmapSource = IntArray(w * h) + val intBuffer = IntBuffer.wrap(bitmapBuffer) + intBuffer.position(0) + try { + GLES11.glReadPixels(x, glHeight - h - y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, intBuffer) + var offset1: Int + var offset2: Int + for (i in 0 until h) { + offset1 = i * w + offset2 = (h - i - 1) * w + for (j in 0 until w) { + val texturePixel = bitmapBuffer[offset1 + j] + val blue = texturePixel shr 16 and 0xff + val red = texturePixel shl 16 and 0x00ff0000 + val pixel = texturePixel and -0xff0100 or red or blue + bitmapSource[offset2 + j] = pixel + } + } + } catch (e: GLException) { + return null + } + return Bitmap.createBitmap(bitmapSource, w, h, Bitmap.Config.ARGB_8888) + } + + @JvmStatic + fun getPointOfView(view: View): Point { + val location = IntArray(2) + view.getLocationInWindow(location) + return Point(location[0], location[1]) + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BasicTexture.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BasicTexture.kt new file mode 100644 index 0000000..63e58e5 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BasicTexture.kt @@ -0,0 +1,194 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.util.Log +import jp.eita.canvasgl.textureFilter.BasicTextureFilter +import java.util.* + +// BasicTexture is a Texture corresponds to a real GL secondBitmap. +// The state of a BasicTexture indicates whether its data is loaded to GL memory. +// If a BasicTexture is loaded into GL memory, it has a GL secondBitmap id. +abstract class BasicTexture protected constructor(canvas: GLCanvas? = null, id: Int = 0, state: Int = STATE_UNLOADED) : Texture { + + var id = -1 + protected set + + protected var state: Int + + override var width = UNSPECIFIED + protected set + + override var height = UNSPECIFIED + protected set + + // Returns the width rounded to the next power of 2. + var textureWidth = 0 + protected set + + // Returns the height rounded to the next power of 2. + var textureHeight = 0 + protected set + + protected var canvasRef: GLCanvas? = null + + private var hasBorder1 = false + + var isRecycled = false + protected set + + init { + setAssociatedCanvas(canvas) + this.id = id + this.state = state + synchronized(ALL_TEXTURES) { ALL_TEXTURES.put(this, null) } + } + + protected fun setAssociatedCanvas(canvas: GLCanvas?) { + canvasRef = canvas + } + + /** + * Sets the content size of this secondBitmap. In OpenGL, the actual secondBitmap + * size must be of power of 2, the size of the content may be smaller. + */ + fun setSize(width: Int, height: Int) { + this.width = width + this.height = height + textureWidth = if (width > 0) GLCanvasUtils.nextPowerOf2(width) else 0 + textureHeight = if (height > 0) GLCanvasUtils.nextPowerOf2(height) else 0 + if (textureWidth > MAX_TEXTURE_SIZE || textureHeight > MAX_TEXTURE_SIZE) { + Log.w(TAG, String.format("secondBitmap is too large: %d x %d", + textureWidth, textureHeight), Exception()) + } + } + + open val isFlippedVertically: Boolean + get() = false + + // Returns true if the secondBitmap has one pixel transparent border around the + // actual content. This is used to avoid jigged edges. + // + // The jigged edges appear because we use GL_CLAMP_TO_EDGE for secondBitmap wrap + // mode (GL_CLAMP is not available in OpenGL ES), so a pixel partially + // covered by the secondBitmap will use the color of the edge texel. If we add + // the transparent border, the color of the edge texel will be mixed with + // appropriate amount of transparent. + // + // Currently our background is black, so we can draw the thumbnails without + // enabling blending. + fun hasBorder(): Boolean { + return hasBorder1 + } + + protected fun setBorder(hasBorder: Boolean) { + hasBorder1 = hasBorder + } + + override fun draw(canvas: GLCanvas?, x: Int, y: Int) { + canvas!!.drawTexture(this, x, y, width, height, BasicTextureFilter(), null) + } + + override fun draw(canvas: GLCanvas?, x: Int, y: Int, w: Int, h: Int) { + canvas!!.drawTexture(this, x, y, w, h, BasicTextureFilter(), null) + } + + // onBind is called before GLCanvas binds this secondBitmap. + // It should make sure the data is uploaded to GL memory. + abstract fun onBind(canvas: GLCanvas): Boolean + + // Returns the GL secondBitmap target for this secondBitmap (e.g. GL_TEXTURE_2D). + abstract val target: Int + + val isLoaded: Boolean + get() = state == STATE_LOADED + + // recycle() is called when the secondBitmap will never be used again, + // so it can free all resources. + open fun recycle() { + isRecycled = true + freeResource() + } + + // yield() is called when the secondBitmap will not be used temporarily, + // so it can free some resources. + // The default implementation unloads the secondBitmap from GL memory, so + // the subclass should make sure it can reload the secondBitmap to GL memory + // later, or it will have to override this method. + open fun yield() { + freeResource() + } + + private fun freeResource() { + val canvas = canvasRef + if (canvas != null && id != -1) { + canvas.unloadTexture(this) + id = -1 // Don't free it again. + } + state = STATE_UNLOADED + setAssociatedCanvas(null) + } + + protected fun finalize() { + IN_FINALIZER.set(BasicTexture::class) + recycle() + IN_FINALIZER.set(null) + } + + companion object { + + private val TAG = this::class.java.name + + const val UNSPECIFIED = -1 + + const val STATE_UNLOADED = 0 + + const val STATE_LOADED = 1 + + const val STATE_ERROR = -1 + + // Log a warning if a secondBitmap is larger along a dimension + private const val MAX_TEXTURE_SIZE = 4096 + + private val ALL_TEXTURES = WeakHashMap() + + private val IN_FINALIZER = ThreadLocal() + + // This is for deciding if we can call Bitmap's recycle(). + // We cannot call Bitmap's recycle() in finalizer because at that point + // the finalizer of Bitmap may already be called so recycle() will crash. + fun inFinalizer(): Boolean { + return IN_FINALIZER.get() != null + } + + fun yieldAllTextures() { + synchronized(ALL_TEXTURES) { + for (t in ALL_TEXTURES.keys) { + t.yield() + } + } + } + + fun invalidateAllTextures() { + synchronized(ALL_TEXTURES) { + for (t in ALL_TEXTURES.keys) { + t.state = STATE_UNLOADED + t.setAssociatedCanvas(null) + } + } + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BitmapTexture.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BitmapTexture.kt new file mode 100644 index 0000000..16c7df3 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/BitmapTexture.kt @@ -0,0 +1,38 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.Bitmap + +// BitmapTexture is a secondBitmap whose content is specified by a fixed Bitmap. +// +// The secondBitmap does not own the Bitmap. The user should make sure the Bitmap +// is valid during the secondBitmap's lifetime. When the secondBitmap is recycled, it +// does not free the Bitmap. +class BitmapTexture constructor(var bitmap: Bitmap, hasBorder: Boolean = false) : UploadedTexture(hasBorder) { + + override fun onFreeBitmap(bitmap: Bitmap?) { + // Do nothing. + } + + override fun onGetBitmap(): Bitmap? { + return bitmap + } + + override val isOpaque: Boolean + get() = false + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvas.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvas.kt new file mode 100644 index 0000000..e9601fc --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvas.kt @@ -0,0 +1,241 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.Bitmap +import android.graphics.Rect +import android.graphics.RectF +import jp.eita.canvasgl.shapeFilter.DrawShapeFilter +import jp.eita.canvasgl.textureFilter.TextureFilter +import java.nio.ByteBuffer +import java.nio.FloatBuffer + +// +// GLCanvas gives a convenient interface to draw using OpenGL. +// +// When a rectangle is specified in this interface, it means the region +// [x, x+width) * [y, y+height) +// +interface GLCanvas { + + val gLId: GLId? + + // Tells GLCanvas the size of the underlying GL surface. This should be + // called before first drawing and when the size of GL surface is changed. + // This is called by GLRoot and should not be called by the clients + // who only want to draw on the GLCanvas. Both width and height must be + // nonnegative. + fun setSize(width: Int, height: Int) + + // Clear the drawing buffers. + fun clearBuffer() + fun clearBuffer(argb: FloatArray?) + + // Sets and gets the current alpha, alpha must be in [0, 1]. + var alpha: Float + + // (current alpha) = (current alpha) * alpha + fun multiplyAlpha(alpha: Float) + + // Change the current transform matrix. + fun translate(x: Float, y: Float, z: Float) + + fun translate(x: Float, y: Float) + + fun scale(sx: Float, sy: Float, sz: Float) + + fun rotate(angle: Float, x: Float, y: Float, z: Float) + + fun multiplyMatrix(matrix: FloatArray?, offset: Int) + + // Pushes the configuration state (matrix, and alpha) onto + // a private stack. + fun save() + + // Same as save(), but only save those specified in saveFlags. + fun save(saveFlags: Int) + + // Pops from the top of the stack as current configuration state (matrix, + // alpha, and clip). This call balances a previous call to save(), and is + // used to remove all modifications to the configuration state since the + // last save call. + fun restore() + + fun drawCircle(x: Float, y: Float, radius: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) + + // Draws a line using the specified paint from (x1, y1) to (x2, y2). + // (Both end points are included). + fun drawLine(x1: Float, y1: Float, x2: Float, y2: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) + + // Draws a rectangle using the specified paint from (x1, y1) to (x2, y2). + // (Both end points are included). + fun drawRect(x1: Float, y1: Float, x2: Float, y2: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) + + // Fills the specified rectangle with the specified color. + fun fillRect(x: Float, y: Float, width: Float, height: Float, color: Int, drawShapeFilter: DrawShapeFilter?) + + // Draws a secondBitmap to the specified rectangle. + fun drawTexture( + texture: BasicTexture?, x: Int, y: Int, width: Int, height: Int, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) + + fun drawMesh(tex: BasicTexture?, x: Int, y: Int, xyBuffer: Int, + uvBuffer: Int, indexBuffer: Int, indexCount: Int, mode: Int) + + // Draws the source rectangle part of the secondBitmap to the target rectangle. + fun drawTexture(texture: BasicTexture?, source: RectF?, target: RectF?, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) + + // Draw a secondBitmap with a specified secondBitmap transform. + fun drawTexture(texture: BasicTexture?, textureTransform: FloatArray?, + x: Int, y: Int, w: Int, h: Int, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) + + // Draw two textures to the specified rectangle. The actual secondBitmap used is + // from * (1 - ratio) + to * ratio + // The two textures must have the same size. + fun drawMixed(from: BasicTexture?, toColor: Int, + ratio: Float, x: Int, y: Int, w: Int, h: Int, drawShapeFilter: DrawShapeFilter?) + + // Draw a region of a secondBitmap and a specified color to the specified + // rectangle. The actual color used is from * (1 - ratio) + to * ratio. + // The region of the secondBitmap is defined by parameter "src". The target + // rectangle is specified by parameter "target". + fun drawMixed(from: BasicTexture?, toColor: Int, + ratio: Float, src: RectF?, target: RectF?, drawShapeFilter: DrawShapeFilter?) + + // Unloads the specified secondBitmap from the canvas. The resource allocated + // to draw the secondBitmap will be released. The specified secondBitmap will return + // to the unloaded state. This function should be called only from + // BasicTexture or its descendant + fun unloadTexture(texture: BasicTexture?): Boolean + + // Delete the specified buffer object, similar to unloadTexture. + fun deleteBuffer(bufferId: Int) + + // Delete the textures and buffers in GL side. This function should only be + // called in the GL thread. + fun deleteRecycledResources() + + // Dump statistics information and clear the counters. For debug only. + fun dumpStatisticsAndClear() + + fun beginRenderTarget(texture: RawTexture?) + + fun endRenderTarget() + + /** + * Sets secondBitmap parameters to use GL_CLAMP_TO_EDGE for both + * GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T. Sets secondBitmap parameters to be + * GL_LINEAR for GL_TEXTURE_MIN_FILTER and GL_TEXTURE_MAG_FILTER. + * bindTexture() must be called prior to this. + * + * @param texture The secondBitmap to set parameters on. + */ + fun setTextureParameters(texture: BasicTexture?) + + /** + * Initializes the secondBitmap to a size by calling texImage2D on it. + * + * @param texture The secondBitmap to initialize the size. + * @param format The secondBitmap format (e.g. GL_RGBA) + * @param type The secondBitmap type (e.g. GL_UNSIGNED_BYTE) + */ + fun initializeTextureSize(texture: BasicTexture?, format: Int, type: Int) + + /** + * Initializes the secondBitmap to a size by calling texImage2D on it. + * + * @param texture The secondBitmap to initialize the size. + * @param bitmap The bitmap to initialize the bitmap with. + */ + fun initializeTexture(texture: BasicTexture?, bitmap: Bitmap?) + + /** + * Calls glTexSubImage2D to upload a bitmap to the secondBitmap. + * + * @param texture The target secondBitmap to write to. + * @param xOffset Specifies a texel offset in the x direction within the + * secondBitmap array. + * @param yOffset Specifies a texel offset in the y direction within the + * secondBitmap array. + * @param format The secondBitmap format (e.g. GL_RGBA) + * @param type The secondBitmap type (e.g. GL_UNSIGNED_BYTE) + */ + fun texSubImage2D(texture: BasicTexture?, xOffset: Int, yOffset: Int, + bitmap: Bitmap?, + format: Int, type: Int) + + /** + * Generates buffers and uploads the buffer data. + * + * @param buffer The buffer to upload + * @return The buffer ID that was generated. + */ + fun uploadBuffer(buffer: FloatBuffer?): Int + + /** + * Generates buffers and uploads the element array buffer data. + * + * @param buffer The buffer to upload + * @return The buffer ID that was generated. + */ + fun uploadBuffer(buffer: ByteBuffer?): Int + + /** + * After LightCycle makes GL calls, this method is called to restore the GL + * configuration to the one expected by GLCanvas. + */ + fun recoverFromLightCycle() + + /** + * Gets the bounds given by x, y, width, and height as well as the internal + * matrix state. There is no special handling for non-90-degree rotations. + * It only considers the lower-left and upper-right corners as the bounds. + * + * @param bounds The output bounds to write to. + * @param x The left side of the input rectangle. + * @param y The bottom of the input rectangle. + * @param width The width of the input rectangle. + * @param height The height of the input rectangle. + */ + fun getBounds(bounds: Rect?, x: Int, y: Int, width: Int, height: Int) + + fun setOnPreDrawTextureListener(l: OnPreDrawTextureListener?) + + fun setOnPreDrawShapeListener(l: OnPreDrawShapeListener?) + + interface OnPreDrawTextureListener { + + fun onPreDraw(textureProgram: Int, texture: BasicTexture?, textureFilter: TextureFilter?) + } + + interface OnPreDrawShapeListener { + + fun onPreDraw(program: Int, drawShapeFilter: DrawShapeFilter?) + } + + interface ICustomMVPMatrix { + + fun getMVPMatrix(viewportW: Int, viewportH: Int, x: Float, y: Float, drawW: Float, drawH: Float): FloatArray? + } + + companion object { + + const val SAVE_FLAG_ALL = -0x1 + + const val SAVE_FLAG_ALPHA = 0x01 + + const val SAVE_FLAG_MATRIX = 0x02 + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvasUtils.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvasUtils.kt new file mode 100644 index 0000000..8974ac1 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLCanvasUtils.kt @@ -0,0 +1,343 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.content.Context +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import android.database.Cursor +import android.os.Build +import android.os.ParcelFileDescriptor +import android.text.TextUtils +import android.util.Log +import java.io.Closeable +import java.io.IOException +import java.io.InterruptedIOException +import kotlin.math.min + +object GLCanvasUtils { + + private val TAG = this::class.simpleName + + private const val DEBUG_TAG = "GalleryDebug" + + private const val POLY64REV = -0x6a536cd653b4364bL + + private const val INITIALCRC = -0x1L + + private val IS_DEBUG_BUILD = Build.TYPE == "eng" || Build.TYPE == "userdebug" + + private const val MASK_STRING = "********************************" + + private val CRC_TABLE = LongArray(256) + + // Throws AssertionError if the input is false. + fun assertTrue(cond: Boolean) { + if (!cond) { + throw AssertionError() + } + } + + // Throws AssertionError with the message. We had a method having the form + // assertTrue(boolean cond, String message, Object ... args); + // However a call to that method will cause memory allocation even if the + // condition is false (due to autoboxing generated by "Object ... args"), + // so we don't use that anymore. + fun fail(message: String?, vararg args: Any?) { + throw AssertionError( + if (args.isEmpty()) message else String.format(message!!, *args)) + } + + // Throws NullPointerException if the input is null. + fun checkNotNull(`object`: T?): T { + if (`object` == null) throw NullPointerException() + return `object` + } + + // Returns true if two input Object are both null or equal + // to each other. + fun equals(a: Any?, b: Any?): Boolean { + return a == b + } + + // Returns the next power of two. + // Returns the input if it is already power of 2. + // Throws IllegalArgumentException if the input is <= 0 or + // the answer overflows. + fun nextPowerOf2(n: Int): Int { + var result = n + require(!(result <= 0 || result > 1 shl 30)) { "n is invalid: $result" } + result -= 1 + result = result or (result shr 16) + result = result or (result shr 8) + result = result or (result shr 4) + result = result or (result shr 2) + result = result or (result shr 1) + + return result + 1 + } + + // Returns the previous power of two. + // Returns the input if it is already power of 2. + // Throws IllegalArgumentException if the input is <= 0 + fun prevPowerOf2(n: Int): Int { + require(n > 0) + return Integer.highestOneBit(n) + } + + // Returns the input value x clamped to the range [min, max]. + fun clamp(x: Int, min: Int, max: Int): Int { + if (x > max) return max + return if (x < min) min else x + } + + // Returns the input value x clamped to the range [min, max]. + fun clamp(x: Float, min: Float, max: Float): Float { + if (x > max) return max + return if (x < min) min else x + } + + // Returns the input value x clamped to the range [min, max]. + fun clamp(x: Long, min: Long, max: Long): Long { + if (x > max) return max + return if (x < min) min else x + } + + fun isOpaque(color: Int): Boolean { + return color ushr 24 == 0xFF + } + + fun swap(array: IntArray, i: Int, j: Int) { + val temp = array[i] + array[i] = array[j] + array[j] = temp + } + + /** + * A function thats returns a 64-bit crc for string + * + * @param in input string + * @return a 64-bit crc value + */ + fun crc64Long(`in`: String?): Long { + return if (`in` == null || `in`.isEmpty()) { + 0 + } else crc64Long(getBytes(`in`)) + } + + fun crc64Long(buffer: ByteArray): Long { + var crc = INITIALCRC + for (b in buffer) { + crc = CRC_TABLE[crc.toInt() xor b.toInt() and 0xff] xor (crc shr 8) + } + return crc + } + + fun getBytes(`in`: String): ByteArray { + val result = ByteArray(`in`.length * 2) + var output = 0 + for (ch in `in`.toCharArray()) { + result[output++] = (ch.toInt() and 0xFF).toByte() + result[output++] = (ch.toInt() shr 8).toByte() + } + return result + } + + fun closeSilently(c: Closeable?) { + if (c == null) return + try { + c.close() + } catch (t: IOException) { + Log.w(TAG, "close fail ", t) + } + } + + fun compare(a: Long, b: Long): Int { + return a.compareTo(b) + } + + fun ceilLog2(value: Float): Int { + var i = 0 + while (i < 31) { + if (1 shl i >= value) break + i++ + } + return i + } + + fun floorLog2(value: Float): Int { + var i: Int = 0 + while (i < 31) { + if (1 shl i > value) break + i++ + } + return i - 1 + } + + fun closeSilently(fd: ParcelFileDescriptor?) { + try { + fd?.close() + } catch (t: Throwable) { + Log.w(TAG, "fail to close", t) + } + } + + fun closeSilently(cursor: Cursor?) { + try { + cursor?.close() + } catch (t: Throwable) { + Log.w(TAG, "fail to close", t) + } + } + + fun interpolateAngle( + source: Float, target: Float, progress: Float): Float { + // interpolate the angle from source to target + // We make the difference in the range of [-179, 180], this is the + // shortest path to change source to target. + var diff = target - source + if (diff < 0) diff += 360f + if (diff > 180) diff -= 360f + val result = source + diff * progress + return if (result < 0) result + 360f else result + } + + fun interpolateScale( + source: Float, target: Float, progress: Float): Float { + return source + progress * (target - source) + } + + fun ensureNotNull(value: String?): String { + return value ?: "" + } + + fun parseFloatSafely(content: String?, defaultValue: Float): Float { + return if (content == null) defaultValue else try { + content.toFloat() + } catch (e: NumberFormatException) { + defaultValue + } + } + + fun parseIntSafely(content: String?, defaultValue: Int): Int { + return if (content == null) defaultValue else try { + content.toInt() + } catch (e: NumberFormatException) { + defaultValue + } + } + + fun isNullOrEmpty(exifMake: String?): Boolean { + return TextUtils.isEmpty(exifMake) + } + + fun waitWithoutInterrupt(`object`: Object) { + try { + `object`.wait() + } catch (e: InterruptedException) { + Log.w(TAG, "unexpected interrupt: $`object`") + } + } + + fun handleInterrruptedException(e: Throwable?): Boolean { + // A helper to deal with the interrupt exception + // If an interrupt detected, we will setup the bit again. + if (e is InterruptedIOException + || e is InterruptedException) { + Thread.currentThread().interrupt() + return true + } + return false + } + + /** + * @return String with special XML characters escaped. + */ + fun escapeXml(s: String): String { + val sb = StringBuilder() + var i = 0 + val len = s.length + while (i < len) { + when (val c = s[i]) { + '<' -> sb.append("<") + '>' -> sb.append(">") + '\"' -> sb.append(""") + '\'' -> sb.append("'") + '&' -> sb.append("&") + else -> sb.append(c) + } + ++i + } + return sb.toString() + } + + fun getUserAgent(context: Context): String { + val packageInfo: PackageInfo + packageInfo = try { + context.packageManager.getPackageInfo(context.packageName, 0) + } catch (e: PackageManager.NameNotFoundException) { + throw IllegalStateException("getPackageInfo failed") + } + return String.format("%s/%s; %s/%s/%s/%s; %s/%s/%s", + packageInfo.packageName, + packageInfo.versionName, + Build.BRAND, + Build.DEVICE, + Build.MODEL, + Build.ID, + Build.VERSION.SDK_INT, + Build.VERSION.RELEASE, + Build.VERSION.INCREMENTAL) + } + + fun copyOf(source: Array, newSize: Int): Array { + var newSizeEdited = newSize + val result = arrayOfNulls(newSizeEdited) + newSizeEdited = min(source.size, newSizeEdited) + System.arraycopy(source, 0, result, 0, newSizeEdited) + + return result + } + + // Mask information for debugging only. It returns info.toString() directly + // for debugging build (i.e., 'eng' and 'userdebug') and returns a mask ("****") + // in release build to protect the information (e.g. for privacy issue). + fun maskDebugInfo(info: Any?): String? { + if (info == null) return null + val s = info.toString() + val length = min(s.length, MASK_STRING.length) + return if (IS_DEBUG_BUILD) s else MASK_STRING.substring(0, length) + } + + // This method should be ONLY used for debugging. + fun debug(message: String?, vararg args: Any?) { + Log.v(DEBUG_TAG, String.format(message!!, *args)) + } + + init { + // http://bioinf.cs.ucl.ac.uk/downloads/crc64/crc64.c + var part: Long + + for (i in 0..255) { + part = i.toLong() + for (j in 0..7) { + val x = if (part.toInt() and 1 != 0) POLY64REV else 0 + part = part.shr(1) xor x + } + CRC_TABLE[i] = part + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20Canvas.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20Canvas.kt new file mode 100644 index 0000000..9ff333d --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20Canvas.kt @@ -0,0 +1,1005 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.Bitmap +import android.graphics.Rect +import android.graphics.RectF +import android.opengl.GLES11Ext +import android.opengl.GLES20 +import android.opengl.GLUtils +import android.opengl.Matrix +import android.util.Log +import jp.eita.canvasgl.glcanvas.GLCanvas.* +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.convertCoordinate +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.copyTextureCoordinates +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.setTextureMatrix +import jp.eita.canvasgl.shapeFilter.BasicDrawShapeFilter +import jp.eita.canvasgl.shapeFilter.DrawShapeFilter +import jp.eita.canvasgl.textureFilter.BasicTextureFilter +import jp.eita.canvasgl.textureFilter.TextureFilter +import jp.eita.canvasgl.util.Loggers +import java.nio.Buffer +import java.nio.ByteBuffer +import java.nio.ByteOrder +import java.nio.FloatBuffer +import java.util.* +import kotlin.math.max +import kotlin.math.min +import kotlin.math.roundToInt + +/** + * drawRect, drawLine, drawCircle --> prepareDraw --> [GLES20Canvas.draw] + * drawTexture --> setupTextureFilter --> drawTextureRect --> prepareTexture + * --> setPosition --> draw --> setMatrix + */ +class GLES20Canvas : GLCanvas { + + private val mUnboundTextures = IntArrayCustom() + + private val mDeleteBuffers = IntArrayCustom() + + // Temporary variables used within calculations + private val mTempMatrix = FloatArray(32) + + private val mTempColor = FloatArray(4) + + private val mTempSourceRect = RectF() + + private val mTempTargetRect = RectF() + + private val mTempTextureMatrix = FloatArray(MATRIX_SIZE) + + private val mTempIntArray = IntArray(1) + + private var mDrawParameters = arrayOf( + AttributeShaderParameter(POSITION_ATTRIBUTE), // INDEX_POSITION + UniformShaderParameter(MATRIX_UNIFORM), // INDEX_MATRIX + UniformShaderParameter(COLOR_UNIFORM)) + + private var mTextureParameters = arrayOf( + AttributeShaderParameter(POSITION_ATTRIBUTE), // INDEX_POSITION + UniformShaderParameter(MATRIX_UNIFORM), // INDEX_MATRIX + UniformShaderParameter(TEXTURE_MATRIX_UNIFORM), // INDEX_TEXTURE_MATRIX + UniformShaderParameter(TEXTURE_SAMPLER_UNIFORM), // INDEX_TEXTURE_SAMPLER + UniformShaderParameter(ALPHA_UNIFORM)) + + private var mOesTextureParameters = arrayOf( + AttributeShaderParameter(POSITION_ATTRIBUTE), // INDEX_POSITION + UniformShaderParameter(MATRIX_UNIFORM), // INDEX_MATRIX + UniformShaderParameter(TEXTURE_MATRIX_UNIFORM), // INDEX_TEXTURE_MATRIX + UniformShaderParameter(TEXTURE_SAMPLER_UNIFORM), // INDEX_TEXTURE_SAMPLER + UniformShaderParameter(ALPHA_UNIFORM)) + + private var mMeshParameters = arrayOf( + AttributeShaderParameter(POSITION_ATTRIBUTE), // INDEX_POSITION + UniformShaderParameter(MATRIX_UNIFORM), // INDEX_MATRIX + AttributeShaderParameter(TEXTURE_COORD_ATTRIBUTE), // INDEX_TEXTURE_COORD + UniformShaderParameter(TEXTURE_SAMPLER_UNIFORM), // INDEX_TEXTURE_SAMPLER + UniformShaderParameter(ALPHA_UNIFORM)) + + private val mDrawShapeFilterMapProgramId: MutableMap = HashMap() + + private val mTextureFilterMapProgramId: MutableMap = HashMap() + + private val mOESTextureFilterMapProgramId: MutableMap = HashMap() + + // Keep track of restore state + private var mMatrices = FloatArray(INITIAL_RESTORE_STATE_SIZE * MATRIX_SIZE) + + private var mAlphas = FloatArray(INITIAL_RESTORE_STATE_SIZE) + + private val mSaveFlags = IntArrayCustom() + + private var mCurrentAlphaIndex = 0 + + private var mCurrentMatrixIndex = 0 + + // Viewport size + private var mWidth = 0 + + private var mHeight = 0 + + // Projection matrix + private val mProjectionMatrix = FloatArray(MATRIX_SIZE) + + // Screen size for when we aren't bound to a secondBitmap + private var mScreenWidth = 0 + + private var mScreenHeight = 0 + + // GL programs + private var mDrawProgram: Int + + private var mTextureProgram = 0 + + private var mOesTextureProgram = 0 + + private var mMeshProgram = 0 + + // GL buffer containing BOX_COORDINATES + private val mBoxCoordinates: Int + + private var mTextureFilter: TextureFilter? = null + + private var mDrawShapeFilter: DrawShapeFilter? = null + + private var onPreDrawTextureListener: OnPreDrawTextureListener? = null + + private var onPreDrawShapeListener: OnPreDrawShapeListener? = null + + // Keep track of statistics for debugging + private var mCountDrawMesh = 0 + + private var countTextureRect = 0 + + private var mCountFillRect = 0 + + private var mCountDrawLine = 0 + + // Buffer for framebuffer IDs -- we keep track so we can switch the attached + // secondBitmap. + private val mFrameBuffer = IntArray(1) + + // Bound textures. + private val mTargetTextures = ArrayList() + + override val gLId: GLId? = GLES20IdImpl() + + init { + Matrix.setIdentityM(mTempTextureMatrix, 0) + Matrix.setIdentityM(mMatrices, mCurrentMatrixIndex) + mAlphas[mCurrentAlphaIndex] = 1f + mTargetTextures.add(null) + val boxBuffer = createBuffer(BOX_COORDINATES) + mBoxCoordinates = uploadBuffer(boxBuffer) + mDrawProgram = assembleProgram(loadShader(GLES20.GL_VERTEX_SHADER, BasicDrawShapeFilter.DRAW_VERTEX_SHADER), loadShader(GLES20.GL_FRAGMENT_SHADER, BasicDrawShapeFilter.DRAW_FRAGMENT_SHADER), mDrawParameters, mTempIntArray) + val textureFragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, BasicTextureFilter.TEXTURE_FRAGMENT_SHADER) + val meshVertexShader = loadShader(GLES20.GL_VERTEX_SHADER, MESH_VERTEX_SHADER) + setupMeshProgram(meshVertexShader, textureFragmentShader) + GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA) + checkError() + } + + private fun setupMeshProgram(meshVertexShader: Int, textureFragmentShader: Int) { + mMeshProgram = assembleProgram(meshVertexShader, textureFragmentShader, mMeshParameters, mTempIntArray) + } + + override fun setSize(width: Int, height: Int) { + mWidth = width + mHeight = height + checkError() + Matrix.setIdentityM(mMatrices, mCurrentMatrixIndex) + Matrix.orthoM(mProjectionMatrix, 0, 0f, width.toFloat(), 0f, height.toFloat(), -1f, 1f) + if (targetTexture == null) { + mScreenWidth = width + mScreenHeight = height + Matrix.translateM(mMatrices, mCurrentMatrixIndex, 0f, height.toFloat(), 0f) + Matrix.scaleM(mMatrices, mCurrentMatrixIndex, 1f, -1f, 1f) + } + } + + override fun clearBuffer() { + GLES20.glClearColor(0f, 0f, 0f, 0f) + checkError() + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT) + checkError() + } + + override fun clearBuffer(argb: FloatArray?) { + GLES20.glClearColor(argb!![1], argb[2], argb[3], argb[0]) + checkError() + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT) + checkError() + } + + override var alpha: Float + get() = mAlphas[mCurrentAlphaIndex] + set(alpha) { + mAlphas[mCurrentAlphaIndex] = alpha + } + + override fun multiplyAlpha(alpha: Float) { + this.alpha = alpha * alpha + } + + override fun translate(x: Float, y: Float, z: Float) { + Matrix.translateM(mMatrices, mCurrentMatrixIndex, x, y, z) + } + + // This is a faster version of translate(x, y, z) because + // (1) we knows z = 0, (2) we inline the Matrix.translateM call, + // (3) we unroll the loop + override fun translate(x: Float, y: Float) { + val index = mCurrentMatrixIndex + val m = mMatrices + m[index + 12] += m[index] * x + m[index + 4] * y + m[index + 13] += m[index + 1] * x + m[index + 5] * y + m[index + 14] += m[index + 2] * x + m[index + 6] * y + m[index + 15] += m[index + 3] * x + m[index + 7] * y + } + + override fun scale(sx: Float, sy: Float, sz: Float) { + Matrix.scaleM(mMatrices, mCurrentMatrixIndex, sx, sy, sz) + } + + override fun rotate(angle: Float, x: Float, y: Float, z: Float) { + if (angle == 0.0f) { + return + } + + val temp = mTempMatrix + Matrix.setRotateM(temp, 0, angle, x, y, z) + val matrix = mMatrices + val index = mCurrentMatrixIndex + Matrix.multiplyMM(temp, MATRIX_SIZE, matrix, index, temp, 0) + System.arraycopy(temp, MATRIX_SIZE, matrix, index, MATRIX_SIZE) + } + + override fun multiplyMatrix(matrix: FloatArray?, offset: Int) { + val temp = mTempMatrix + val currentMatrix = mMatrices + val index = mCurrentMatrixIndex + Matrix.multiplyMM(temp, 0, currentMatrix, index, matrix, offset) + System.arraycopy(temp, 0, currentMatrix, index, 16) + } + + override fun save() { + save(GLCanvas.SAVE_FLAG_ALL) + } + + override fun save(saveFlags: Int) { + val saveAlpha = saveFlags and GLCanvas.SAVE_FLAG_ALPHA == GLCanvas.SAVE_FLAG_ALPHA + if (saveAlpha) { + val currentAlpha = alpha + mCurrentAlphaIndex++ + if (mAlphas.size <= mCurrentAlphaIndex) { + mAlphas = mAlphas.copyOf(mAlphas.size * 2) + } + mAlphas[mCurrentAlphaIndex] = currentAlpha + } + val saveMatrix = saveFlags and GLCanvas.SAVE_FLAG_MATRIX == GLCanvas.SAVE_FLAG_MATRIX + if (saveMatrix) { + val currentIndex = mCurrentMatrixIndex + mCurrentMatrixIndex += MATRIX_SIZE + if (mMatrices.size <= mCurrentMatrixIndex) { + mMatrices = mMatrices.copyOf(mMatrices.size * 2) + } + System.arraycopy(mMatrices, currentIndex, mMatrices, mCurrentMatrixIndex, MATRIX_SIZE) + } + mSaveFlags.add(saveFlags) + } + + override fun restore() { + val restoreFlags = mSaveFlags.removeLast() + val restoreAlpha = restoreFlags and GLCanvas.SAVE_FLAG_ALPHA == GLCanvas.SAVE_FLAG_ALPHA + if (restoreAlpha) { + mCurrentAlphaIndex-- + } + val restoreMatrix = restoreFlags and GLCanvas.SAVE_FLAG_MATRIX == GLCanvas.SAVE_FLAG_MATRIX + if (restoreMatrix) { + mCurrentMatrixIndex -= MATRIX_SIZE + } + } + + override fun drawCircle(x: Float, y: Float, radius: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) { + setupDrawShapeFilter(drawShapeFilter) + draw(GLES20.GL_TRIANGLE_STRIP, OFFSET_FILL_RECT, COUNT_FILL_VERTEX, x, y, 2 * radius, 2 * radius, paint!!.color, 0f) + } + + override fun drawLine(x1: Float, y1: Float, x2: Float, y2: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) { + setupDrawShapeFilter(drawShapeFilter) + draw(GLES20.GL_LINE_STRIP, OFFSET_DRAW_LINE, COUNT_LINE_VERTEX, x1, y1, x2 - x1, y2 - y1, + paint) + mCountDrawLine++ + } + + override fun drawRect(x: Float, y: Float, width: Float, height: Float, paint: GLPaint?, drawShapeFilter: DrawShapeFilter?) { + setupDrawShapeFilter(drawShapeFilter) + draw(GLES20.GL_LINE_LOOP, OFFSET_DRAW_RECT, COUNT_RECT_VERTEX, x, y, width, height, paint) + mCountDrawLine++ + } + + private fun draw(type: Int, offset: Int, count: Int, x: Float, y: Float, width: Float, height: Float, + paint: GLPaint?) { + draw(type, offset, count, x, y, width, height, paint!!.color, paint.lineWidth) + } + + private fun draw(type: Int, offset: Int, count: Int, x: Float, y: Float, width: Float, height: Float, + color: Int, lineWidth: Float) { + prepareDraw(offset, color, lineWidth) + if (onPreDrawShapeListener != null) { + onPreDrawShapeListener!!.onPreDraw(mDrawProgram, mDrawShapeFilter) + } + draw(mDrawParameters, type, count, x, y, width, height, null) + } + + private fun prepareDraw(offset: Int, color: Int, lineWidth: Float) { + GLES20.glUseProgram(mDrawProgram) + checkError() + if (lineWidth > 0) { + GLES20.glLineWidth(lineWidth) + checkError() + } + val colorArray = getColor(color) + enableBlending(true) + GLES20.glBlendColor(colorArray[0], colorArray[1], colorArray[2], colorArray[3]) + checkError() + GLES20.glUniform4fv(mDrawParameters[INDEX_COLOR].handle, 1, colorArray, 0) + setPosition(mDrawParameters, offset) + checkError() + } + + private fun getColor(color: Int): FloatArray { + val alpha = (color ushr 24 and 0xFF) / 255f * alpha + val red = (color ushr 16 and 0xFF) / 255f * alpha + val green = (color ushr 8 and 0xFF) / 255f * alpha + val blue = (color and 0xFF) / 255f * alpha + mTempColor[0] = red + mTempColor[1] = green + mTempColor[2] = blue + mTempColor[3] = alpha + return mTempColor + } + + private fun setPosition(params: Array, offset: Int) { + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, mBoxCoordinates) + checkError() + GLES20.glVertexAttribPointer(params[INDEX_POSITION].handle, COORDS_PER_VERTEX, + GLES20.GL_FLOAT, false, VERTEX_STRIDE, offset * VERTEX_STRIDE) + checkError() + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, 0) + checkError() + } + + private fun draw(params: Array, type: Int, count: Int, x: Float, y: Float, width: Float, + height: Float, customMVPMatrix: ICustomMVPMatrix?) { + setMatrix(params, x, y, width, height, customMVPMatrix) + val positionHandle = params[INDEX_POSITION].handle + GLES20.glEnableVertexAttribArray(positionHandle) + checkError() + GLES20.glDrawArrays(type, 0, count) + checkError() + GLES20.glDisableVertexAttribArray(positionHandle) + checkError() + } + + private fun setMatrix(params: Array, x: Float, y: Float, width: Float, height: Float, customMVPMatrix: ICustomMVPMatrix?) { + if (customMVPMatrix != null) { + GLES20.glUniformMatrix4fv(params[INDEX_MATRIX].handle, 1, false, customMVPMatrix.getMVPMatrix(mScreenWidth, mScreenHeight, x, y, width, height), 0) + checkError() + return + } + GLES20.glViewport(0, 0, mScreenWidth, mScreenHeight) + Matrix.translateM(mTempMatrix, 0, mMatrices, mCurrentMatrixIndex, x, y, 0f) + Matrix.scaleM(mTempMatrix, 0, width, height, 1f) + Matrix.multiplyMM(mTempMatrix, MATRIX_SIZE, mProjectionMatrix, 0, mTempMatrix, 0) + printMatrix("translate matrix:", mTempMatrix, MATRIX_SIZE) + GLES20.glUniformMatrix4fv(params[INDEX_MATRIX].handle, 1, false, mTempMatrix, MATRIX_SIZE) + checkError() + } + + override fun fillRect(x: Float, y: Float, width: Float, height: Float, color: Int, drawShapeFilter: DrawShapeFilter?) { + setupDrawShapeFilter(drawShapeFilter) + draw(GLES20.GL_TRIANGLE_STRIP, OFFSET_FILL_RECT, COUNT_FILL_VERTEX, x, y, width, height, + color, 0f) + mCountFillRect++ + } + + override fun drawTexture(texture: BasicTexture?, x: Int, y: Int, width: Int, height: Int, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) { + if (width <= 0 || height <= 0) { + return + } + setupTextureFilter(texture!!.target, textureFilter) + copyTextureCoordinates(texture, mTempSourceRect) + mTempTargetRect[x.toFloat(), y.toFloat(), x + width.toFloat()] = y + height.toFloat() + convertCoordinate(mTempSourceRect, texture) + changeTargetIfNeeded(mTempSourceRect, mTempTargetRect, texture) + drawTextureRect(texture, mTempSourceRect, mTempTargetRect, customMVPMatrix) + } + + override fun drawTexture(texture: BasicTexture?, source: RectF?, target: RectF?, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) { + if (target!!.width() <= 0 || target.height() <= 0) { + return + } + setupTextureFilter(texture!!.target, textureFilter) + mTempSourceRect.set(source!!) + mTempTargetRect.set(target) + convertCoordinate(mTempSourceRect, texture) + changeTargetIfNeeded(mTempSourceRect, mTempTargetRect, texture) + drawTextureRect(texture, mTempSourceRect, mTempTargetRect, customMVPMatrix) + } + + override fun drawTexture(texture: BasicTexture?, textureTransform: FloatArray?, x: Int, y: Int, w: Int, + h: Int, textureFilter: TextureFilter?, customMVPMatrix: ICustomMVPMatrix?) { + if (w <= 0 || h <= 0) { + return + } + setupTextureFilter(texture!!.target, textureFilter) + mTempTargetRect[x.toFloat(), y.toFloat(), x + w.toFloat()] = y + h.toFloat() + drawTextureRect(texture, textureTransform, mTempTargetRect, customMVPMatrix) + } + + private fun drawTextureRect(texture: BasicTexture?, source: RectF, target: RectF, customMVPMatrix: ICustomMVPMatrix?) { + setTextureMatrix(source, mTempTextureMatrix) + drawTextureRect(texture, mTempTextureMatrix, target, customMVPMatrix) + } + + private fun drawTextureRect(texture: BasicTexture?, textureMatrix: FloatArray?, target: RectF, customMVPMatrix: ICustomMVPMatrix?) { + val params = prepareTexture(texture) + setPosition(params, OFFSET_FILL_RECT) + // printMatrix("texture matrix", textureMatrix, 0); + GLES20.glUniformMatrix4fv(params[INDEX_TEXTURE_MATRIX].handle, 1, false, textureMatrix, 0) + if (onPreDrawTextureListener != null) { + onPreDrawTextureListener!!.onPreDraw(if (texture!!.target == GLES20.GL_TEXTURE_2D) mTextureProgram else mOesTextureProgram, texture, mTextureFilter) + } + checkError() + if (texture!!.isFlippedVertically) { + save(GLCanvas.SAVE_FLAG_MATRIX) + translate(0f, target.centerY()) + scale(1f, -1f, 1f) + translate(0f, -target.centerY()) + } + draw(params, GLES20.GL_TRIANGLE_STRIP, COUNT_FILL_VERTEX, target.left, target.top, + target.width(), target.height(), customMVPMatrix) + if (texture.isFlippedVertically) { + restore() + } + countTextureRect++ + } + + private fun prepareTexture(texture: BasicTexture?): Array { + val params: Array + val program: Int + if (texture!!.target == GLES20.GL_TEXTURE_2D) { + params = mTextureParameters + program = mTextureProgram + } else { + params = mOesTextureParameters + program = mOesTextureProgram + } + prepareTexture(texture, program, params) + return params + } + + private fun prepareTexture(texture: BasicTexture?, program: Int, params: Array) { + GLES20.glUseProgram(program) + checkError() + enableBlending(!texture!!.isOpaque || alpha < OPAQUE_ALPHA) + GLES20.glActiveTexture(GLES20.GL_TEXTURE0) + checkError() + texture.onBind(this) + GLES20.glBindTexture(texture.target, texture.id) + checkError() + GLES20.glUniform1i(params[INDEX_TEXTURE_SAMPLER].handle, 0) + checkError() + GLES20.glUniform1f(params[INDEX_ALPHA].handle, alpha) + checkError() + } + + override fun drawMesh(texture: BasicTexture?, x: Int, y: Int, xyBuffer: Int, uvBuffer: Int, + indexBuffer: Int, indexCount: Int, mode: Int) { + prepareTexture(texture, mMeshProgram, mMeshParameters) + GLES20.glBindBuffer(GLES20.GL_ELEMENT_ARRAY_BUFFER, indexBuffer) + checkError() + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, xyBuffer) + checkError() + val positionHandle = mMeshParameters[INDEX_POSITION].handle + GLES20.glVertexAttribPointer(positionHandle, COORDS_PER_VERTEX, GLES20.GL_FLOAT, false, + VERTEX_STRIDE, 0) + checkError() + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, uvBuffer) + checkError() + val texCoordHandle = mMeshParameters[INDEX_TEXTURE_COORD].handle + GLES20.glVertexAttribPointer(texCoordHandle, COORDS_PER_VERTEX, GLES20.GL_FLOAT, + false, VERTEX_STRIDE, 0) + checkError() + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, 0) + checkError() + GLES20.glEnableVertexAttribArray(positionHandle) + checkError() + GLES20.glEnableVertexAttribArray(texCoordHandle) + checkError() + setMatrix(mMeshParameters, x.toFloat(), y.toFloat(), 1f, 1f, null) + GLES20.glDrawElements(mode, indexCount, GLES20.GL_UNSIGNED_BYTE, 0) + checkError() + GLES20.glDisableVertexAttribArray(positionHandle) + checkError() + GLES20.glDisableVertexAttribArray(texCoordHandle) + checkError() + GLES20.glBindBuffer(GLES20.GL_ELEMENT_ARRAY_BUFFER, 0) + checkError() + mCountDrawMesh++ + } + + override fun drawMixed(texture: BasicTexture?, toColor: Int, ratio: Float, x: Int, y: Int, w: Int, h: Int, drawShapeFilter: DrawShapeFilter?) { + copyTextureCoordinates(texture!!, mTempSourceRect) + mTempTargetRect[x.toFloat(), y.toFloat(), x + w.toFloat()] = y + h.toFloat() + drawMixed(texture, toColor, ratio, mTempSourceRect, mTempTargetRect, drawShapeFilter) + } + + override fun drawMixed(texture: BasicTexture?, toColor: Int, ratio: Float, source: RectF?, target: RectF?, drawShapeFilter: DrawShapeFilter?) { + if (target!!.width() <= 0 || target.height() <= 0) { + return + } + save(GLCanvas.SAVE_FLAG_ALPHA) + val currentAlpha = alpha + val cappedRatio = min(1f, max(0f, ratio)) + val textureAlpha = (1f - cappedRatio) * currentAlpha + alpha = textureAlpha + drawTexture(texture, source, target, BasicTextureFilter(), null) + val colorAlpha = cappedRatio * currentAlpha + alpha = colorAlpha + fillRect(target.left, target.top, target.width(), target.height(), toColor, drawShapeFilter) + restore() + } + + override fun unloadTexture(texture: BasicTexture?): Boolean { + val unload = texture!!.isLoaded + if (unload) { + synchronized(mUnboundTextures) { mUnboundTextures.add(texture.id) } + } + return unload + } + + override fun deleteBuffer(bufferId: Int) { + synchronized(mUnboundTextures) { mDeleteBuffers.add(bufferId) } + } + + override fun deleteRecycledResources() { + synchronized(mUnboundTextures) { + var ids = mUnboundTextures + if (mUnboundTextures.size() > 0) { + gLId!!.glDeleteTextures(ids.size(), ids.internalArray, 0) + ids.clear() + } + ids = mDeleteBuffers + if (ids.size() > 0) { + gLId!!.glDeleteBuffers(ids.size(), ids.internalArray, 0) + ids.clear() + } + } + } + + override fun dumpStatisticsAndClear() { + val line = String.format("MESH:%d, TEX_RECT:%d, FILL_RECT:%d, LINE:%d", mCountDrawMesh, + countTextureRect, mCountFillRect, mCountDrawLine) + mCountDrawMesh = 0 + countTextureRect = 0 + mCountFillRect = 0 + mCountDrawLine = 0 + Log.d(TAG, line) + } + + override fun endRenderTarget() { + val oldTexture = mTargetTextures.removeAt(mTargetTextures.size - 1) + val texture = targetTexture + setRenderTarget(oldTexture, texture) + restore() // restore matrix and alpha + } + + override fun beginRenderTarget(texture: RawTexture?) { + save() // save matrix and alpha and blending + val oldTexture = targetTexture + mTargetTextures.add(texture) + setRenderTarget(oldTexture, texture) + } + + private val targetTexture: RawTexture? + get() = mTargetTextures[mTargetTextures.size - 1] + + private fun setRenderTarget(oldTexture: BasicTexture?, texture: RawTexture?) { + if (oldTexture == null && texture != null) { + if (texture.target == GLES20.GL_TEXTURE_2D) { + GLES20.glGenFramebuffers(1, mFrameBuffer, 0) + checkError() + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, mFrameBuffer[0]) + checkError() + } else { + GLES11Ext.glGenFramebuffersOES(1, mFrameBuffer, 0) + checkError() + GLES11Ext.glBindFramebufferOES(GLES11Ext.GL_FRAMEBUFFER_OES, mFrameBuffer[0]) + checkError() + } + } else if (oldTexture != null && texture == null) { + if (oldTexture.target == GLES20.GL_TEXTURE_2D) { + GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0) + checkError() + GLES20.glDeleteFramebuffers(1, mFrameBuffer, 0) + checkError() + } else { + GLES11Ext.glBindFramebufferOES(GLES11Ext.GL_FRAMEBUFFER_OES, 0) + checkError() + GLES11Ext.glDeleteFramebuffersOES(1, mFrameBuffer, 0) + checkError() + } + } + if (texture == null) { + setSize(mScreenWidth, mScreenHeight) + } else { + setSize(texture.width, texture.height) + if (!texture.isLoaded) { + texture.prepare(this) + } + if (texture.target == GLES20.GL_TEXTURE_2D) { + GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, + texture.target, texture.id, 0) + checkError() + checkFramebufferStatus() + } else { + GLES11Ext.glFramebufferTexture2DOES(GLES11Ext.GL_FRAMEBUFFER_OES, GLES11Ext.GL_COLOR_ATTACHMENT0_OES, + texture.target, texture.id, 0) + checkError() + checkFramebufferStatusOes() + } + } + } + + override fun setTextureParameters(texture: BasicTexture?) { + val target = texture!!.target + GLES20.glBindTexture(target, texture.id) + checkError() + GLES20.glTexParameteri(target, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE) + GLES20.glTexParameteri(target, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE) + GLES20.glTexParameterf(target, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR.toFloat()) + GLES20.glTexParameterf(target, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR.toFloat()) + } + + override fun initializeTextureSize(texture: BasicTexture?, format: Int, type: Int) { + val target = texture!!.target + GLES20.glBindTexture(target, texture.id) + checkError() + val width = texture.textureWidth + val height = texture.textureHeight + GLES20.glTexImage2D(target, 0, format, width, height, 0, format, type, null) + } + + override fun initializeTexture(texture: BasicTexture?, bitmap: Bitmap?) { + val target = texture!!.target + GLES20.glBindTexture(target, texture.id) + checkError() + GLUtils.texImage2D(target, 0, bitmap, 0) + } + + override fun texSubImage2D(texture: BasicTexture?, xOffset: Int, yOffset: Int, bitmap: Bitmap?, + format: Int, type: Int) { + val target = texture!!.target + GLES20.glBindTexture(target, texture.id) + checkError() + GLUtils.texSubImage2D(target, 0, xOffset, yOffset, bitmap, format, type) + } + + override fun uploadBuffer(buffer: FloatBuffer?): Int { + return uploadBuffer(buffer, FLOAT_SIZE) + } + + override fun uploadBuffer(buffer: ByteBuffer?): Int { + return uploadBuffer(buffer, 1) + } + + private fun uploadBuffer(buffer: Buffer?, elementSize: Int): Int { + gLId!!.glGenBuffers(1, mTempIntArray, 0) + checkError() + val bufferId = mTempIntArray[0] + GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, bufferId) + checkError() + GLES20.glBufferData(GLES20.GL_ARRAY_BUFFER, buffer!!.capacity() * elementSize, buffer, + GLES20.GL_STATIC_DRAW) + checkError() + return bufferId + } + + override fun recoverFromLightCycle() { +// GLES20.glViewport(0, 0, mWidth, mHeight); + GLES20.glDisable(GLES20.GL_DEPTH_TEST) + GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA) + checkError() + } + + override fun getBounds(bounds: Rect?, x: Int, y: Int, width: Int, height: Int) { + Matrix.translateM(mTempMatrix, 0, mMatrices, mCurrentMatrixIndex, x.toFloat(), y.toFloat(), 0f) + Matrix.scaleM(mTempMatrix, 0, width.toFloat(), height.toFloat(), 1f) + Matrix.multiplyMV(mTempMatrix, MATRIX_SIZE, mTempMatrix, 0, BOUNDS_COORDINATES, 0) + Matrix.multiplyMV(mTempMatrix, MATRIX_SIZE + 4, mTempMatrix, 0, BOUNDS_COORDINATES, 4) + bounds!!.left = mTempMatrix[MATRIX_SIZE].roundToInt() + bounds.right = mTempMatrix[MATRIX_SIZE + 4].roundToInt() + bounds.top = mTempMatrix[MATRIX_SIZE + 1].roundToInt() + bounds.bottom = mTempMatrix[MATRIX_SIZE + 5].roundToInt() + bounds.sort() + } + + private fun setupDrawShapeFilter(drawShapeFilter: DrawShapeFilter?) { + if (drawShapeFilter == null) { + throw NullPointerException("draw shape filter is null.") + } + mDrawShapeFilter = drawShapeFilter + if (mDrawShapeFilterMapProgramId.containsKey(drawShapeFilter)) { + mDrawProgram = mDrawShapeFilterMapProgramId[drawShapeFilter]!! + loadHandles(mDrawParameters, mDrawProgram) + return + } + mDrawProgram = loadAndAssemble(mDrawParameters, drawShapeFilter.vertexShader, drawShapeFilter.fragmentShader) + mDrawShapeFilterMapProgramId[drawShapeFilter] = mDrawProgram + } + + private fun setupTextureFilter(target: Int, textureFilter: TextureFilter?) { + if (textureFilter == null) { + throw NullPointerException("Texture filter is null.") + } + + mTextureFilter = textureFilter + if (target == GLES20.GL_TEXTURE_2D) { + if (mTextureFilterMapProgramId.containsKey(textureFilter)) { + mTextureProgram = mTextureFilterMapProgramId[textureFilter]!! + loadHandles(mTextureParameters, mTextureProgram) + return + } + mTextureProgram = loadAndAssemble(mTextureParameters, textureFilter.vertexShader, textureFilter.fragmentShader) + mTextureFilterMapProgramId[textureFilter] = mTextureProgram + } else { + if (mOESTextureFilterMapProgramId.containsKey(textureFilter)) { + mOesTextureProgram = mOESTextureFilterMapProgramId[textureFilter]!! + loadHandles(mOesTextureParameters, mOesTextureProgram) + return + } + mOesTextureProgram = loadAndAssemble(mOesTextureParameters, textureFilter.vertexShader, textureFilter.oesFragmentProgram) + mOESTextureFilterMapProgramId[textureFilter] = mOesTextureProgram + } + } + + private fun loadAndAssemble(shaderParameters: Array, vertexProgram: String?, fragmentProgram: String?): Int { + val vertexShaderHandle = loadShader(GLES20.GL_VERTEX_SHADER, vertexProgram) + val fragmentShaderHandle = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentProgram) + return assembleProgram(vertexShaderHandle, fragmentShaderHandle, shaderParameters, mTempIntArray) + } + + override fun setOnPreDrawTextureListener(l: OnPreDrawTextureListener?) { + onPreDrawTextureListener = l + } + + override fun setOnPreDrawShapeListener(l: OnPreDrawShapeListener?) { + onPreDrawShapeListener = l + } + + abstract class ShaderParameter(protected val mName: String) { + + var handle = 0 + + abstract fun loadHandle(program: Int) + } + + private class UniformShaderParameter(name: String) : ShaderParameter(name) { + override fun loadHandle(program: Int) { + handle = GLES20.glGetUniformLocation(program, mName) + checkError() + } + } + + private class AttributeShaderParameter(name: String) : ShaderParameter(name) { + override fun loadHandle(program: Int) { + handle = GLES20.glGetAttribLocation(program, mName) + checkError() + } + } + + companion object { + const val POSITION_ATTRIBUTE = "aPosition" + const val COLOR_UNIFORM = "uColor" + const val MATRIX_UNIFORM = "uMatrix" + const val TEXTURE_MATRIX_UNIFORM = "uTextureMatrix" + const val TEXTURE_SAMPLER_UNIFORM = "uTextureSampler" + const val ALPHA_UNIFORM = "uAlpha" + const val TEXTURE_COORD_ATTRIBUTE = "aTextureCoordinate" + const val MESH_VERTEX_SHADER = ("" + + "uniform mat4 " + MATRIX_UNIFORM + ";\n" + + "attribute vec2 " + POSITION_ATTRIBUTE + ";\n" + + "attribute vec2 " + TEXTURE_COORD_ATTRIBUTE + ";\n" + + "varying vec2 vTextureCoord;\n" + + "void main() {\n" + + " vec4 pos = vec4(" + POSITION_ATTRIBUTE + ", 0.0, 1.0);\n" + + " gl_Position = " + MATRIX_UNIFORM + " * pos;\n" + + " vTextureCoord = " + TEXTURE_COORD_ATTRIBUTE + ";\n" + + "}\n") + + const val INITIAL_RESTORE_STATE_SIZE = 8 + + // ************** Constants ********************** + private val TAG = GLES20Canvas::class.java.simpleName + + private const val FLOAT_SIZE = java.lang.Float.SIZE / java.lang.Byte.SIZE + + private const val OPAQUE_ALPHA = 0.95f + + private const val COORDS_PER_VERTEX = 2 + + private const val VERTEX_STRIDE = COORDS_PER_VERTEX * FLOAT_SIZE + + private const val COUNT_FILL_VERTEX = 4 + + private const val COUNT_LINE_VERTEX = 2 + + private const val COUNT_RECT_VERTEX = 4 + + private const val OFFSET_FILL_RECT = 0 + + private const val OFFSET_DRAW_LINE = OFFSET_FILL_RECT + COUNT_FILL_VERTEX + + private const val OFFSET_DRAW_RECT = OFFSET_DRAW_LINE + COUNT_LINE_VERTEX + + private val BOX_COORDINATES = floatArrayOf(0f, 0f, 1f, 0f, 0f, 1f, 1f, 1f, 0f, 0f, 1f, 1f, 0f, 0f, 0f, 1f, 1f, 1f, 1f, 0f) + + private val BOUNDS_COORDINATES = floatArrayOf(0f, 0f, 0f, 1f, 1f, 1f, 0f, 1f) + + private const val MATRIX_SIZE = 16 + + // Handle indices -- common + private const val INDEX_POSITION = 0 + + private const val INDEX_MATRIX = 1 + + // Handle indices -- draw + private const val INDEX_COLOR = 2 + + // Handle indices -- secondBitmap + private const val INDEX_TEXTURE_MATRIX = 2 + + private const val INDEX_TEXTURE_SAMPLER = 3 + + private const val INDEX_ALPHA = 4 + + // Handle indices -- mesh + private const val INDEX_TEXTURE_COORD = 2 + + val gLId: GLId = GLES20IdImpl() + + private fun createBuffer(values: FloatArray): FloatBuffer { + // First create an nio buffer, then create a VBO from it. + val size = values.size * FLOAT_SIZE + val buffer = ByteBuffer.allocateDirect(size).order(ByteOrder.nativeOrder()) + .asFloatBuffer() + buffer.put(values, 0, values.size).position(0) + + return buffer + } + + private fun assembleProgram(vertexShader: Int, fragmentShader: Int, params: Array, linkStatus: IntArray): Int { + var program = GLES20.glCreateProgram() + checkError() + if (program == 0) { + throw RuntimeException("Cannot create GL program: " + GLES20.glGetError()) + } + GLES20.glAttachShader(program, vertexShader) + checkError() + GLES20.glAttachShader(program, fragmentShader) + checkError() + GLES20.glLinkProgram(program) + checkError() + GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0) + if (linkStatus[0] != GLES20.GL_TRUE) { + Log.e(TAG, "Could not link program: ") + Log.e(TAG, GLES20.glGetProgramInfoLog(program)) + GLES20.glDeleteProgram(program) + program = 0 + } + loadHandles(params, program) + + return program + } + + private fun loadHandles(params: Array, program: Int) { + for (param in params) { + param.loadHandle(program) + } + } + + private fun loadShader(type: Int, shaderCode: String?): Int { + // create a vertex shader type (GLES20.GL_VERTEX_SHADER) + // or a fragment shader type (GLES20.GL_FRAGMENT_SHADER) + val shader = GLES20.glCreateShader(type) + + // add the source code to the shader and compile it + GLES20.glShaderSource(shader, shaderCode) + checkError() + GLES20.glCompileShader(shader) + checkError() + + return shader + } + + private fun enableBlending(enableBlending: Boolean) { + if (enableBlending) { + GLES20.glEnable(GLES20.GL_BLEND) + checkError() + } else { + GLES20.glDisable(GLES20.GL_BLEND) + checkError() + } + } + + private fun changeTargetIfNeeded(source: RectF, target: RectF, texture: BasicTexture?) { + val yBound = texture!!.height.toFloat() / texture.textureHeight + val xBound = texture.width.toFloat() / texture.textureWidth + if (source.right > xBound) { + target.right = target.left + target.width() * (xBound - source.left) / source.width() + } + if (source.bottom > yBound) { + target.bottom = target.top + target.height() * (yBound - source.top) / source.height() + } + } + + private fun checkFramebufferStatus() { + val status = GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER) + if (status != GLES20.GL_FRAMEBUFFER_COMPLETE) { + val msg = when (status) { + GLES20.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT -> "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT" + GLES20.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS -> "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" + GLES20.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT -> "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" + GLES20.GL_FRAMEBUFFER_UNSUPPORTED -> "GL_FRAMEBUFFER_UNSUPPORTED" + else -> "" + } + + throw RuntimeException(msg + ":" + Integer.toHexString(status)) + } + } + + private fun checkFramebufferStatusOes() { + val status = GLES11Ext.glCheckFramebufferStatusOES(GLES11Ext.GL_FRAMEBUFFER_OES) + if (status != GLES11Ext.GL_FRAMEBUFFER_COMPLETE_OES) { + val msg = when (status) { + GLES11Ext.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES -> "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT" + GLES11Ext.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES -> "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" + GLES11Ext.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES -> "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" + GLES11Ext.GL_FRAMEBUFFER_UNSUPPORTED_OES -> "GL_FRAMEBUFFER_UNSUPPORTED" + else -> "" + } + + throw RuntimeException(msg + ":" + Integer.toHexString(status)) + } + } + + fun checkError() { + val error = GLES20.glGetError() + if (error != 0) { + val t = Throwable() + Log.e(TAG, "GL error: $error", t) + } + } + + fun printMatrix(message: String?, m: FloatArray, offset: Int) { + if (!Loggers.DEBUG) { + return + } + val b = StringBuilder(message!!) + b.append('\n') + val size = 4 + for (i in 0 until size) { + val format = "%.6f" + b.append(String.format(format, m[offset + i])) + b.append(", ") + b.append(String.format(format, m[offset + 4 + i])) + b.append(", ") + b.append(String.format(format, m[offset + 8 + i])) + b.append(", ") + b.append(String.format(format, m[offset + 12 + i])) + if (i < size - 1) { + b.append(", ") + } + b.append('\n') + } + Loggers.v(TAG, b.toString()) + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20IdImpl.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20IdImpl.kt new file mode 100644 index 0000000..5b6e17b --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLES20IdImpl.kt @@ -0,0 +1,49 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.opengl.GLES20 + +class GLES20IdImpl : GLId { + + private val mTempIntArray: IntArray = IntArray(1) + + override fun generateTexture(): Int { + GLES20.glGenTextures(1, mTempIntArray, 0) + GLES20Canvas.checkError() + return mTempIntArray[0] + } + + override fun glGenBuffers(n: Int, buffers: IntArray, offset: Int) { + GLES20.glGenBuffers(n, buffers, offset) + GLES20Canvas.checkError() + } + + override fun glDeleteTextures(n: Int, textures: IntArray, offset: Int) { + GLES20.glDeleteTextures(n, textures, offset) + GLES20Canvas.checkError() + } + + override fun glDeleteBuffers(n: Int, buffers: IntArray, offset: Int) { + GLES20.glDeleteBuffers(n, buffers, offset) + GLES20Canvas.checkError() + } + + override fun glDeleteFrameBuffers(n: Int, buffers: IntArray, offset: Int) { + GLES20.glDeleteFramebuffers(n, buffers, offset) + GLES20Canvas.checkError() + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLId.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLId.kt new file mode 100644 index 0000000..bcff2bf --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLId.kt @@ -0,0 +1,30 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +// This mimics corresponding GL functions. +interface GLId { + + fun generateTexture(): Int + + fun glGenBuffers(n: Int, buffers: IntArray, offset: Int) + + fun glDeleteTextures(n: Int, textures: IntArray, offset: Int) + + fun glDeleteBuffers(n: Int, buffers: IntArray, offset: Int) + + fun glDeleteFrameBuffers(n: Int, buffers: IntArray, offset: Int) +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLPaint.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLPaint.kt new file mode 100644 index 0000000..b551e94 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/GLPaint.kt @@ -0,0 +1,28 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.Color +import android.graphics.Paint + +data class GLPaint( + + var lineWidth: Float = 1f, + + var color: Int = Color.WHITE, + + var style: Paint.Style = Paint.Style.FILL +) \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/IntArrayCustom.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/IntArrayCustom.kt new file mode 100644 index 0000000..2bb4935 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/IntArrayCustom.kt @@ -0,0 +1,62 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +class IntArrayCustom { + + var internalArray: IntArray = IntArray(INIT_CAPACITY) + private set + + private var mSize = 0 + + fun add(value: Int) { + if (internalArray.size == mSize) { + val temp = IntArray(mSize + mSize) + System.arraycopy(internalArray, 0, temp, 0, mSize) + internalArray = temp + } + internalArray[mSize++] = value + } + + fun removeLast(): Int { + mSize-- + return internalArray[mSize] + } + + fun size(): Int { + return mSize + } + + // For testing only + fun toArray(array: IntArray?): IntArray { + var result = array + if (result == null || result.size < mSize) { + result = IntArray(mSize) + } + System.arraycopy(internalArray, 0, result, 0, mSize) + + return result + } + + fun clear() { + mSize = 0 + if (internalArray.size != INIT_CAPACITY) internalArray = IntArray(INIT_CAPACITY) + } + + companion object { + private const val INIT_CAPACITY = 8 + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/RawTexture.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/RawTexture.kt new file mode 100644 index 0000000..633e23c --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/RawTexture.kt @@ -0,0 +1,65 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.opengl.GLES20 +import android.util.Log +import javax.microedition.khronos.opengles.GL11 + +class RawTexture constructor(width: Int, height: Int, override val isOpaque: Boolean) : BasicTexture() { + + /** + * Call this when surfaceTexture calls updateTexImage + */ + var isNeedInvalidate = false + + /** + * @param isFlipped whether vertically flip this texture + */ + override var isFlippedVertically = false + + override val target = GL11.GL_TEXTURE_2D + + init { + setSize(width, height) + } + + fun prepare(canvas: GLCanvas) { + val glId = canvas.gLId + id = glId!!.generateTexture() + if (target == GLES20.GL_TEXTURE_2D) { + canvas.initializeTextureSize(this, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE) + } + canvas.setTextureParameters(this) + state = STATE_LOADED + setAssociatedCanvas(canvas) + } + + override fun onBind(canvas: GLCanvas): Boolean { + if (isLoaded) return true + Log.w(TAG, "lost the content due to context change") + return false + } + + override fun yield() { + // we cannot free the secondBitmap because we have no backup. + } + + companion object { + + private val TAG: String = this::class.java.name + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/Texture.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/Texture.kt new file mode 100644 index 0000000..14db291 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/Texture.kt @@ -0,0 +1,47 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +// Texture is a rectangular image which can be drawn on GLCanvas. +// The isOpaque() function gives a hint about whether the secondBitmap is opaque, +// so the drawing can be done faster. +// +// This is the current secondBitmap hierarchy: +// +// Texture +// -- ColorTexture +// -- FadeInTexture +// -- BasicTexture +// -- UploadedTexture +// -- BitmapTexture +// -- Tile +// -- ResourceTexture +// -- NinePatchTexture +// -- CanvasTexture +// -- StringTexture +// +interface Texture { + + val width: Int + + val height: Int + + fun draw(canvas: GLCanvas?, x: Int, y: Int) + + fun draw(canvas: GLCanvas?, x: Int, y: Int, w: Int, h: Int) + + val isOpaque: Boolean +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/TextureMatrixTransformer.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/TextureMatrixTransformer.kt new file mode 100644 index 0000000..2ff3eff --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/TextureMatrixTransformer.kt @@ -0,0 +1,67 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.RectF + +object TextureMatrixTransformer { + + // This function changes the source coordinate to the secondBitmap coordinates. + // It also clips the source and target coordinates if it is beyond the + // bound of the secondBitmap. + fun convertCoordinate(source: RectF, texture: BasicTexture) { + val width = texture.width + val height = texture.height + val texWidth = texture.textureWidth + val texHeight = texture.textureHeight + // Convert to secondBitmap coordinates + source.left /= texWidth.toFloat() + source.right /= texWidth.toFloat() + source.top /= texHeight.toFloat() + source.bottom /= texHeight.toFloat() + + // Clip if the rendering range is beyond the bound of the secondBitmap. + val xBound = width.toFloat() / texWidth + if (source.right > xBound) { + source.right = xBound + } + val yBound = height.toFloat() / texHeight + if (source.bottom > yBound) { + source.bottom = yBound + } + } + + fun setTextureMatrix(source: RectF, textureMatrix: FloatArray) { + textureMatrix[0] = source.width() + textureMatrix[5] = source.height() + textureMatrix[12] = source.left + textureMatrix[13] = source.top + } + + fun copyTextureCoordinates(texture: BasicTexture, outRect: RectF) { + var left = 0 + var top = 0 + var right = texture.width + var bottom = texture.height + if (texture.hasBorder()) { + left = 1 + top = 1 + right -= 1 + bottom -= 1 + } + outRect[left.toFloat(), top.toFloat(), right.toFloat()] = bottom.toFloat() + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glcanvas/UploadedTexture.kt b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/UploadedTexture.kt new file mode 100644 index 0000000..b6014be --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glcanvas/UploadedTexture.kt @@ -0,0 +1,253 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glcanvas + +import android.graphics.Bitmap +import android.opengl.GLUtils +import java.util.* +import javax.microedition.khronos.opengles.GL11 + +// UploadedTextures use a Bitmap for the content of the secondBitmap. +// +// Subclasses should implement onGetBitmap() to provide the Bitmap and +// implement onFreeBitmap(mBitmap) which will be called when the Bitmap +// is not needed anymore. +// +// isContentValid() is meaningful only when the isLoaded() returns true. +// It means whether the content needs to be updated. +// +// The user of this class should call recycle() when the secondBitmap is not +// needed anymore. +// +// By default an UploadedTexture is opaque (so it can be drawn faster without +// blending). The user or subclass can override it using setOpaque(). +abstract class UploadedTexture protected constructor(hasBorder: Boolean = false) : BasicTexture(null, 0, STATE_UNLOADED) { + + private var mContentValid = true + + /** + * Whether the content on GPU is valid. + */ + val isContentValid: Boolean + get() = isLoaded && mContentValid + + // indicate this textures is being uploaded in background + var isUploading = false + protected set + + private var isThrottled = false + + protected var mBitmap: Bitmap? = null + + private var border = 0 + + override val target: Int + get() = GL11.GL_TEXTURE_2D + + init { + if (hasBorder) { + setBorder(true) + border = 1 + } + } + + private class BorderKey : Cloneable { + + var vertical = false + + var config: Bitmap.Config? = null + + var length = 0 + + override fun hashCode(): Int { + val x = config.hashCode() xor length + + return if (vertical) x else -x + } + + override fun equals(other: Any?): Boolean { + if (other !is BorderKey) { + return false + } + + return vertical == other.vertical && config == other.config && length == other.length + } + + public override fun clone(): BorderKey { + return try { + super.clone() as BorderKey + } catch (e: CloneNotSupportedException) { + throw AssertionError(e) + } + } + } + + private val bitmap: Bitmap? + get() { + if (mBitmap == null) { + mBitmap = onGetBitmap() + val w = mBitmap!!.width + border * 2 + val h = mBitmap!!.height + border * 2 + if (width == UNSPECIFIED) { + setSize(w, h) + } + } + + return mBitmap + } + + private fun freeBitmap() { +// Assert.assertTrue(mBitmap != null); + onFreeBitmap(mBitmap) + mBitmap = null + } + + protected abstract fun onGetBitmap(): Bitmap? + + protected abstract fun onFreeBitmap(bitmap: Bitmap?) + + fun invalidateContent() { + if (mBitmap != null) freeBitmap() + mContentValid = false + width = UNSPECIFIED + height = UNSPECIFIED + } + + /** + * Updates the content on GPU's memory. + * @param canvas + */ + fun updateContent(canvas: GLCanvas) { + if (!isLoaded) { + if (isThrottled && ++UPLOADED_COUNT > UPLOAD_LIMIT) { + return + } + uploadToCanvas(canvas) + } else if (!mContentValid) { + val bitmap = bitmap + val format = GLUtils.getInternalFormat(bitmap) + val type = GLUtils.getType(bitmap) + canvas.texSubImage2D(this, border, border, bitmap, format, type) + freeBitmap() + mContentValid = true + } + } + + private fun uploadToCanvas(canvas: GLCanvas) { + val bitmap = bitmap + if (bitmap != null) { + try { + val bWidth = bitmap.width + val bHeight = bitmap.height + width = bWidth + border * 2 + height = bHeight + border * 2 + val texWidth = textureWidth + val texHeight = textureHeight + + // Upload the bitmap to a new secondBitmap. + id = canvas.gLId!!.generateTexture() + canvas.setTextureParameters(this) + if (bWidth == texWidth && bHeight == texHeight) { + canvas.initializeTexture(this, bitmap) + } else { + val format = GLUtils.getInternalFormat(bitmap) + val type = GLUtils.getType(bitmap) + val config = bitmap.config + canvas.initializeTextureSize(this, format, type) + canvas.texSubImage2D(this, border, border, bitmap, format, type) + if (border > 0) { + // Left border + var line = getBorderLine(true, config, texHeight) + canvas.texSubImage2D(this, 0, 0, line, format, type) + + // Top border + line = getBorderLine(false, config, texWidth) + canvas.texSubImage2D(this, 0, 0, line, format, type) + } + + // Right border + if (border + bWidth < texWidth) { + val line = getBorderLine(true, config, texHeight) + canvas.texSubImage2D(this, border + bWidth, 0, line, format, type) + } + + // Bottom border + if (border + bHeight < texHeight) { + val line = getBorderLine(false, config, texWidth) + canvas.texSubImage2D(this, 0, border + bHeight, line, format, type) + } + } + } finally { + freeBitmap() + } + // Update secondBitmap state. + setAssociatedCanvas(canvas) + state = STATE_LOADED + mContentValid = true + } else { + state = STATE_ERROR + throw RuntimeException("Texture load fail, no bitmap") + } + } + + override fun onBind(canvas: GLCanvas): Boolean { + updateContent(canvas) + + return isContentValid + } + + override fun recycle() { + super.recycle() + if (mBitmap != null) freeBitmap() + } + + companion object { + + private const val TAG = "Texture" + + // To prevent keeping allocation the borders, we store those used borders here. + // Since the length will be power of two, it won't use too much memory. + private val BORDER_LINES = HashMap() + + private val BORDER_KEY = BorderKey() + + private var UPLOADED_COUNT = 0 + + private const val UPLOAD_LIMIT = 100 + + private fun getBorderLine( + vertical: Boolean, config: Bitmap.Config, length: Int): Bitmap? { + val key = BORDER_KEY + key.vertical = vertical + key.config = config + key.length = length + var bitmap = BORDER_LINES[key] + if (bitmap == null) { + bitmap = if (vertical) Bitmap.createBitmap(1, length, config) else Bitmap.createBitmap(length, 1, config) + BORDER_LINES[key.clone()] = bitmap + } + return bitmap + } + + fun resetUploadLimit() { + UPLOADED_COUNT = 0 + } + + fun uploadLimitReached(): Boolean { + return UPLOADED_COUNT > UPLOAD_LIMIT + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/GLContinuousView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/GLContinuousView.kt new file mode 100644 index 0000000..98db264 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/GLContinuousView.kt @@ -0,0 +1,36 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview + +import android.content.Context +import android.util.AttributeSet +import jp.eita.canvasgl.ICanvasGL + +abstract class GLContinuousView : GLView { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + override fun init() { + super.init() + renderMode = RENDERMODE_CONTINUOUSLY + } + + override fun onGLDraw(canvas: ICanvasGL) { + + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/GLView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/GLView.kt new file mode 100644 index 0000000..83aed97 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/GLView.kt @@ -0,0 +1,113 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview + +import android.content.Context +import android.graphics.Bitmap +import android.graphics.PixelFormat +import android.graphics.Rect +import android.opengl.GLSurfaceView +import android.util.AttributeSet +import jp.eita.canvasgl.CanvasGL +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.createBitmapFromGLSurface +import javax.microedition.khronos.egl.EGLConfig +import javax.microedition.khronos.opengles.GL10 + +abstract class GLView : GLSurfaceView, GLSurfaceView.Renderer { + + protected var canvas: CanvasGL? = null + + protected var gl: GL10? = null + + var onSizeChangeCallback: OnSizeChangeCallback? = null + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + init { + init() + } + + protected open fun init() { + setZOrderOnTop(true) + setEGLContextClientVersion(2) + setEGLConfigChooser(8, 8, 8, 8, 16, 0) + preserveEGLContextOnPause = true + holder.setFormat(PixelFormat.TRANSLUCENT) + setRenderer(this) + renderMode = RENDERMODE_WHEN_DIRTY + } + + override fun onSurfaceCreated(gl: GL10, config: EGLConfig) { + canvas = CanvasGL() + } + + override fun onSurfaceChanged(gl: GL10, width: Int, height: Int) { + canvas!!.setSize(width, height) + } + + override fun onDrawFrame(gl: GL10) { + this.gl = gl + canvas!!.clearBuffer() + onGLDraw(canvas!!) + } + + /** + * May call twice at first. + */ + protected abstract fun onGLDraw(canvas: ICanvasGL) + + fun restart() { + onResume() + } + + fun stop() { + onPause() + canvas?.pause() + } + + fun destroy() {} + + override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) { + super.onSizeChanged(w, h, oldw, oldh) + onSizeChangeCallback?.onSizeChange(w, h, oldw, oldh) + } + + fun getDrawingBitmap(rect: Rect, getDrawingCacheCallback: GetDrawingCacheCallback) { + queueEvent(Runnable { + if (gl == null) { + return@Runnable + } + onDrawFrame(gl!!) + onDrawFrame(gl!!) + val bitmapFromGLSurface = createBitmapFromGLSurface(rect.left, rect.top, rect.right, rect.bottom, height) + post { getDrawingCacheCallback.onFetch(bitmapFromGLSurface) } + }) + requestRender() + } + + interface OnSizeChangeCallback { + + fun onSizeChange(w: Int, h: Int, oldw: Int, oldh: Int) + } + + interface GetDrawingCacheCallback { + + fun onFetch(bitmap: Bitmap?) + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLCanvasTextureView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLCanvasTextureView.kt new file mode 100644 index 0000000..d9df6c2 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLCanvasTextureView.kt @@ -0,0 +1,95 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.graphics.Color +import android.graphics.Rect +import android.util.AttributeSet +import androidx.annotation.ColorInt +import jp.eita.canvasgl.CanvasGL +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.createBitmapFromGLSurface +import jp.eita.canvasgl.glview.GLView.GetDrawingCacheCallback +import jp.eita.canvasgl.util.Loggers + +/** + * From init to run: onSizeChange --> onSurfaceTextureAvailable --> createGLThread --> createSurface --> onSurfaceCreated --> onSurfaceChanged + * From pause to run: onResume --> createSurface --> onSurfaceChanged + * From stop to run: onResume --> onSurfaceTextureAvailable --> createGLThread --> createSurface --> onSurfaceCreated --> onSurfaceChanged + */ +abstract class BaseGLCanvasTextureView : BaseGLTextureView, GLViewRenderer { + + protected var mCanvas: ICanvasGL? = null + + internal var backgroundColor = Color.TRANSPARENT + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun init() { + super.init() + setRenderer(this) + } + + override fun onSurfaceCreated() { + Loggers.d(TAG, "onSurfaceCreated: ") + mCanvas = CanvasGL() + } + + override fun onSurfaceChanged(width: Int, height: Int) { + Loggers.d(TAG, "onSurfaceChanged: ") + mCanvas!!.setSize(width, height) + } + + override fun onDrawFrame() { + mCanvas!!.clearBuffer(backgroundColor) + onGLDraw(mCanvas) + } + + override fun onPause() { + super.onPause() + if (mCanvas != null) { + mCanvas!!.pause() + } + } + + abstract override fun onGLDraw(canvas: ICanvasGL?) + + /** + * If setOpaque(true) used, this method will not work. + */ + fun setRenderBackgroundColor(@ColorInt color: Int) { + backgroundColor = color + } + + fun getDrawingBitmap(rect: Rect, getDrawingCacheCallback: GetDrawingCacheCallback) { + queueEvent(Runnable { + onDrawFrame() + onDrawFrame() + val bitmapFromGLSurface = createBitmapFromGLSurface(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, height) + post { getDrawingCacheCallback.onFetch(bitmapFromGLSurface) } + }) + requestRender() + } + + companion object { + private const val TAG = "BaseGLCanvasTextureView" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLTextureView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLTextureView.kt new file mode 100644 index 0000000..bc1a794 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/BaseGLTextureView.kt @@ -0,0 +1,257 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.graphics.SurfaceTexture +import android.util.AttributeSet +import android.util.Log +import android.view.TextureView +import android.view.TextureView.SurfaceTextureListener +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glview.texture.gles.EglContextWrapper +import jp.eita.canvasgl.glview.texture.gles.GLThread +import jp.eita.canvasgl.glview.texture.gles.GLThread.OnCreateGLContextListener +import jp.eita.canvasgl.util.Loggers +import java.util.* + +/** + * Can be used in ScrollView or ListView. + * Can make it not opaque by setOpaque(false). + * + * + * The surface of canvasGL is provided by TextureView. + * + * + * onSurfaceTextureSizeChanged onResume onPause onSurfaceTextureDestroyed onSurfaceTextureUpdated + * From init to run: onSizeChanged --> onSurfaceTextureAvailable --> createGLThread --> createSurface + * From run to pause: onPause --> destroySurface + * From pause to run: onResume --> createSurface + * From run to stop: onPause --> destroySurface --> onSurfaceTextureDestroyed --> EGLHelper.finish --> GLThread.exit + * From stop to run: onResume --> onSurfaceTextureAvailable --> createGLThread --> createSurface + */ +abstract class BaseGLTextureView : TextureView, SurfaceTextureListener { + + protected open var mGLThread: GLThread? = null + + internal var glThreadBuilder: GLThread.Builder? = null + + protected val cacheEvents: MutableList = ArrayList() + + internal var surfaceTextureListener: SurfaceTextureListener? = null + + private var onCreateGLContextListener: OnCreateGLContextListener? = null + + private var surfaceAvailable = false + + private var renderer: GLViewRenderer? = null + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + init { + super.setSurfaceTextureListener(this) + } + + override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) { + Loggers.d(TAG, "onSizeChanged: ") + super.onSizeChanged(w, h, oldw, oldh) + mGLThread?.onWindowResize(w, h) + } + + open fun onPause() { + mGLThread?.onPause() + } + + fun onResume() { + mGLThread?.onResume() + } + + fun queueEvent(r: Runnable) { + if (mGLThread == null) { + cacheEvents.add(r) + return + } + mGLThread?.queueEvent(r) + } + + fun requestRender() { + if (mGLThread != null) { + mGLThread!!.requestRender() + } else { + Log.w(TAG, "GLThread is not created when requestRender") + } + } + + /** + * Wait until render command is sent to OpenGL + */ + fun requestRenderAndWait() { + if (mGLThread != null) { + mGLThread!!.requestRenderAndWait() + } else { + Log.w(TAG, "GLThread is not created when requestRender") + } + } + + protected fun surfaceCreated() { + mGLThread!!.surfaceCreated() + } + + protected open fun surfaceDestroyed() { + // Surface will be destroyed when we return + if (mGLThread != null) { + mGLThread!!.surfaceDestroyed() + mGLThread!!.requestExitAndWait() + } + surfaceAvailable = false + mGLThread = null + } + + protected fun surfaceChanged(w: Int, h: Int) { + mGLThread!!.onWindowResize(w, h) + } + + protected fun surfaceRedrawNeeded() { + if (mGLThread != null) { + mGLThread!!.requestRenderAndWait() + } + } + + override fun onDetachedFromWindow() { + Loggers.d(TAG, "onDetachedFromWindow: ") + if (mGLThread != null) { + mGLThread!!.requestExitAndWait() + } + super.onDetachedFromWindow() + } + + @Throws(Throwable::class) + protected fun finalize() { + try { + if (mGLThread != null) { + // GLThread may still be running if this view was never + // attached to a window. + mGLThread!!.requestExitAndWait() + } + } finally { + + } + } + + protected open fun init() { + + } + + /** + * @return If the context is not created, then EGL10.EGL_NO_CONTEXT will be returned. + */ + val currentEglContext: EglContextWrapper? + get() = if (mGLThread == null) null else mGLThread!!.eglContext + + fun setOnCreateGLContextListener(onCreateGLContextListener: OnCreateGLContextListener?) { + this.onCreateGLContextListener = onCreateGLContextListener + } + + override fun setSurfaceTextureListener(surfaceTextureListener: SurfaceTextureListener) { + this.surfaceTextureListener = surfaceTextureListener + } + + protected open val renderMode: Int + protected get() = GLThread.RENDERMODE_WHEN_DIRTY + + protected abstract fun onGLDraw(canvas: ICanvasGL?) + fun setRenderer(renderer: GLViewRenderer?) { + this.renderer = renderer + } + + override fun onSurfaceTextureAvailable(surface: SurfaceTexture, width: Int, height: Int) { + Loggers.d(TAG, "onSurfaceTextureAvailable: ") + surfaceAvailable = true + glThreadBuilder = GLThread.Builder() + if (mGLThread == null) { + glThreadBuilder!!.setRenderMode(renderMode) + .setSurface(surface) + .setRenderer(renderer) + createGLThread() + } else { + mGLThread!!.setSurface(surface) + freshSurface(width, height) + } + surfaceTextureListener?.onSurfaceTextureAvailable(surface, width, height) + } + + protected open fun createGLThread() { + Loggers.d(TAG, "createGLThread: ") + if (!surfaceAvailable) { + return + } + mGLThread = glThreadBuilder!!.createGLThread() + mGLThread!!.setOnCreateGLContextListener(object : OnCreateGLContextListener { + override fun onCreate(eglContext: EglContextWrapper?) { + post { + if (onCreateGLContextListener != null) { + onCreateGLContextListener!!.onCreate(eglContext) + } + } + } + }) + mGLThread!!.start() + freshSurface(width, height) + for (cacheEvent in cacheEvents) { + mGLThread!!.queueEvent(cacheEvent) + } + cacheEvents.clear() + } + + /** + * surface inited or updated. + */ + private fun freshSurface(width: Int, height: Int) { + surfaceCreated() + surfaceChanged(width, height) + surfaceRedrawNeeded() + } + + override fun onSurfaceTextureSizeChanged(surface: SurfaceTexture, width: Int, height: Int) { + Loggers.d(TAG, "onSurfaceTextureSizeChanged: ") + surfaceChanged(width, height) + surfaceRedrawNeeded() + surfaceTextureListener?.onSurfaceTextureSizeChanged(surface, width, height) + } + + /** + * This will be called when windows detached. Activity onStop will cause window detached. + */ + override fun onSurfaceTextureDestroyed(surface: SurfaceTexture): Boolean { + Loggers.d(TAG, "onSurfaceTextureDestroyed: ") + surfaceDestroyed() + surfaceTextureListener?.onSurfaceTextureSizeChanged(surface, width, height) + return true + } + + override fun onSurfaceTextureUpdated(surface: SurfaceTexture) { + surfaceTextureListener?.onSurfaceTextureUpdated(surface) + } + + companion object { + + private const val TAG = "BaseGLTextureView" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLContinuousTextureView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLContinuousTextureView.kt new file mode 100644 index 0000000..3379c5a --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLContinuousTextureView.kt @@ -0,0 +1,35 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.util.AttributeSet +import jp.eita.canvasgl.glview.texture.gles.GLThread + +/** + * [jp.eita.canvasgl.glview.GLContinuousView] is better. + */ +abstract class GLContinuousTextureView : GLTextureView { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override val renderMode: Int + get() = GLThread.RENDERMODE_CONTINUOUSLY +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexConsumerView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexConsumerView.kt new file mode 100644 index 0000000..c382b8e --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexConsumerView.kt @@ -0,0 +1,83 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.util.AttributeSet +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glview.texture.gles.EglContextWrapper +import java.util.* + +/** + * This class is used to accept eglContext and textures from outside. Then it can use them to draw. + * The [.setSharedEglContext] must be called as the precondition to consume outside texture. + */ +abstract class GLMultiTexConsumerView : BaseGLCanvasTextureView { + + protected var consumedTextures: MutableList = ArrayList() + + protected var mSharedEglContext: EglContextWrapper? = null + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + /** + * @param sharedEglContext The openGL context from other or [EglContextWrapper.EGL_NO_CONTEXT_WRAPPER] + */ + fun setSharedEglContext(sharedEglContext: EglContextWrapper?) { + mSharedEglContext = sharedEglContext + glThreadBuilder!!.setSharedEglContext(sharedEglContext!!) + createGLThread() + } + + override fun createGLThread() { + if (mSharedEglContext != null) { + super.createGLThread() + } + } + + /** + * This must be called for a GLMultiTexConsumerView. + * + * @param glTexture texture from outSide. + */ + fun addConsumeGLTexture(glTexture: GLTexture) { + consumedTextures.add(glTexture) + } + + /** + * Will not call until @param surfaceTexture not null + */ + protected abstract fun onGLDraw(canvas: ICanvasGL?, consumedTextures: List?) + override fun onGLDraw(canvas: ICanvasGL?) { + val iterator = consumedTextures.iterator() + while (iterator.hasNext()) { + val next = iterator.next() + if (next.rawTexture.isRecycled) { + iterator.remove() + } + } + onGLDraw(canvas, consumedTextures) + } + + override fun surfaceDestroyed() { + super.surfaceDestroyed() + consumedTextures.clear() + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexProducerView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexProducerView.kt new file mode 100644 index 0000000..4caf372 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLMultiTexProducerView.kt @@ -0,0 +1,178 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.opengl.GLES11Ext +import android.opengl.GLES20 +import android.os.Build +import android.util.AttributeSet +import android.util.Log +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glview.texture.gles.GLThread +import jp.eita.canvasgl.util.Loggers +import java.util.* + +/** + * Used to generate multiple textures or consume textures from others. + * This will not create [GLThread] automatically. You need to call [.setSharedEglContext] to trigger it. + * Support providing multiple textures to Camera or Media.

+ * This can also consume textures from other GL zone( Should be in same GL context)

+ * And since this inherits [GLMultiTexConsumerView], the [.setSharedEglContext] must be called + */ +abstract class GLMultiTexProducerView : GLMultiTexConsumerView { + + private var producedTextureTarget = GLES11Ext.GL_TEXTURE_EXTERNAL_OES + + private val producedTextureList: MutableList = ArrayList() + + private var surfaceTextureCreatedListener: SurfaceTextureCreatedListener? = null + + constructor(context: Context?) : super(context) + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun onGLDraw(canvas: ICanvasGL?, consumedTextures: List?) { + onGLDraw(canvas, producedTextureList, consumedTextures) + } + + override val renderMode: Int + get() = GLThread.RENDERMODE_WHEN_DIRTY + + internal val initialTexCount: Int = 1 + + + /** + * @return The initial produced texture count + */ + protected open fun getInitialTexCount(): Int { + return 1 + } + + /** + * If it is used, it must be called before [GLThread.start] called. + * + * @param producedTextureTarget GLES20.GL_TEXTURE_2D or GLES11Ext.GL_TEXTURE_EXTERNAL_OES + */ + fun setProducedTextureTarget(producedTextureTarget: Int) { + this.producedTextureTarget = producedTextureTarget + } + + /** + * Create a new produced texture and upload it to the canvas. + */ + fun addProducedGLTexture(width: Int, height: Int, opaque: Boolean, target: Int): GLTexture { + val glTexture = GLTexture.createRaw(width, height, opaque, target, mCanvas!!) + producedTextureList.add(glTexture) + return glTexture + } + + override fun onSurfaceChanged(width: Int, height: Int) { + super.onSurfaceChanged(width, height) + Loggers.d(TAG, "onSurfaceChanged: $width, $height") + if (producedTextureList.isEmpty()) { + for (i in 0 until initialTexCount) { + // This must be in this thread because it relies on the GLContext of this thread + producedTextureList.add(GLTexture.createRaw(width, height, false, producedTextureTarget, mCanvas!!)) + } + post { + if (producedTextureList.isNotEmpty() && surfaceTextureCreatedListener != null) { + surfaceTextureCreatedListener!!.onCreated(producedTextureList) + } + } + } else { + for (glTexture in producedTextureList) { + glTexture.rawTexture.setSize(width, height) + } + } + } + + override fun onDrawFrame() { + if (producedTextureTarget != GLES20.GL_TEXTURE_2D) { + for (glTexture in producedTextureList) { + glTexture.surfaceTexture.updateTexImage() + glTexture.rawTexture.isNeedInvalidate = true + } + } + super.onDrawFrame() + } + + override fun onPause() { + super.onPause() + Loggers.d(TAG, "onPause") + recycleProduceTexture() + if (mGLThread == null) { + Log.w(TAG, "!!!!!! You may not call setShareEglContext !!!") + } + } + + override fun surfaceDestroyed() { + super.surfaceDestroyed() + recycleProduceTexture() + } + + private fun recycleProduceTexture() { + for (glTexture in producedTextureList) { + if (!glTexture.rawTexture.isRecycled) { + glTexture.rawTexture.recycle() + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (!glTexture.surfaceTexture.isReleased) { + glTexture.surfaceTexture.release() + } + } else { + glTexture.surfaceTexture.release() + } + } + producedTextureList.clear() + } + + /** + * Set the listener to listen the texture creation. + * + * @param surfaceTextureCreatedListener The texture listener + */ + fun setSurfaceTextureCreatedListener(surfaceTextureCreatedListener: SurfaceTextureCreatedListener?) { + this.surfaceTextureCreatedListener = surfaceTextureCreatedListener + } + + /** + * If [.setSharedEglContext] is not called, this will not be triggered. + * The consumedTextures are obtained from [GLMultiTexConsumerView.addConsumeGLTexture] + * + * @param canvas the canvas to draw things + * @param producedTextures The textures created by itself. + * @param consumedTextures May be null. This only available when it gets from other GLMultiTexProducerView + */ + protected abstract fun onGLDraw(canvas: ICanvasGL?, producedTextures: List?, consumedTextures: List?) + + /** + * Listen when the produced textures created. + */ + interface SurfaceTextureCreatedListener { + /** + * You can get the created Textures from this method. + * The number of textures is decided by [GLMultiTexProducerView.getInitialTexCount] + * + * @param producedTextureList The created Textures + */ + fun onCreated(producedTextureList: List) + } + + companion object { + private const val TAG = "GLMultiTexProducerView" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLSurfaceTextureProducerView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLSurfaceTextureProducerView.kt new file mode 100644 index 0000000..5d8a465 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLSurfaceTextureProducerView.kt @@ -0,0 +1,82 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.graphics.SurfaceTexture +import android.util.AttributeSet +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.BasicTexture +import jp.eita.canvasgl.glcanvas.RawTexture +import jp.eita.canvasgl.glview.texture.gles.EglContextWrapper + +/** + * This will generate a texture which is in the eglContext of the CanvasGL. And the texture can be used outside. + * The [.setSharedEglContext] will be called automatically when [.onSurfaceTextureAvailable] + * For example, the generated texture can be used in camera preview texture or [GLMultiTexConsumerView]. + * + * From pause to run: onResume --> createSurface --> onSurfaceChanged + */ +abstract class GLSurfaceTextureProducerView : GLMultiTexProducerView { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun getInitialTexCount(): Int { + return 1 + } + + override fun onSurfaceTextureAvailable(surface: SurfaceTexture, width: Int, height: Int) { + super.onSurfaceTextureAvailable(surface, width, height) + if (mSharedEglContext == null) { + setSharedEglContext(EglContextWrapper.EGL_NO_CONTEXT_WRAPPER) + } + } + + fun setOnSurfaceTextureSet(onSurfaceTextureSet: OnSurfaceTextureSet) { + setSurfaceTextureCreatedListener(object : SurfaceTextureCreatedListener { + override fun onCreated(producedTextureList: List) { + val glTexture = producedTextureList[0] + onSurfaceTextureSet.onSet(glTexture.surfaceTexture, glTexture.rawTexture) + } + + }) + } + + override fun onGLDraw(canvas: ICanvasGL?, producedTextures: List?, consumedTextures: List?) { + val glTexture = producedTextures!![0] + if (consumedTextures!!.isNotEmpty()) { + val consumeTexture = consumedTextures[0] + onGLDraw(canvas, glTexture.surfaceTexture, glTexture.rawTexture, consumeTexture.surfaceTexture, consumeTexture.rawTexture) + onGLDraw(canvas, glTexture, consumeTexture) + } else { + onGLDraw(canvas, glTexture.surfaceTexture, glTexture.rawTexture, null, null) + onGLDraw(canvas, glTexture, null) + } + } + + @Deprecated("") + protected fun onGLDraw(canvas: ICanvasGL?, producedSurfaceTexture: SurfaceTexture?, producedRawTexture: RawTexture?, outsideSurfaceTexture: SurfaceTexture?, outsideTexture: BasicTexture?) { + } + + protected fun onGLDraw(canvas: ICanvasGL?, producedGLTexture: GLTexture?, outsideGLTexture: GLTexture?) {} + interface OnSurfaceTextureSet { + fun onSet(surfaceTexture: SurfaceTexture?, surfaceTextureRelatedTexture: RawTexture?) + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTexture.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTexture.kt new file mode 100644 index 0000000..b731386 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTexture.kt @@ -0,0 +1,37 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.graphics.SurfaceTexture +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.RawTexture + +class GLTexture(val rawTexture: RawTexture, val surfaceTexture: SurfaceTexture) { + + companion object { + + fun createRaw(width: Int, height: Int, opaque: Boolean, target: Int, canvasGL: ICanvasGL): GLTexture { + val rawTexture = RawTexture(width, height, opaque) + if (!rawTexture.isLoaded) { + rawTexture.prepare(canvasGL.glCanvas) + } + val surfaceTexture = SurfaceTexture(rawTexture.id) + + return GLTexture(rawTexture, surfaceTexture) + } + } + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTextureView.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTextureView.kt new file mode 100644 index 0000000..a51b476 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLTextureView.kt @@ -0,0 +1,36 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +import android.content.Context +import android.graphics.SurfaceTexture +import android.util.AttributeSet + +abstract class GLTextureView : BaseGLCanvasTextureView { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) + + override fun onSurfaceTextureAvailable(surface: SurfaceTexture, width: Int, height: Int) { + super.onSurfaceTextureAvailable(surface, width, height) + if (mGLThread == null) { + createGLThread() + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLViewRenderer.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLViewRenderer.kt new file mode 100644 index 0000000..0662b81 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/GLViewRenderer.kt @@ -0,0 +1,25 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture + +interface GLViewRenderer { + + fun onSurfaceCreated() + + fun onSurfaceChanged(width: Int, height: Int) + + fun onDrawFrame() +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EGLLogWrapper.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EGLLogWrapper.kt new file mode 100644 index 0000000..b525ecc --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EGLLogWrapper.kt @@ -0,0 +1,526 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +import android.opengl.GLDebugHelper +import android.opengl.GLException +import java.io.IOException +import java.io.Writer +import javax.microedition.khronos.egl.* + +/** + * For Test + */ +class EGLLogWrapper(egl: EGL, configFlags: Int, log: Writer?) : EGL11 { + + var mLog: Writer? + + var logArgumentNames: Boolean + + var checkError: Boolean + + private val egl10: EGL10 + + private var argCount = 0 + + override fun eglChooseConfig(display: EGLDisplay, attrib_list: IntArray, + configs: Array, config_size: Int, num_config: IntArray): Boolean { + begin("eglChooseConfig") + arg("display", display) + arg("attrib_list", attrib_list) + arg("config_size", config_size) + end() + val result = egl10.eglChooseConfig(display, attrib_list, configs, + config_size, num_config) + arg("configs", configs) + arg("num_config", num_config) + returns(result) + checkError() + return result + } + + override fun eglCopyBuffers(display: EGLDisplay, surface: EGLSurface, + native_pixmap: Any): Boolean { + begin("eglCopyBuffers") + arg("display", display) + arg("surface", surface) + arg("native_pixmap", native_pixmap) + end() + val result = egl10.eglCopyBuffers(display, surface, native_pixmap) + returns(result) + checkError() + return result + } + + override fun eglCreateContext(display: EGLDisplay, config: EGLConfig, + share_context: EGLContext, attrib_list: IntArray): EGLContext { + begin("eglCreateContext") + arg("display", display) + arg("config", config) + arg("share_context", share_context) + arg("attrib_list", attrib_list) + end() + val result = egl10.eglCreateContext(display, config, + share_context, attrib_list) + returns(result) + checkError() + return result + } + + override fun eglCreatePbufferSurface(display: EGLDisplay, + config: EGLConfig, attrib_list: IntArray): EGLSurface { + begin("eglCreatePbufferSurface") + arg("display", display) + arg("config", config) + arg("attrib_list", attrib_list) + end() + val result = egl10.eglCreatePbufferSurface(display, config, + attrib_list) + returns(result) + checkError() + return result + } + + override fun eglCreatePixmapSurface(display: EGLDisplay, + config: EGLConfig, native_pixmap: Any, attrib_list: IntArray): EGLSurface { + begin("eglCreatePixmapSurface") + arg("display", display) + arg("config", config) + arg("native_pixmap", native_pixmap) + arg("attrib_list", attrib_list) + end() + val result = egl10.eglCreatePixmapSurface(display, config, + native_pixmap, attrib_list) + returns(result) + checkError() + return result + } + + override fun eglCreateWindowSurface(display: EGLDisplay, + config: EGLConfig, native_window: Any, attrib_list: IntArray): EGLSurface { + begin("eglCreateWindowSurface") + arg("display", display) + arg("config", config) + arg("native_window", native_window) + arg("attrib_list", attrib_list) + end() + val result = egl10.eglCreateWindowSurface(display, config, + native_window, attrib_list) + returns(result) + checkError() + return result + } + + override fun eglDestroyContext(display: EGLDisplay, context: EGLContext): Boolean { + begin("eglDestroyContext") + arg("display", display) + arg("context", context) + end() + val result = egl10.eglDestroyContext(display, context) + returns(result) + checkError() + return result + } + + override fun eglDestroySurface(display: EGLDisplay, surface: EGLSurface): Boolean { + begin("eglDestroySurface") + arg("display", display) + arg("surface", surface) + end() + val result = egl10.eglDestroySurface(display, surface) + returns(result) + checkError() + return result + } + + override fun eglGetConfigAttrib(display: EGLDisplay, config: EGLConfig, + attribute: Int, value: IntArray): Boolean { + begin("eglGetConfigAttrib") + arg("display", display) + arg("config", config) + arg("attribute", attribute) + end() + val result = egl10.eglGetConfigAttrib(display, config, attribute, + value) + arg("value", value) + returns(result) + checkError() + return false + } + + override fun eglGetConfigs(display: EGLDisplay, configs: Array, + config_size: Int, num_config: IntArray): Boolean { + begin("eglGetConfigs") + arg("display", display) + arg("config_size", config_size) + end() + val result = egl10.eglGetConfigs(display, configs, config_size, + num_config) + arg("configs", configs) + arg("num_config", num_config) + returns(result) + checkError() + return result + } + + override fun eglGetCurrentContext(): EGLContext { + begin("eglGetCurrentContext") + end() + val result = egl10.eglGetCurrentContext() + returns(result) + checkError() + return result + } + + override fun eglGetCurrentDisplay(): EGLDisplay { + begin("eglGetCurrentDisplay") + end() + val result = egl10.eglGetCurrentDisplay() + returns(result) + checkError() + return result + } + + override fun eglGetCurrentSurface(readdraw: Int): EGLSurface { + begin("eglGetCurrentSurface") + arg("readdraw", readdraw) + end() + val result = egl10.eglGetCurrentSurface(readdraw) + returns(result) + checkError() + return result + } + + override fun eglGetDisplay(native_display: Any): EGLDisplay { + begin("eglGetDisplay") + arg("native_display", native_display) + end() + val result = egl10.eglGetDisplay(native_display) + returns(result) + checkError() + return result + } + + override fun eglGetError(): Int { + begin("eglGetError") + end() + val result = egl10.eglGetError() + returns(getErrorString(result)) + return result + } + + override fun eglInitialize(display: EGLDisplay, major_minor: IntArray): Boolean { + begin("eglInitialize") + arg("display", display) + end() + val result = egl10.eglInitialize(display, major_minor) + returns(result) + arg("major_minor", major_minor) + checkError() + return result + } + + override fun eglMakeCurrent(display: EGLDisplay, draw: EGLSurface, + read: EGLSurface, context: EGLContext): Boolean { + begin("eglMakeCurrent") + arg("display", display) + arg("draw", draw) + arg("read", read) + arg("context", context) + end() + val result = egl10.eglMakeCurrent(display, draw, read, context) + returns(result) + checkError() + return result + } + + override fun eglQueryContext(display: EGLDisplay, context: EGLContext, + attribute: Int, value: IntArray): Boolean { + begin("eglQueryContext") + arg("display", display) + arg("context", context) + arg("attribute", attribute) + end() + val result = egl10.eglQueryContext(display, context, attribute, + value) + returns(value[0]) + returns(result) + checkError() + return result + } + + override fun eglQueryString(display: EGLDisplay, name: Int): String { + begin("eglQueryString") + arg("display", display) + arg("name", name) + end() + val result = egl10.eglQueryString(display, name) + returns(result) + checkError() + return result + } + + override fun eglQuerySurface(display: EGLDisplay, surface: EGLSurface, + attribute: Int, value: IntArray): Boolean { + begin("eglQuerySurface") + arg("display", display) + arg("surface", surface) + arg("attribute", attribute) + end() + val result = egl10.eglQuerySurface(display, surface, attribute, + value) + returns(value[0]) + returns(result) + checkError() + return result + } + + override fun eglSwapBuffers(display: EGLDisplay, surface: EGLSurface): Boolean { + begin("eglSwapBuffers") + arg("display", display) + arg("surface", surface) + end() + val result = egl10.eglSwapBuffers(display, surface) + returns(result) + checkError() + return result + } + + override fun eglTerminate(display: EGLDisplay): Boolean { + begin("eglTerminate") + arg("display", display) + end() + val result = egl10.eglTerminate(display) + returns(result) + checkError() + return result + } + + override fun eglWaitGL(): Boolean { + begin("eglWaitGL") + end() + val result = egl10.eglWaitGL() + returns(result) + checkError() + return result + } + + override fun eglWaitNative(engine: Int, bindTarget: Any): Boolean { + begin("eglWaitNative") + arg("engine", engine) + arg("bindTarget", bindTarget) + end() + val result = egl10.eglWaitNative(engine, bindTarget) + returns(result) + checkError() + return result + } + + private fun checkError() { + var eglError: Int + if (egl10.eglGetError().also { eglError = it } != EGL10.EGL_SUCCESS) { + val errorMessage = "eglError: " + getErrorString(eglError) + logLine(errorMessage) + if (checkError) { + throw GLException(eglError, errorMessage) + } + } + } + + private fun logLine(message: String) { + log(""" + $message + + """.trimIndent()) + } + + private fun log(message: String) { + try { + mLog!!.write(message) + } catch (e: IOException) { + // Ignore exception, keep on trying + } + } + + private fun begin(name: String) { + log("$name(") + argCount = 0 + } + + private fun arg(name: String, value: String) { + if (argCount++ > 0) { + log(", ") + } + if (logArgumentNames) { + log("$name=") + } + log(value) + } + + private fun end() { + log(");\n") + flush() + } + + private fun flush() { + try { + mLog!!.flush() + } catch (e: IOException) { + mLog = null + } + } + + private fun arg(name: String, value: Int) { + arg(name, value.toString()) + } + + private fun arg(name: String, `object`: Any) { + arg(name, toString(`object`)) + } + + private fun arg(name: String, `object`: EGLDisplay) { + if (`object` === EGL10.EGL_DEFAULT_DISPLAY) { + arg(name, "EGL10.EGL_DEFAULT_DISPLAY") + } else if (`object` === EGL10.EGL_NO_DISPLAY) { + arg(name, "EGL10.EGL_NO_DISPLAY") + } else { + arg(name, toString(`object`)) + } + } + + private fun arg(name: String, `object`: EGLContext) { + if (`object` === EGL10.EGL_NO_CONTEXT) { + arg(name, "EGL10.EGL_NO_CONTEXT") + } else { + arg(name, toString(`object`)) + } + } + + private fun arg(name: String, `object`: EGLSurface) { + if (`object` === EGL10.EGL_NO_SURFACE) { + arg(name, "EGL10.EGL_NO_SURFACE") + } else { + arg(name, toString(`object`)) + } + } + + private fun returns(result: String) { + log(" returns $result;\n") + flush() + } + + private fun returns(result: Int) { + returns(result.toString()) + } + + private fun returns(result: Boolean) { + returns(java.lang.Boolean.toString(result)) + } + + private fun returns(result: Any) { + returns(toString(result)) + } + + private fun toString(obj: Any?): String { + return obj?.toString() ?: "null" + } + + private fun arg(name: String, arr: IntArray) { + if (arr == null) { + arg(name, "null") + } else { + arg(name, toString(arr.size, arr, 0)) + } + } + + private fun arg(name: String, arr: Array?) { + if (arr == null) { + arg(name, "null") + } else { + arg(name, toString(arr.size, arr, 0)) + } + } + + private fun toString(n: Int, arr: IntArray, offset: Int): String { + val buf = StringBuilder() + buf.append("{\n") + val arrLen = arr.size + for (i in 0 until n) { + val index = offset + i + buf.append(" [").append(index).append("] = ") + if (index < 0 || index >= arrLen) { + buf.append("out of bounds") + } else { + buf.append(arr[index]) + } + buf.append('\n') + } + buf.append("}") + return buf.toString() + } + + private fun toString(n: Int, arr: Array, offset: Int): String { + val buf = StringBuilder() + buf.append("{\n") + val arrLen = arr.size + for (i in 0 until n) { + val index = offset + i + buf.append(" [").append(index).append("] = ") + if (index < 0 || index >= arrLen) { + buf.append("out of bounds") + } else { + buf.append(arr[index]) + } + buf.append('\n') + } + buf.append("}") + return buf.toString() + } + + companion object { + private fun getHex(value: Int): String { + return "0x" + Integer.toHexString(value) + } + + fun getErrorString(error: Int): String { + return when (error) { + EGL10.EGL_SUCCESS -> "EGL_SUCCESS" + EGL10.EGL_NOT_INITIALIZED -> "EGL_NOT_INITIALIZED" + EGL10.EGL_BAD_ACCESS -> "EGL_BAD_ACCESS" + EGL10.EGL_BAD_ALLOC -> "EGL_BAD_ALLOC" + EGL10.EGL_BAD_ATTRIBUTE -> "EGL_BAD_ATTRIBUTE" + EGL10.EGL_BAD_CONFIG -> "EGL_BAD_CONFIG" + EGL10.EGL_BAD_CONTEXT -> "EGL_BAD_CONTEXT" + EGL10.EGL_BAD_CURRENT_SURFACE -> "EGL_BAD_CURRENT_SURFACE" + EGL10.EGL_BAD_DISPLAY -> "EGL_BAD_DISPLAY" + EGL10.EGL_BAD_MATCH -> "EGL_BAD_MATCH" + EGL10.EGL_BAD_NATIVE_PIXMAP -> "EGL_BAD_NATIVE_PIXMAP" + EGL10.EGL_BAD_NATIVE_WINDOW -> "EGL_BAD_NATIVE_WINDOW" + EGL10.EGL_BAD_PARAMETER -> "EGL_BAD_PARAMETER" + EGL10.EGL_BAD_SURFACE -> "EGL_BAD_SURFACE" + EGL11.EGL_CONTEXT_LOST -> "EGL_CONTEXT_LOST" + else -> getHex(error) + } + } + } + + init { + egl10 = egl as EGL10 + mLog = log + logArgumentNames = GLDebugHelper.CONFIG_LOG_ARGUMENT_NAMES and configFlags != 0 + checkError = GLDebugHelper.CONFIG_CHECK_GL_ERROR and configFlags != 0 + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglContextWrapper.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglContextWrapper.kt new file mode 100644 index 0000000..828d4e7 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglContextWrapper.kt @@ -0,0 +1,48 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +import android.opengl.EGL14 +import javax.microedition.khronos.egl.EGL10 +import javax.microedition.khronos.egl.EGLContext + +open class EglContextWrapper { + + open lateinit var eglContextOld: EGLContext + + open var eglContext: android.opengl.EGLContext? = null + + class EGLNoContextWrapper : EglContextWrapper() { + + internal fun setEglContext(eglContext: android.opengl.EGLContext?) { + + } + + internal fun setEglContextOld(eglContextOld: EGLContext) { + + } + + init { + eglContextOld = EGL10.EGL_NO_CONTEXT + eglContext = EGL14.EGL_NO_CONTEXT + } + } + + companion object { + + val EGL_NO_CONTEXT_WRAPPER: EglContextWrapper = EGLNoContextWrapper() + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelper.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelper.kt new file mode 100644 index 0000000..6b9fc93 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelper.kt @@ -0,0 +1,202 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +import android.util.Log +import jp.eita.canvasgl.util.FileLogger +import jp.eita.canvasgl.util.Loggers +import javax.microedition.khronos.egl.* + +class EglHelper : IEglHelper { + + private val eglConfigChooser: GLThread.EGLConfigChooser + + private val eglContextFactory: GLThread.EGLContextFactory + + private val eglWindowSurfaceFactory: GLThread.EGLWindowSurfaceFactory + + private var egl: EGL10? = null + + private var eglDisplay: EGLDisplay? = null + + private var eglSurface: EGLSurface? = null + + private var eglConfig: EGLConfig? = null + + private var eglContext1: EGLContext? = null + + constructor(eglConfigChooser: GLThread.EGLConfigChooser, eglContextFactory: GLThread.EGLContextFactory, eglWindowSurfaceFactory: GLThread.EGLWindowSurfaceFactory) { + this.eglConfigChooser = eglConfigChooser + this.eglContextFactory = eglContextFactory + this.eglWindowSurfaceFactory = eglWindowSurfaceFactory + } + + /** + * Initialize EGL for a given configuration spec. + * + * @param eglContext + */ + override fun start(eglContext: EglContextWrapper?): EglContextWrapper? { + FileLogger.w("EglHelper", "start() tid=" + Thread.currentThread().id) + /* + * Get an EGL instance + */egl = EGLContext.getEGL() as EGL10 + + /* + * Get to the default display. + */eglDisplay = egl!!.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY) + if (eglDisplay === EGL10.EGL_NO_DISPLAY) { + throw RuntimeException("eglGetDisplay failed") + } + + /* + * We can now initialize EGL for that display + */ + val version = IntArray(2) + if (!egl!!.eglInitialize(eglDisplay, version)) { + throw RuntimeException("eglInitialize failed") + } + eglConfig = eglConfigChooser.chooseConfig(egl!!, eglDisplay) + + /* + * Create an EGL context. We want to do this as rarely as we can, because an + * EGL context is a somewhat heavy object. + */eglContext1 = eglContextFactory.createContext(egl!!, eglDisplay, eglConfig, eglContext!!.eglContextOld) + if (eglContext1 == null || eglContext1 === EGL10.EGL_NO_CONTEXT) { + eglContext1 = null + throwEglException("createContext", egl!!.eglGetError()) + } + FileLogger.w("EglHelper", "createContext " + eglContext1 + " tid=" + Thread.currentThread().id) + eglSurface = null + val eglContextWrapper = EglContextWrapper() + eglContextWrapper.eglContextOld = eglContext1!! + return eglContextWrapper + } + + /** + * Create an egl surface for the current SurfaceHolder surface. If a surface + * already exists, destroy it before creating the new surface. + * + * @return true if the surface was created successfully. + */ + override fun createSurface(surface: Any?): Boolean { + Loggers.w("EglHelper", "createSurface() tid=" + Thread.currentThread().id) + /* + * Check preconditions. + */if (egl == null) { + throw RuntimeException("egl not initialized") + } + if (eglDisplay == null) { + throw RuntimeException("eglDisplay not initialized") + } + if (eglConfig == null) { + throw RuntimeException("mEglConfig not initialized") + } + + /* + * The window size has changed, so we need to create a new + * surface. + */destroySurfaceImp() + fun throwEglException(function: String) { + throwEglException(function, egl!!.eglGetError()) + } + /* + * Create an EGL surface we can render into. + */eglSurface = eglWindowSurfaceFactory.createWindowSurface(egl!!, + eglDisplay, eglConfig, surface) + if (eglSurface == null || eglSurface === EGL10.EGL_NO_SURFACE) { + val error = egl!!.eglGetError() + if (error == EGL10.EGL_BAD_NATIVE_WINDOW) { + Log.e("EglHelper", "createWindowSurface returned EGL_BAD_NATIVE_WINDOW.") + } + return false + } + + /* + * Before we can issue GL commands, we need to make sure + * the context is current and bound to a surface. + */if (!egl!!.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext1)) { + /* + * Could not make the context current, probably because the underlying + * SurfaceView surface has been destroyed. + */ + logEglErrorAsWarning("EGLHelper", "eglMakeCurrent", egl!!.eglGetError()) + return false + } + return true + } + + /** + * Display the current render surface. + * + * @return the EGL error code from eglSwapBuffers. + */ + override fun swap(): Int { + return if (!egl!!.eglSwapBuffers(eglDisplay, eglSurface)) { + egl!!.eglGetError() + } else EGL10.EGL_SUCCESS + } + + override fun destroySurface() { + FileLogger.w(TAG, "destroySurface() tid=" + Thread.currentThread().id) + destroySurfaceImp() + } + + private fun destroySurfaceImp() { + if (eglSurface != null && eglSurface !== EGL10.EGL_NO_SURFACE) { + egl!!.eglMakeCurrent(eglDisplay, EGL10.EGL_NO_SURFACE, + EGL10.EGL_NO_SURFACE, + EGL10.EGL_NO_CONTEXT) + eglWindowSurfaceFactory.destroySurface(egl!!, eglDisplay, eglSurface) + eglSurface = null + } + } + + override fun finish() { + FileLogger.w(TAG, "finish() tid=" + Thread.currentThread().id) + if (eglContext1 != null) { + eglContextFactory.destroyContext(egl!!, eglDisplay!!, eglContext1!!) + eglContext1 = null + } + if (eglDisplay != null) { + egl!!.eglTerminate(eglDisplay) + eglDisplay = null + } + } + + override fun setPresentationTime(nsecs: Long) {} + + companion object { + + private const val TAG = "EglHelper" + + fun throwEglException(function: String, error: Int) { + val message = formatEglError(function, error) + FileLogger.e(TAG, "throwEglException tid=" + Thread.currentThread().id + " " + + message) + + throw RuntimeException(message) + } + + fun logEglErrorAsWarning(tag: String?, function: String, error: Int) { + Log.w(tag, formatEglError(function, error)) + } + + fun formatEglError(function: String, error: Int): String { + return function + " failed: " + EGLLogWrapper.getErrorString(error) + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelperFactory.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelperFactory.kt new file mode 100644 index 0000000..92c1bbe --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/EglHelperFactory.kt @@ -0,0 +1,27 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +object EglHelperFactory { + + fun create( + configChooser: GLThread.EGLConfigChooser, + eglContextFactory: GLThread.EGLContextFactory, + eglWindowSurfaceFactory: GLThread.EGLWindowSurfaceFactory + ): IEglHelper { + return EglHelper(configChooser, eglContextFactory, eglWindowSurfaceFactory) + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/GLThread.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/GLThread.kt new file mode 100644 index 0000000..b1c204c --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/GLThread.kt @@ -0,0 +1,1110 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +import android.annotation.TargetApi +import android.opengl.EGL14 +import android.opengl.EGLContext +import android.opengl.EGLExt +import android.opengl.EGLSurface +import android.os.Build +import android.util.Log +import android.view.Choreographer +import android.view.Choreographer.FrameCallback +import androidx.annotation.RequiresApi +import jp.eita.canvasgl.glview.texture.GLViewRenderer +import jp.eita.canvasgl.glview.texture.gles.EglContextWrapper.Companion.EGL_NO_CONTEXT_WRAPPER +import jp.eita.canvasgl.glview.texture.gles.EglHelper.Companion.logEglErrorAsWarning +import jp.eita.canvasgl.glview.texture.gles.EglHelper.Companion.throwEglException +import jp.eita.canvasgl.glview.texture.gles.EglHelperFactory.create +import jp.eita.canvasgl.util.FileLogger +import java.util.* +import javax.microedition.khronos.egl.EGL10 +import javax.microedition.khronos.egl.EGL11 +import javax.microedition.khronos.egl.EGLConfig +import javax.microedition.khronos.egl.EGLDisplay +import javax.microedition.khronos.opengles.GL + +/** + * This is the thread where the gl draw runs in. + * Create GL Context --> Create Surface + * And then draw with OpenGL and finally eglSwap to update the screen. + */ +class GLThread internal constructor(private val mEGLConfigChooser: EGLConfigChooser?, private val mEGLContextFactory: EGLContextFactory + , private val mEGLWindowSurfaceFactory: EGLWindowSurfaceFactory, private val mRenderer: GLViewRenderer + , private var mRenderMode: Int, private var mSurface: Any?, sharedEglContext: EglContextWrapper?) : Thread() { + + private val sGLThreadManager = GLThreadManager() + + private var onCreateGLContextListener: OnCreateGLContextListener? = null + + // Once the thread is started, all accesses to the following member + // variables are protected by the sGLThreadManager monitor + private var mShouldExit = false + + private var mExited = false + + private var mRequestPaused = false + + private var mPaused = false + + private var mHasSurface = false + + private var mSurfaceIsBad = false + + private var mWaitingForSurface = false + + private var mHaveEglContext = false + + private var mHaveEglSurface = false + + private var mFinishedCreatingEglSurface = false + + private var mWidth = 0 + + private var mHeight = 0 + + private var mRequestRender = true + + private var mWantRenderNotification = false + + private var mRenderComplete = false + + private val mEventQueue = ArrayList() + + private var mSizeChanged = true + + private var changeSurface = false + + var eglContext: EglContextWrapper? = EGL_NO_CONTEXT_WRAPPER + private set + private val mChoreographerRenderWrapper = ChoreographerRenderWrapper(this) + + private var frameTimeNanos: Long = 0 + + private var mEglHelper: IEglHelper? = null + + init { + eglContext = sharedEglContext + } + + fun setSurface(surface: Any) { + if (mSurface !== surface) { + changeSurface = true + } + mSurface = surface + } + + override fun run() { + name = "GLThread $id" + FileLogger.i(TAG, "starting tid=$id") + try { + guardedRun() + } catch (e: InterruptedException) { + // fall thru and exit normally + FileLogger.e(TAG, "", e) + } finally { + sGLThreadManager.threadExiting(this) + } + } + + /** + * This private method should only be called inside a + * synchronized(sGLThreadManager) block. + */ + private fun stopEglSurfaceLocked() { + if (mHaveEglSurface) { + mHaveEglSurface = false + mEglHelper!!.destroySurface() + } + } + + /** + * This private method should only be called inside a + * synchronized(sGLThreadManager) block. + */ + private fun stopEglContextLocked() { + if (mHaveEglContext) { + mEglHelper!!.finish() + mHaveEglContext = false + sGLThreadManager.releaseEglContextLocked(this) + } + } + + @Throws(InterruptedException::class) + private fun guardedRun() { + mEglHelper = create(mEGLConfigChooser!!, mEGLContextFactory, mEGLWindowSurfaceFactory) + mHaveEglContext = false + mHaveEglSurface = false + mWantRenderNotification = false + try { + var createEglContext = false + var createEglSurface = false + var createGlInterface = false + var lostEglContext = false + var sizeChanged = false + var wantRenderNotification = false + var doRenderNotification = false + var askedToReleaseEglContext = false + var w = 0 + var h = 0 + var event: Runnable? = null + while (true) { + synchronized(sGLThreadManager) { + // Create egl context here + while (true) { + if (mShouldExit) { + return + } + if (mEventQueue.isNotEmpty() && mHaveEglContext) { + event = mEventQueue.removeAt(0) + break + } + + // Update the pause state. + var pausing = false + if (mPaused != mRequestPaused) { + pausing = mRequestPaused + mPaused = mRequestPaused + sGLThreadManager.notifyAll() + FileLogger.i(TAG, "mPaused is now $mPaused tid=$id") + } + + // Have we lost the EGL context? + if (lostEglContext) { + FileLogger.i(TAG, "lostEglContext") + stopEglSurfaceLocked() + stopEglContextLocked() + lostEglContext = false + } + + // When pausing, release the EGL surface: + if (pausing && mHaveEglSurface) { + FileLogger.i(TAG, "releasing EGL surface because paused tid=$id") + stopEglSurfaceLocked() + } + + // Have we lost the SurfaceView surface? + if (!mHasSurface && !mWaitingForSurface) { + FileLogger.i(TAG, "noticed surfaceView surface lost tid=$id") + if (mHaveEglSurface) { + stopEglSurfaceLocked() + } + mWaitingForSurface = true + mSurfaceIsBad = false + sGLThreadManager.notifyAll() + } + + // Have we acquired the surface view surface? + if (mHasSurface && mWaitingForSurface) { + FileLogger.i(TAG, "noticed surfaceView surface acquired tid=$id") + mWaitingForSurface = false + sGLThreadManager.notifyAll() + } + if (doRenderNotification) { +// Log.i(TAG, "sending render notification tid=" + getId()); + mWantRenderNotification = false + doRenderNotification = false + mRenderComplete = true + sGLThreadManager.notifyAll() + } + + // Ready to draw? + if (readyToDraw()) { + + // If we don't have an EGL context, try to acquire one. + if (!mHaveEglContext) { + if (askedToReleaseEglContext) { + askedToReleaseEglContext = false + } else if (sGLThreadManager.tryAcquireEglContextLocked(this)) { + try { + eglContext = mEglHelper!!.start(eglContext) + if (onCreateGLContextListener != null) { + onCreateGLContextListener!!.onCreate(eglContext) + } + } catch (t: RuntimeException) { + sGLThreadManager.releaseEglContextLocked(this) + throw t + } + mHaveEglContext = true + createEglContext = true + sGLThreadManager.notifyAll() + } + } + if (mHaveEglContext && !mHaveEglSurface) { + mHaveEglSurface = true + createEglSurface = true + createGlInterface = true + sizeChanged = true + } + if (mHaveEglSurface) { + if (mSizeChanged) { + sizeChanged = true + w = mWidth + h = mHeight + mWantRenderNotification = true + FileLogger.i(TAG, "noticing that we want render notification tid=$id") + + // Destroy and recreate the EGL surface. + createEglSurface = true + mSizeChanged = false + } + if (changeSurface) { + createEglSurface = true + changeSurface = false + } + mRequestRender = false + sGLThreadManager.notifyAll() + if (mWantRenderNotification) { + wantRenderNotification = true + } + break + } + } + + // By design, this is the only place in a GLThread thread where we wait(). + if (LOG_THREADS) { + FileLogger.limitLog("", TAG, "waiting tid=" + id + + " mHaveEglContext: " + mHaveEglContext + + " mHaveEglSurface: " + mHaveEglSurface + + " mFinishedCreatingEglSurface: " + mFinishedCreatingEglSurface + + " mPaused: " + mPaused + + " mHasSurface: " + mHasSurface + + " mSurfaceIsBad: " + mSurfaceIsBad + + " mWaitingForSurface: " + mWaitingForSurface + + " mWidth: " + mWidth + + " mHeight: " + mHeight + + " mRequestRender: " + mRequestRender + + " mRenderMode: " + mRenderMode, 600) + } + sGLThreadManager.wait() + } + } // end of synchronized(sGLThreadManager) + if (event != null) { + event!!.run() + event = null + continue + } + if (createEglSurface) { + FileLogger.w(TAG, "egl createSurface") + if (mEglHelper!!.createSurface(mSurface)) { + synchronized(sGLThreadManager) { + mFinishedCreatingEglSurface = true + sGLThreadManager.notifyAll() + } + } else { + synchronized(sGLThreadManager) { + mFinishedCreatingEglSurface = true + mSurfaceIsBad = true + sGLThreadManager.notifyAll() + } + continue + } + createEglSurface = false + } + if (createGlInterface) { + createGlInterface = false + } + + // Make sure context and surface are created + if (createEglContext) { + FileLogger.w("GLThread", "onSurfaceCreated") + mRenderer.onSurfaceCreated() + createEglContext = false + } + if (sizeChanged) { + FileLogger.w(TAG, "onSurfaceChanged($w, $h)") + mRenderer.onSurfaceChanged(w, h) + sizeChanged = false + } + if (mChoreographerRenderWrapper.canSwap()) { + if (LOG_RENDERER_DRAW_FRAME) { + Log.w(TAG, "onDrawFrame tid=$id") + } + mRenderer.onDrawFrame() + mEglHelper!!.setPresentationTime(frameTimeNanos) + val swapError = mEglHelper!!.swap() + mChoreographerRenderWrapper.disableSwap() + when (swapError) { + EGL10.EGL_SUCCESS -> { + } + EGL11.EGL_CONTEXT_LOST -> { + FileLogger.i(TAG, "egl context lost tid=$id") + lostEglContext = true + } + else -> { + // Other errors typically mean that the current surface is bad, + // probably because the SurfaceView surface has been destroyed, + // but we haven't been notified yet. + // Log the error to help developers understand why rendering stopped. + logEglErrorAsWarning("GLThread", "eglSwapBuffers", swapError) + synchronized(sGLThreadManager) { + mSurfaceIsBad = true + sGLThreadManager.notifyAll() + } + } + } + } + if (wantRenderNotification) { + doRenderNotification = true + wantRenderNotification = false + } + } + } finally { + /* + * clean-up everything... + */ + synchronized(sGLThreadManager) { + stopEglSurfaceLocked() + stopEglContextLocked() + } + } + } + + @Synchronized + override fun start() { + super.start() + mChoreographerRenderWrapper.start() + } + + fun ableToDraw(): Boolean { + return mHaveEglContext && mHaveEglSurface && readyToDraw() + } + + private fun readyToDraw(): Boolean { + return (!mPaused && mHasSurface && !mSurfaceIsBad + && mWidth > 0 && mHeight > 0 + && mRequestRender) + } + + fun setOnCreateGLContextListener(onCreateGLContextListener: OnCreateGLContextListener?) { + this.onCreateGLContextListener = onCreateGLContextListener + } + + var renderMode: Int + get() = mRenderMode + set(renderMode) { + require(renderMode in RENDERMODE_WHEN_DIRTY..RENDERMODE_CONTINUOUSLY) { "renderMode" } + synchronized(sGLThreadManager) { + mRenderMode = renderMode + sGLThreadManager.notifyAll() + } + } + + @JvmOverloads + fun requestRender(frameTimeNanos: Long = 0) { + this.frameTimeNanos = frameTimeNanos + synchronized(sGLThreadManager) { + mRequestRender = true + sGLThreadManager.notifyAll() + } + } + + fun requestRenderAndWait() { + synchronized(sGLThreadManager) { + + // If we are already on the GL thread, this means a client callback + // has caused reentrancy, for example via updating the SurfaceView parameters. + // We will return to the client rendering code, so here we don't need to + // do anything. + if (currentThread() === this) { + return + } + mWantRenderNotification = true + mRequestRender = true + mRenderComplete = false + sGLThreadManager.notifyAll() + while (!mExited && !mPaused && !mRenderComplete && ableToDraw()) { + try { + sGLThreadManager.wait() + } catch (ex: InterruptedException) { + currentThread().interrupt() + } + } + } + } + + fun surfaceCreated() { + synchronized(sGLThreadManager) { + FileLogger.i(TAG, "surfaceCreated tid=$id") + mHasSurface = true + mFinishedCreatingEglSurface = false + sGLThreadManager.notifyAll() + while (mWaitingForSurface + && !mFinishedCreatingEglSurface + && !mExited) { + try { + sGLThreadManager.wait() + } catch (e: InterruptedException) { + currentThread().interrupt() + } + } + } + } + + /** + * mHasSurface = false --> mWaitingForSurface = true + * --> + */ + fun surfaceDestroyed() { + synchronized(sGLThreadManager) { + FileLogger.i(TAG, "surfaceDestroyed tid=$id") + mHasSurface = false + sGLThreadManager.notifyAll() + while (!mWaitingForSurface && !mExited) { + try { + sGLThreadManager.wait() + } catch (e: InterruptedException) { + currentThread().interrupt() + } + } + } + } + + /** + * mRequestPaused --> mPaused, pausing + * --> pausing && mHaveEglSurface, stopEglSurfaceLocked() + * --> pausing && mHaveEglContext, preserve context or not. + */ + fun onPause() { + synchronized(sGLThreadManager) { + FileLogger.i(TAG, "onPause tid=$id") + mRequestPaused = true + sGLThreadManager.notifyAll() + while (!mExited && !mPaused) { + FileLogger.i(TAG, "onPause waiting for mPaused.") + try { + sGLThreadManager.wait() + } catch (ex: InterruptedException) { + currentThread().interrupt() + } + } + mChoreographerRenderWrapper.stop() + } + } + + fun onResume() { + synchronized(sGLThreadManager) { + FileLogger.i(TAG, "onResume tid=$id") + mRequestPaused = false + mRequestRender = true + mRenderComplete = false + sGLThreadManager.notifyAll() + while (!mExited && mPaused && !mRenderComplete) { + FileLogger.i(TAG, "onResume waiting for !mPaused.") + try { + sGLThreadManager.wait() + } catch (ex: InterruptedException) { + currentThread().interrupt() + } + } + mChoreographerRenderWrapper.start() + } + } + + fun onWindowResize(w: Int, h: Int) { + synchronized(sGLThreadManager) { + FileLogger.d(TAG, "width:$w height:$h") + mWidth = w + mHeight = h + mSizeChanged = true + mRequestRender = true + mRenderComplete = false + + // If we are already on the GL thread, this means a client callback + // has caused reentrancy, for example via updating the SurfaceView parameters. + // We need to process the size change eventually though and update our EGLSurface. + // So we set the parameters and return so they can be processed on our + // next iteration. + if (currentThread() === this) { + return + } + sGLThreadManager.notifyAll() + + // Wait for thread to react to resize and render a frame + while (!mExited && !mPaused && !mRenderComplete + && ableToDraw()) { + FileLogger.i(TAG, "onWindowResize waiting for render complete from tid=$id") + try { + sGLThreadManager.wait() + } catch (ex: InterruptedException) { + currentThread().interrupt() + } + } + } + } + + fun requestExitAndWait() { + // don't call this from GLThread thread or it is a guaranteed + // deadlock! + synchronized(sGLThreadManager) { + mShouldExit = true + sGLThreadManager.notifyAll() + while (!mExited) { + try { + sGLThreadManager.wait() + } catch (ex: InterruptedException) { + currentThread().interrupt() + } + } + } + } + + /** + * Queue an "event" to be run on the GL rendering thread. + * + * @param r the runnable to be run on the GL rendering thread. + */ + fun queueEvent(r: Runnable?) { + requireNotNull(r) { "r must not be null" } + synchronized(sGLThreadManager) { + mEventQueue.add(r) + sGLThreadManager.notifyAll() + } + } + + // End of member variables protected by the sGLThreadManager monitor. + interface OnCreateGLContextListener { + fun onCreate(eglContext: EglContextWrapper?) + } + + interface GLWrapper { + /** + * Wraps a gl interface in another gl interface. + * + * @param gl a GL interface that is to be wrapped. + * @return either the input argument or another GL object that wraps the input argument. + */ + fun wrap(gl: GL?): GL? + } + + interface EGLConfigChooser { + /** + * Choose a configuration from the list. Implementors typically + * implement this method by calling + * [EGL10.eglChooseConfig] and iterating through the results. Please consult the + * EGL specification available from The Khronos Group to learn how to call eglChooseConfig. + * + * @param egl the EGL10 for the current display. + * @param display the current display. + * @return the chosen configuration. + */ + fun chooseConfig(egl: EGL10, display: EGLDisplay?): EGLConfig + fun chooseConfig(display: android.opengl.EGLDisplay?, recordable: Boolean): android.opengl.EGLConfig? + } + + interface EGLContextFactory { + fun createContext(egl: EGL10, display: EGLDisplay?, eglConfig: EGLConfig?, eglContext: javax.microedition.khronos.egl.EGLContext?): javax.microedition.khronos.egl.EGLContext? + fun destroyContext(egl: EGL10, display: EGLDisplay, context: javax.microedition.khronos.egl.EGLContext) + fun createContextAPI17(display: android.opengl.EGLDisplay?, eglConfig: android.opengl.EGLConfig?, eglContext: EGLContext?): EGLContext? + fun destroyContext(display: android.opengl.EGLDisplay, context: EGLContext) + } + + interface EGLWindowSurfaceFactory { + /** + * @return null if the surface cannot be constructed. + */ + fun createWindowSurface(egl: EGL10, display: EGLDisplay?, config: EGLConfig?, + nativeWindow: Any?): javax.microedition.khronos.egl.EGLSurface? + + fun destroySurface(egl: EGL10, display: EGLDisplay?, surface: javax.microedition.khronos.egl.EGLSurface?) + fun createWindowSurface(display: android.opengl.EGLDisplay?, config: android.opengl.EGLConfig?, + nativeWindow: Any?): EGLSurface? + + fun destroySurface(display: android.opengl.EGLDisplay?, surface: EGLSurface?) + } + + private class GLThreadManager : Object() { + + private var mEglOwner: GLThread? = null + + @Synchronized + fun threadExiting(thread: GLThread) { + FileLogger.i(TAG, "exiting tid=" + thread.id) + thread.mExited = true + if (mEglOwner === thread) { + mEglOwner = null + } + notifyAll() + } + + /* + * Tries once to acquire the right to use an EGL + * context. Does not block. Requires that we are already + * in the sGLThreadManager monitor when this is called. + * + * @return true if the right to use an EGL context was acquired. + */ + fun tryAcquireEglContextLocked(thread: GLThread): Boolean { + if (mEglOwner === thread || mEglOwner == null) { + mEglOwner = thread + notifyAll() + return true + } + return true + } + + /* + * Releases the EGL context. Requires that we are already in the + * sGLThreadManager monitor when this is called. + */ + fun releaseEglContextLocked(thread: GLThread) { + if (mEglOwner === thread) { + mEglOwner = null + } + notifyAll() + } + } + + abstract class BaseConfigChooser(configSpec: IntArray, contextClientVersion: Int) : EGLConfigChooser { + + protected var mConfigSpec: IntArray + + private val contextClientVersion: Int + + init { + mConfigSpec = filterConfigSpec(configSpec) + this.contextClientVersion = contextClientVersion + } + + override fun chooseConfig(egl: EGL10, display: EGLDisplay?): EGLConfig { + val numConfig = IntArray(1) + require(egl.eglChooseConfig(display, mConfigSpec, null, 0, + numConfig)) { "eglChooseConfig failed" } + val numConfigs = numConfig[0] + require(numConfigs > 0) { "No configs match configSpec" } + val configs = arrayOfNulls(numConfigs) + require(egl.eglChooseConfig(display, mConfigSpec, configs, numConfigs, + numConfig)) { "eglChooseConfig#2 failed" } + return chooseConfig(egl, display, configs) + ?: throw IllegalArgumentException("No config chosen") + } + + abstract fun chooseConfig(egl: EGL10, display: EGLDisplay?, + configs: Array): EGLConfig? + + private fun filterConfigSpec(configSpec: IntArray): IntArray { + if (contextClientVersion != 2 && contextClientVersion != 3) { + return configSpec + } + /* We know none of the subclasses define EGL_RENDERABLE_TYPE. + * And we know the configSpec is well formed. + */ + val len = configSpec.size + val newConfigSpec = IntArray(len + 2) + System.arraycopy(configSpec, 0, newConfigSpec, 0, len - 1) + newConfigSpec[len - 1] = EGL10.EGL_RENDERABLE_TYPE + if (contextClientVersion == 2) { + newConfigSpec[len] = EGL14.EGL_OPENGL_ES2_BIT /* EGL_OPENGL_ES2_BIT */ + } else { + newConfigSpec[len] = EGLExt.EGL_OPENGL_ES3_BIT_KHR /* EGL_OPENGL_ES3_BIT_KHR */ + } + newConfigSpec[len + 1] = EGL10.EGL_NONE + + return newConfigSpec + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + override fun chooseConfig(display: android.opengl.EGLDisplay?, recordable: Boolean): android.opengl.EGLConfig? { + var renderableType = EGL14.EGL_OPENGL_ES2_BIT + if (contextClientVersion >= 3) { + renderableType = renderableType or EGLExt.EGL_OPENGL_ES3_BIT_KHR + } + + // The actual surface is generally RGBA or RGBX, so situationally omitting alpha + // doesn't really help. It can also lead to a huge performance hit on glReadPixels() + // when reading into a GL_RGBA buffer. + val attribList = intArrayOf( + EGL14.EGL_RED_SIZE, 8, + EGL14.EGL_GREEN_SIZE, 8, + EGL14.EGL_BLUE_SIZE, 8, + EGL14.EGL_ALPHA_SIZE, 8, //EGL14.EGL_DEPTH_SIZE, 16, + //EGL14.EGL_STENCIL_SIZE, 8, + EGL14.EGL_RENDERABLE_TYPE, renderableType, + EGL14.EGL_NONE, 0, // placeholder for recordable [@-3] + EGL14.EGL_NONE + ) + if (recordable) { + attribList[attribList.size - 3] = EGL_RECORDABLE_ANDROID + attribList[attribList.size - 2] = 1 + } + + val configs = arrayOfNulls(1) + val numConfigs = IntArray(1) + if (!EGL14.eglChooseConfig(display, attribList, 0, configs, 0, configs.size, + numConfigs, 0)) { + Log.w("GLThread", "unable to find RGB8888 / $contextClientVersion EGLConfig") + return null + } + + return configs[0] + } + + companion object { + + private const val EGL_RECORDABLE_ANDROID = 0x3142 + } + } + + /** + * Choose a configuration with exactly the specified r,g,b,a sizes, + * and at least the specified depth and stencil sizes. + */ + open class ComponentSizeChooser(redSize: Int, greenSize: Int, blueSize: Int, + alphaSize: Int, depthSize: Int, stencilSize: Int, contextClientVersion: Int) : BaseConfigChooser(intArrayOf( + EGL10.EGL_RED_SIZE, redSize, + EGL10.EGL_GREEN_SIZE, greenSize, + EGL10.EGL_BLUE_SIZE, blueSize, + EGL10.EGL_ALPHA_SIZE, alphaSize, + EGL10.EGL_DEPTH_SIZE, depthSize, + EGL10.EGL_STENCIL_SIZE, stencilSize, + EGL10.EGL_NONE), contextClientVersion) { + + // Subclasses can adjust these values: + protected var mRedSize: Int + + protected var mGreenSize: Int + + protected var mBlueSize: Int + + protected var mAlphaSize: Int + + protected var mDepthSize: Int + + protected var mStencilSize: Int + + private val mValue: IntArray + + override fun chooseConfig(egl: EGL10, display: EGLDisplay?, + configs: Array): EGLConfig? { + for (config in configs) { + val d = findConfigAttrib(egl, display, config, + EGL10.EGL_DEPTH_SIZE, 0) + val s = findConfigAttrib(egl, display, config, + EGL10.EGL_STENCIL_SIZE, 0) + if (d >= mDepthSize && s >= mStencilSize) { + val r = findConfigAttrib(egl, display, config, + EGL10.EGL_RED_SIZE, 0) + val g = findConfigAttrib(egl, display, config, + EGL10.EGL_GREEN_SIZE, 0) + val b = findConfigAttrib(egl, display, config, + EGL10.EGL_BLUE_SIZE, 0) + val a = findConfigAttrib(egl, display, config, + EGL10.EGL_ALPHA_SIZE, 0) + if (r == mRedSize && g == mGreenSize + && b == mBlueSize && a == mAlphaSize) { + return config + } + } + } + return null + } + + private fun findConfigAttrib(egl: EGL10, display: EGLDisplay?, + config: EGLConfig?, attribute: Int, defaultValue: Int): Int { + return if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) { + mValue[0] + } else { + defaultValue + } + } + + init { + mValue = IntArray(1) + mRedSize = redSize + mGreenSize = greenSize + mBlueSize = blueSize + mAlphaSize = alphaSize + mDepthSize = depthSize + mStencilSize = stencilSize + } + } + + /** + * This class will choose a RGB_888 surface with + * or without a depth buffer. + */ + class SimpleEGLConfigChooser : ComponentSizeChooser { + constructor(withDepthBuffer: Boolean, contextClientVersion: Int) : super(8, 8, 8, 0, if (withDepthBuffer) 16 else 0, 0, contextClientVersion) + constructor(redSize: Int, greenSize: Int, blueSize: Int, alphaSize: Int, depthSize: Int, stencilSize: Int, contextClientVersion: Int) : super(redSize, greenSize, blueSize, alphaSize, depthSize, stencilSize, contextClientVersion) + + companion object { + fun createConfigChooser(withDepthBuffer: Boolean, contextClientVersion: Int): SimpleEGLConfigChooser { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + SimpleEGLConfigChooser(withDepthBuffer, contextClientVersion) + } else { + SimpleEGLConfigChooser(5, 6, 5, 8, 0, 0, contextClientVersion) + } + } + } + } + + class DefaultContextFactory(private val contextClientVersion: Int) : EGLContextFactory { + + private val EGL_CONTEXT_CLIENT_VERSION = 0x3098 + + override fun createContext(egl: EGL10, display: EGLDisplay?, eglConfig: EGLConfig?, eglContext: javax.microedition.khronos.egl.EGLContext?): javax.microedition.khronos.egl.EGLContext? { + val attribList = intArrayOf( + EGL_CONTEXT_CLIENT_VERSION, contextClientVersion, + EGL10.EGL_NONE) + return egl.eglCreateContext(display, eglConfig, eglContext, + if (contextClientVersion != 0) attribList else null) + } + + override fun destroyContext(egl: EGL10, display: EGLDisplay, + context: javax.microedition.khronos.egl.EGLContext) { + if (!egl.eglDestroyContext(display, context)) { + FileLogger.e(TAG, "DefaultContextFactory display:$display context: $context") + throwEglException("eglDestroyContext", egl.eglGetError()) + } + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + override fun createContextAPI17(display: android.opengl.EGLDisplay?, eglConfig: android.opengl.EGLConfig?, eglContext: EGLContext?): EGLContext? { + val attribList = intArrayOf( + EGL14.EGL_CONTEXT_CLIENT_VERSION, contextClientVersion, + EGL14.EGL_NONE) + return EGL14.eglCreateContext(display, eglConfig, eglContext, attribList, 0) + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + override fun destroyContext(display: android.opengl.EGLDisplay, context: EGLContext) { + if (!EGL14.eglDestroyContext(display, context)) { + FileLogger.e(TAG, "DefaultContextFactory display:$display context: $context") + throwEglException("eglDestroyContext", EGL14.eglGetError()) + } + } + + } + + class DefaultWindowSurfaceFactory : EGLWindowSurfaceFactory { + + override fun createWindowSurface(egl: EGL10, display: EGLDisplay?, + config: EGLConfig?, nativeWindow: Any?): javax.microedition.khronos.egl.EGLSurface? { + val surfaceAttribs = intArrayOf( + EGL10.EGL_NONE + ) + var result: javax.microedition.khronos.egl.EGLSurface? = null + try { + result = egl.eglCreateWindowSurface(display, config, nativeWindow, surfaceAttribs) + } catch (e: IllegalArgumentException) { + // This exception indicates that the surface flinger surface + // is not valid. This can happen if the surface flinger surface has + // been torn down, but the application has not yet been + // notified via SurfaceHolder.Callback.surfaceDestroyed. + // In theory the application should be notified first, + // but in practice sometimes it is not. See b/4588890 + Log.e("DefaultWindow", "eglCreateWindowSurface", e) + } + return result + } + + override fun destroySurface(egl: EGL10, display: EGLDisplay?, + surface: javax.microedition.khronos.egl.EGLSurface?) { + egl.eglDestroySurface(display, surface) + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + override fun createWindowSurface(display: android.opengl.EGLDisplay?, config: android.opengl.EGLConfig?, nativeWindow: Any?): EGLSurface? { + val surfaceAttribs = intArrayOf( + EGL14.EGL_NONE + ) + var result: EGLSurface? = null + try { + result = EGL14.eglCreateWindowSurface(display, config, nativeWindow, surfaceAttribs, 0) + } catch (e: IllegalArgumentException) { + // This exception indicates that the surface flinger surface + // is not valid. This can happen if the surface flinger surface has + // been torn down, but the application has not yet been + // notified via SurfaceHolder.Callback.surfaceDestroyed. + // In theory the application should be notified first, + // but in practice sometimes it is not. See b/4588890 + Log.e("DefaultWindow", "eglCreateWindowSurface", e) + } + return result + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + override fun destroySurface(display: android.opengl.EGLDisplay?, surface: EGLSurface?) { + EGL14.eglDestroySurface(display, surface) + } + } + + class Builder { + + private var configChooser: EGLConfigChooser? = null + + private var eglContextFactory: EGLContextFactory? = null + + private var eglWindowSurfaceFactory: EGLWindowSurfaceFactory? = null + + private var renderer: GLViewRenderer? = null + + private var eglContextClientVersion = 2 + + private var renderMode = RENDERMODE_WHEN_DIRTY + + private var surface: Any? = null + + private var eglContext = EGL_NO_CONTEXT_WRAPPER + + fun setSurface(surface: Any?): Builder { + this.surface = surface + return this + } + + fun setEGLConfigChooser(needDepth: Boolean): Builder { + setEGLConfigChooser(SimpleEGLConfigChooser.createConfigChooser(needDepth, eglContextClientVersion)) + return this + } + + fun setEGLConfigChooser(configChooser: EGLConfigChooser?): Builder { + this.configChooser = configChooser + return this + } + + fun setEGLConfigChooser(redSize: Int, greenSize: Int, blueSize: Int, + alphaSize: Int, depthSize: Int, stencilSize: Int): Builder { + setEGLConfigChooser(ComponentSizeChooser(redSize, greenSize, + blueSize, alphaSize, depthSize, stencilSize, eglContextClientVersion)) + return this + } + + fun setEglContextFactory(eglContextFactory: EGLContextFactory?): Builder { + this.eglContextFactory = eglContextFactory + return this + } + + fun setEglWindowSurfaceFactory(eglWindowSurfaceFactory: EGLWindowSurfaceFactory?): Builder { + this.eglWindowSurfaceFactory = eglWindowSurfaceFactory + return this + } + + fun setRenderer(renderer: GLViewRenderer?): Builder { + this.renderer = renderer + return this + } + + fun setGLWrapper(mGLWrapper: GLWrapper?): Builder { + return this + } + + fun setEglContextClientVersion(eglContextClientVersion: Int): Builder { + this.eglContextClientVersion = eglContextClientVersion + return this + } + + fun setRenderMode(renderMode: Int): Builder { + this.renderMode = renderMode + return this + } + + fun setSharedEglContext(sharedEglContext: EglContextWrapper): Builder { + eglContext = sharedEglContext + return this + } + + fun createGLThread(): GLThread { + if (renderer == null) { + throw NullPointerException("renderer has not been set") + } + if (surface == null && eglWindowSurfaceFactory == null) { + throw NullPointerException("surface has not been set") + } + if (configChooser == null) { + configChooser = SimpleEGLConfigChooser.createConfigChooser(true, eglContextClientVersion) + } + if (eglContextFactory == null) { + eglContextFactory = DefaultContextFactory(eglContextClientVersion) + } + if (eglWindowSurfaceFactory == null) { + eglWindowSurfaceFactory = DefaultWindowSurfaceFactory() + } + return GLThread(configChooser, eglContextFactory!!, eglWindowSurfaceFactory!!, renderer!!, renderMode, surface, eglContext) + } + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + class ChoreographerRender @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) constructor(private val glThread: GLThread) : FrameCallback { + + // Only used when render mode is RENDERMODE_CONTINUOUSLY + private var canSwap = true + override fun doFrame(frameTimeNanos: Long) { + if (glThread.mRenderMode == RENDERMODE_CONTINUOUSLY) { + canSwap = true + glThread.requestRender(frameTimeNanos) + Choreographer.getInstance().postFrameCallback(this) + } + } + + fun start() { + Choreographer.getInstance().postFrameCallback(this) + } + + fun stop() { + Choreographer.getInstance().removeFrameCallback(this) + } + + fun isCanSwap(): Boolean { + return canSwap || glThread.mRenderMode == RENDERMODE_WHEN_DIRTY + } + + fun setCanSwap(canSwap: Boolean) { + this.canSwap = canSwap + } + + } + + class ChoreographerRenderWrapper(glThread: GLThread) { + + private var choreographerRender: ChoreographerRender? = null + + init { + choreographerRender = ChoreographerRender(glThread) + } + + fun start() { + choreographerRender?.start() + } + + fun stop() { + choreographerRender?.start() + } + + fun canSwap(): Boolean { + return if (choreographerRender != null) { + choreographerRender!!.isCanSwap() + } else true + } + + fun disableSwap() { + choreographerRender?.setCanSwap(false) + } + } + + companion object { + + const val LOG_RENDERER_DRAW_FRAME = false + + const val LOG_THREADS = false + + const val RENDERMODE_WHEN_DIRTY = 0 + + const val RENDERMODE_CONTINUOUSLY = 1 + + private const val TAG = "GLThread" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/IEglHelper.kt b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/IEglHelper.kt new file mode 100644 index 0000000..11ebf74 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/glview/texture/gles/IEglHelper.kt @@ -0,0 +1,31 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.glview.texture.gles + +interface IEglHelper { + + fun start(eglContext: EglContextWrapper?): EglContextWrapper? + + fun createSurface(surface: Any?): Boolean + + fun swap(): Int + + fun destroySurface() + + fun finish() + + fun setPresentationTime(nsecs: Long) +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/matrix/BaseBitmapMatrix.kt b/opengl/src/main/java/jp/eita/canvasgl/matrix/BaseBitmapMatrix.kt new file mode 100644 index 0000000..47a320f --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/matrix/BaseBitmapMatrix.kt @@ -0,0 +1,82 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.matrix + +import android.opengl.Matrix +import java.util.* + +abstract class BaseBitmapMatrix : IBitmapMatrix { + + @JvmField + protected var transform = FloatArray(7) + + @JvmField + protected var tempMultiplyMatrix4 = FloatArray(MATRIX_SIZE) + + @JvmField + protected var mViewMatrix = FloatArray(MATRIX_SIZE) + + @JvmField + protected var mProjectionMatrix = FloatArray(MATRIX_SIZE) + + @JvmField + protected var mModelMatrix = FloatArray(MATRIX_SIZE) + + @JvmField + protected var viewProjectionMatrix = FloatArray(MATRIX_SIZE) + + @JvmField + protected var mvp = FloatArray(MATRIX_SIZE) + + fun reset() { + Matrix.setIdentityM(mViewMatrix, 0) + Matrix.setIdentityM(mProjectionMatrix, 0) + Matrix.setIdentityM(mModelMatrix, 0) + Matrix.setIdentityM(viewProjectionMatrix, 0) + Matrix.setIdentityM(mvp, 0) + Matrix.setIdentityM(tempMultiplyMatrix4, 0) + Arrays.fill(transform, 0f) + transform[SCALE_X] = 1f + transform[SCALE_Y] = 1f + } + + companion object { + + const val TRANSLATE_X = 0 + + const val TRANSLATE_Y = 1 + + const val SCALE_X = 2 + + const val SCALE_Y = 3 + + const val ROTATE_X = 4 + + const val ROTATE_Y = 5 + + const val ROTATE_Z = 6 + + const val MATRIX_SIZE = 16 + + const val NEAR = 1f + + const val FAR = 10f // The plane is at -10 + + const val EYEZ = 5f + + const val Z_RATIO = (FAR + NEAR) / 2 / NEAR // The scale ratio when the picture moved to the middle of the perspective projection. + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/matrix/IBitmapMatrix.kt b/opengl/src/main/java/jp/eita/canvasgl/matrix/IBitmapMatrix.kt new file mode 100644 index 0000000..36ce36e --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/matrix/IBitmapMatrix.kt @@ -0,0 +1,25 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.matrix + +/** + * The output is MVP matrix of OpenGL, which is used to calculate gl_position. + * gl_position = MVP * [x,y,z,w] + */ +interface IBitmapMatrix { + + fun obtainResultMatrix(viewportW: Int, viewportH: Int, x: Float, y: Float, drawW: Float, drawH: Float): FloatArray? +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/BasicDrawShapeFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/BasicDrawShapeFilter.kt new file mode 100644 index 0000000..98f84f1 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/BasicDrawShapeFilter.kt @@ -0,0 +1,54 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.shapeFilter + +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.GLES20Canvas + +open class BasicDrawShapeFilter : DrawShapeFilter { + + override val vertexShader = DRAW_VERTEX_SHADER + + override val fragmentShader = DRAW_FRAGMENT_SHADER + + override fun onPreDraw(program: Int, canvas: ICanvasGL?) {} + + override fun destroy() {} + + companion object { + + const val MATRIX_UNIFORM = GLES20Canvas.MATRIX_UNIFORM + + const val POSITION_ATTRIBUTE = GLES20Canvas.POSITION_ATTRIBUTE + + const val COLOR_UNIFORM = GLES20Canvas.COLOR_UNIFORM + + const val DRAW_FRAGMENT_SHADER = ("" + + "precision mediump float;\n" + + "uniform vec4 " + COLOR_UNIFORM + ";\n" + + "void main() {\n" + + " gl_FragColor = " + COLOR_UNIFORM + ";\n" + + "}\n") + + const val DRAW_VERTEX_SHADER = ("" + + "uniform mat4 " + MATRIX_UNIFORM + ";\n" + + "attribute vec2 " + POSITION_ATTRIBUTE + ";\n" + + "void main() {\n" + + " vec4 pos = vec4(" + POSITION_ATTRIBUTE + ", 0.0, 1.0);\n" + + " gl_Position = " + MATRIX_UNIFORM + " * pos;\n" + + "}\n") + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawCircleFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawCircleFilter.kt new file mode 100644 index 0000000..6c28645 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawCircleFilter.kt @@ -0,0 +1,65 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.shapeFilter + +import android.opengl.GLES20 +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat + +class DrawCircleFilter : BasicDrawShapeFilter() { + + var lineWidth = 0f + + override fun onPreDraw(program: Int, canvas: ICanvasGL?) { + super.onPreDraw(program, canvas) + val lineWidthLocation = GLES20.glGetUniformLocation(program, UNIFORM_LINE_WIDTH) + setFloat(lineWidthLocation, lineWidth) + } + + companion object { + const val VARYING_DRAW_REGION_COORD = "vDrawRegionCoord" + + const val VERTEXT_SHADER = ("" + + "uniform mat4 " + MATRIX_UNIFORM + ";\n" + + "attribute vec2 " + POSITION_ATTRIBUTE + ";\n" + + "varying vec2 " + VARYING_DRAW_REGION_COORD + ";\n" + + "void main() {\n" + + " vec4 pos = vec4(" + POSITION_ATTRIBUTE + ", 0.0, 1.0);\n" + + " gl_Position = " + MATRIX_UNIFORM + " * pos;\n" + + " " + VARYING_DRAW_REGION_COORD + " = pos.xy;\n" + + "}\n") + + const val UNIFORM_LINE_WIDTH = "lineWidth" + + const val FRAGMENT_SHADER = ("" + + "precision mediump float;\n" + + "varying vec2 " + VARYING_DRAW_REGION_COORD + ";\n" + + "uniform vec4 " + COLOR_UNIFORM + ";\n" + + "uniform float " + UNIFORM_LINE_WIDTH + ";\n" + + "void main() {\n" + + " float dx = " + VARYING_DRAW_REGION_COORD + ".x - 0.5;\n" + + " float dy = " + VARYING_DRAW_REGION_COORD + ".y - 0.5;\n" + + " float powVal = dx*dx + dy*dy; \n" + + " float subRadius = 0.5 - " + UNIFORM_LINE_WIDTH + "; \n" + + " if(powVal >= subRadius * subRadius && powVal <= 0.5 * 0.5) {\n" + + " gl_FragColor = " + COLOR_UNIFORM + ";\n" + + " } else {\n" + + " gl_FragColor = vec4(0, 0, 0, 0);\n" + + " }\n" + + " \n" + + "}\n") + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawShapeFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawShapeFilter.kt new file mode 100644 index 0000000..7fc9197 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/shapeFilter/DrawShapeFilter.kt @@ -0,0 +1,29 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.shapeFilter + +import jp.eita.canvasgl.ICanvasGL + +interface DrawShapeFilter { + + val vertexShader: String? + + val fragmentShader: String? + + fun onPreDraw(program: Int, canvas: ICanvasGL?) + + fun destroy() +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/BasicTextureFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/BasicTextureFilter.kt new file mode 100644 index 0000000..9ab08e0 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/BasicTextureFilter.kt @@ -0,0 +1,81 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.BasicTexture +import jp.eita.canvasgl.glcanvas.GLES20Canvas + +open class BasicTextureFilter : TextureFilter { + + override val vertexShader: String + get() = TEXTURE_VERTEX_SHADER + + override val fragmentShader: String + get() = TEXTURE_FRAGMENT_SHADER + + override val oesFragmentProgram: String + get() { + return """ + #extension GL_OES_EGL_image_external : require + ${fragmentShader.replace(SAMPLER_2D, SAMPLER_EXTERNAL_OES)} + """.trimIndent() + } + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) {} + + override fun destroy() {} + + companion object { + + const val MATRIX_UNIFORM = GLES20Canvas.MATRIX_UNIFORM + + const val TEXTURE_MATRIX_UNIFORM = GLES20Canvas.TEXTURE_MATRIX_UNIFORM + + const val POSITION_ATTRIBUTE = GLES20Canvas.POSITION_ATTRIBUTE + + const val VARYING_TEXTURE_COORD = "vTextureCoord" + + const val TEXTURE_VERTEX_SHADER = ("" + + "uniform mat4 " + MATRIX_UNIFORM + ";\n" + + "uniform mat4 " + TEXTURE_MATRIX_UNIFORM + ";\n" + + "attribute vec2 " + POSITION_ATTRIBUTE + ";\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "void main() {\n" + + " vec4 pos = vec4(" + POSITION_ATTRIBUTE + ", 0.0, 1.0);\n" + + " gl_Position = " + MATRIX_UNIFORM + " * pos;\n" + + " " + VARYING_TEXTURE_COORD + " = (" + TEXTURE_MATRIX_UNIFORM + " * pos).xy;\n" + + "}\n") + + const val ALPHA_UNIFORM = GLES20Canvas.ALPHA_UNIFORM + + const val TEXTURE_SAMPLER_UNIFORM = GLES20Canvas.TEXTURE_SAMPLER_UNIFORM + + const val SAMPLER_2D = "sampler2D" + + const val TEXTURE_FRAGMENT_SHADER = ("" + + "precision mediump float;\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "uniform float " + ALPHA_UNIFORM + ";\n" + + "uniform " + SAMPLER_2D + " " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + "void main() {\n" + + " gl_FragColor = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + " gl_FragColor *= " + ALPHA_UNIFORM + ";\n" + + "}\n") + + const val SAMPLER_EXTERNAL_OES = "samplerExternalOES" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/ContrastFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/ContrastFilter.kt new file mode 100644 index 0000000..2c5e2c9 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/ContrastFilter.kt @@ -0,0 +1,61 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.opengl.GLES20 +import androidx.annotation.FloatRange +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat +import jp.eita.canvasgl.glcanvas.BasicTexture + +/** + * Changes the contrast of the image.

+ *

+ * contrast value ranges from 0.0 to 4.0, with 1.0 as the normal level + */ +class ContrastFilter(@param:FloatRange(from = 0.0, to = 4.0) private var contrast: Float) : BasicTextureFilter(), OneValueFilter { + + override val fragmentShader: String + get() = CONTRAST_FRAGMENT_SHADER + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + val contrastLocation = GLES20.glGetUniformLocation(program, UNIFORM_CONTRAST) + setFloat(contrastLocation, contrast) + } + + override fun setValue(@FloatRange(from = 0.0, to = 4.0) contrast: Float) { + this.contrast = contrast + } + + companion object { + + const val UNIFORM_CONTRAST = "contrast" + + const val CONTRAST_FRAGMENT_SHADER = ("" + + "precision mediump float;\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "uniform float " + ALPHA_UNIFORM + ";\n" + + "uniform float " + UNIFORM_CONTRAST + ";\n" + + "uniform sampler2D " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + "void main() {\n" + + " vec4 textureColor = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + " gl_FragColor = vec4(((textureColor.rgb - vec3(0.5)) * " + UNIFORM_CONTRAST + "+ vec3(0.5)), textureColor.w);\n" + + " gl_FragColor *= " + ALPHA_UNIFORM + ";\n" + + "}\n") + } + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/CropFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/CropFilter.kt new file mode 100644 index 0000000..a047535 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/CropFilter.kt @@ -0,0 +1,69 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.opengl.GLES20 +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat +import jp.eita.canvasgl.glcanvas.BasicTexture + +class CropFilter(var left: Float, var top: Float, var right: Float, var bottom: Float) : BasicTextureFilter() { + + override val fragmentShader: String + get() = CROP_FRAGMENT_SHADER + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + setFloat(GLES20.glGetUniformLocation(program, UNIFORM_LEFT), left) + setFloat(GLES20.glGetUniformLocation(program, UNIFORM_TOP), top) + setFloat(GLES20.glGetUniformLocation(program, UNIFORM_RIGHT), right) + setFloat(GLES20.glGetUniformLocation(program, UNIFORM_BOTTOM), bottom) + } + + companion object { + + private const val UNIFORM_LEFT = "left" + + private const val UNIFORM_TOP = "top" + + private const val UNIFORM_RIGHT = "right" + + private const val UNIFORM_BOTTOM = "bottom" + + private const val CROP_FRAGMENT_SHADER = ("" + + "precision mediump float;\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "uniform float " + ALPHA_UNIFORM + ";\n" + + "uniform " + SAMPLER_2D + " " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + " uniform highp float " + UNIFORM_LEFT + ";\n" + + " uniform highp float " + UNIFORM_TOP + ";\n" + + " uniform highp float " + UNIFORM_RIGHT + ";\n" + + " uniform highp float " + UNIFORM_BOTTOM + ";\n" + + "void main() {\n" + + "if( " + VARYING_TEXTURE_COORD + ".x > " + UNIFORM_LEFT + " && " + VARYING_TEXTURE_COORD + ".x < " + UNIFORM_RIGHT + + " && " + VARYING_TEXTURE_COORD + ".y > " + UNIFORM_TOP + " && " + VARYING_TEXTURE_COORD + ".y < " + UNIFORM_BOTTOM + ") {" + + " gl_FragColor = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + "} else {" + + " gl_FragColor = " + "vec4(0, 0, 0, 0)" + ";\n" + + "}" + + "}\n") + + fun calc(wantCoord: Int, size: Int): Float { + return wantCoord.toFloat() / size + } + } + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/DarkenBlendFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/DarkenBlendFilter.kt new file mode 100644 index 0000000..9ce68b9 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/DarkenBlendFilter.kt @@ -0,0 +1,44 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.graphics.Bitmap + +class DarkenBlendFilter : TwoTextureFilter { + override val fragmentShader: String + get() = DARKEN_BLEND_FRAGMENT_SHADER + + constructor(bitmap: Bitmap) : super(bitmap) + + constructor() : super() + + companion object { + const val DARKEN_BLEND_FRAGMENT_SHADER = "precision mediump float; \n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + " varying vec2 " + VARYING_TEXTURE_COORD2 + ";\n" + + "\n" + + " uniform sampler2D " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + " uniform sampler2D " + UNIFORM_TEXTURE_SAMPLER2 + ";\n" + + " \n" + + " void main() {\n" + + " " + + " lowp vec4 base = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + " lowp vec4 overlayer = texture2D(" + UNIFORM_TEXTURE_SAMPLER2 + ", " + VARYING_TEXTURE_COORD2 + ");\n" + + " \n" + + " gl_FragColor = vec4(min(overlayer.rgb * base.a, base.rgb * overlayer.a) + overlayer.rgb * (1.0 - base.a) + base.rgb * (1.0 - overlayer.a), 1.0);\n" + + " }" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/FilterGroup.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/FilterGroup.kt new file mode 100644 index 0000000..bd19860 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/FilterGroup.kt @@ -0,0 +1,116 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import jp.eita.canvasgl.glcanvas.BasicTexture +import jp.eita.canvasgl.glcanvas.GLCanvas +import jp.eita.canvasgl.glcanvas.RawTexture +import jp.eita.canvasgl.util.Loggers +import java.util.* + +open class FilterGroup(private var filters: List?) : BasicTextureFilter() { + + private val rawTextureList: MutableList = ArrayList() + + protected var mergedFilters: MutableList? = null + + private var outputTexture: BasicTexture? = null + + private var initialTexture: BasicTexture? = null + + init { + updateMergedFilters() + } + + private fun createTextures(initialTexture: BasicTexture) { + recycleTextures() + for (i in mergedFilters!!.indices) { + rawTextureList.add(RawTexture(initialTexture.width, initialTexture.height, false)) + } + } + + private fun recycleTextures() { + for (rawTexture in rawTextureList) { + rawTexture.recycle() + } + rawTextureList.clear() + } + + fun draw(initialTexture: BasicTexture, glCanvas: GLCanvas, onDrawListener: OnDrawListener): BasicTexture? { + if (initialTexture is RawTexture) { + if (!initialTexture.isNeedInvalidate) { + return outputTexture + } + } else if (this.initialTexture === initialTexture && outputTexture != null) { + return outputTexture + } + if (rawTextureList.size != mergedFilters!!.size || this.initialTexture !== initialTexture) { + createTextures(initialTexture) + } + this.initialTexture = initialTexture + var drawTexture: BasicTexture? = initialTexture + var i = 0 + val size = rawTextureList.size + while (i < size) { + val rawTexture = rawTextureList[i] + val textureFilter = mergedFilters!![i] + glCanvas.beginRenderTarget(rawTexture) + onDrawListener.onDraw(drawTexture, textureFilter, i == 0) + glCanvas.endRenderTarget() + drawTexture = rawTexture + i++ + } + outputTexture = drawTexture + return drawTexture + } + + override fun destroy() { + super.destroy() + Loggers.d(TAG, "destroy") + recycleTextures() + } + + fun updateMergedFilters() { + if (filters == null) { + return + } + if (mergedFilters == null) { + mergedFilters = ArrayList() + } else { + mergedFilters!!.clear() + } + var filters: List? + for (filter in this.filters!!) { + if (filter is FilterGroup) { + filter.updateMergedFilters() + filters = filter.mergedFilters + if (filters == null || filters.isEmpty()) continue + mergedFilters!!.addAll(filters) + continue + } + mergedFilters!!.add(filter) + } + } + + interface OnDrawListener { + + fun onDraw(drawTexture: BasicTexture?, textureFilter: TextureFilter?, isFirst: Boolean) + } + + companion object { + private const val TAG = "FilterGroup" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/HueFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/HueFilter.kt new file mode 100644 index 0000000..ad8e223 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/HueFilter.kt @@ -0,0 +1,98 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.opengl.GLES20 +import androidx.annotation.FloatRange +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat +import jp.eita.canvasgl.glcanvas.BasicTexture + +class HueFilter(@FloatRange(from = 0.0, to = 360.0) hue: Float) : BasicTextureFilter(), OneValueFilter { + + private var mHueLocation = 0 + + private var hueAdjust: Float + + override val fragmentShader: String + get() = HUE_FRAGMENT_SHADER + + init { + hueAdjust = hue % 360.0f * Math.PI.toFloat() / 180.0f + } + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + mHueLocation = GLES20.glGetUniformLocation(program, UNIFORM_HUE) + setFloat(mHueLocation, hueAdjust) + } + + override fun setValue(@FloatRange(from = 0.0, to = 360.0) hue: Float) { + hueAdjust = hue % 360.0f * Math.PI.toFloat() / 180.0f + } + + companion object { + + const val UNIFORM_HUE = "hueAdjust" + + const val HUE_FRAGMENT_SHADER = "" + + "precision highp float;\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + " uniform float " + ALPHA_UNIFORM + ";\n" + + "\n" + + "uniform sampler2D " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + "uniform mediump float " + UNIFORM_HUE + ";\n" + + "const highp vec4 kRGBToYPrime = vec4 (0.299, 0.587, 0.114, 0.0);\n" + + "const highp vec4 kRGBToI = vec4 (0.595716, -0.274453, -0.321263, 0.0);\n" + + "const highp vec4 kRGBToQ = vec4 (0.211456, -0.522591, 0.31135, 0.0);\n" + + "\n" + + "const highp vec4 kYIQToR = vec4 (1.0, 0.9563, 0.6210, 0.0);\n" + + "const highp vec4 kYIQToG = vec4 (1.0, -0.2721, -0.6474, 0.0);\n" + + "const highp vec4 kYIQToB = vec4 (1.0, -1.1070, 1.7046, 0.0);\n" + + "\n" + + "void main (){\n" + + "" + + " // Sample the input pixel\n" + + " highp vec4 color = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + "\n" + + " // Convert to YIQ\n" + + " highp float YPrime = dot (color, kRGBToYPrime);\n" + + " highp float I = dot (color, kRGBToI);\n" + + " highp float Q = dot (color, kRGBToQ);\n" + + "\n" + + " // Calculate the hue and chroma\n" + + " highp float hue = atan (Q, I);\n" + + " highp float chroma = sqrt (I * I + Q * Q);\n" + + "\n" + + " // Make the user's adjustments\n" + + " hue += (-" + UNIFORM_HUE + "); //why negative rotation?\n" + + "\n" + + " // Convert back to YIQ\n" + + " Q = chroma * sin (hue);\n" + + " I = chroma * cos (hue);\n" + + "\n" + + " // Convert back to RGB\n" + + " highp vec4 yIQ = vec4 (YPrime, I, Q, 0.0);\n" + + " color.r = dot (yIQ, kYIQToR);\n" + + " color.g = dot (yIQ, kYIQToG);\n" + + " color.b = dot (yIQ, kYIQToB);\n" + + "\n" + + " // Save the result\n" + + " gl_FragColor = color;\n" + + " gl_FragColor *= " + ALPHA_UNIFORM + ";\n" + + "}\n" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/OneValueFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/OneValueFilter.kt new file mode 100644 index 0000000..9b153f6 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/OneValueFilter.kt @@ -0,0 +1,21 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +interface OneValueFilter { + + fun setValue(value: Float) +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/PixelationFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/PixelationFilter.kt new file mode 100644 index 0000000..5dfd1ef --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/PixelationFilter.kt @@ -0,0 +1,77 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.opengl.GLES20 +import androidx.annotation.FloatRange +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat +import jp.eita.canvasgl.glcanvas.BasicTexture + +class PixelationFilter(@param:FloatRange(from = 1.0, to = 100.0) private var mPixel: Float) : BasicTextureFilter(), OneValueFilter { + + private var mImageWidthFactorLocation = 0 + + private var mImageHeightFactorLocation = 0 + + private var mPixelLocation = 0 + + override val fragmentShader: String + get() = PIXELATION_FRAGMENT_SHADER + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + mImageWidthFactorLocation = GLES20.glGetUniformLocation(program, UNIFORM_IMAGE_WIDTH_FACTOR) + mImageHeightFactorLocation = GLES20.glGetUniformLocation(program, UNIFORM_IMAGE_HEIGHT_FACTOR) + mPixelLocation = GLES20.glGetUniformLocation(program, UNIFORM_PIXEL) + setFloat(mImageWidthFactorLocation, 1.0f / texture.width) + setFloat(mImageHeightFactorLocation, 1.0f / texture.height) + setFloat(mPixelLocation, mPixel) + } + + override fun setValue(@FloatRange(from = 1.0, to = 100.0) value: Float) { + mPixel = value + } + + companion object { + + const val UNIFORM_IMAGE_WIDTH_FACTOR = "imageWidthFactor" + + const val UNIFORM_IMAGE_HEIGHT_FACTOR = "imageHeightFactor" + + const val UNIFORM_PIXEL = "pixel" + + const val PIXELATION_FRAGMENT_SHADER = "" + + "precision highp float;\n" + + " varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "uniform float " + UNIFORM_IMAGE_WIDTH_FACTOR + ";\n" + + "uniform float " + UNIFORM_IMAGE_HEIGHT_FACTOR + ";\n" + + " uniform float " + ALPHA_UNIFORM + ";\n" + + "uniform sampler2D " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + "uniform float " + UNIFORM_PIXEL + ";\n" + + "void main() {\n" + + "" + + " vec2 uv = " + VARYING_TEXTURE_COORD + ".xy;\n" + + " float dx = " + UNIFORM_PIXEL + " * " + UNIFORM_IMAGE_WIDTH_FACTOR + ";\n" + + " float dy = " + UNIFORM_PIXEL + " * " + UNIFORM_IMAGE_HEIGHT_FACTOR + ";\n" + + " vec2 coord = vec2(dx * floor(uv.x / dx), dy * floor(uv.y / dy));\n" + + " vec4 tc = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", coord);\n" + + " gl_FragColor = vec4(tc);\n" + + " gl_FragColor *= " + ALPHA_UNIFORM + ";\n" + + "}" + } + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/SaturationFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/SaturationFilter.kt new file mode 100644 index 0000000..58ee44a --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/SaturationFilter.kt @@ -0,0 +1,70 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.opengl.GLES20 +import androidx.annotation.FloatRange +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.OpenGLUtil.setFloat +import jp.eita.canvasgl.glcanvas.BasicTexture + +/** + * saturation: The degree of saturation or desaturation to apply to the image (0.0 - 2.0, with 1.0 as the default) + */ +class SaturationFilter(@param:FloatRange(from = 0.0, to = 2.0) private var mSaturation: Float) : BasicTextureFilter(), OneValueFilter { + + private var mSaturationLocation = 0 + + override val fragmentShader: String + get() = SATURATION_FRAGMENT_SHADER + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + mSaturationLocation = GLES20.glGetUniformLocation(program, UNIFORM_SATURATION) + setFloat(mSaturationLocation, mSaturation) + } + + override fun setValue(@FloatRange(from = 0.0, to = 2.0) value: Float) { + mSaturation = value + } + + companion object { + + const val UNIFORM_SATURATION = "saturation" + + const val SATURATION_FRAGMENT_SHADER = "" + + "precision mediump float;\n" + + " varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + " \n" + + " uniform sampler2D " + TEXTURE_SAMPLER_UNIFORM + ";\n" + + " uniform float " + ALPHA_UNIFORM + ";\n" + + " uniform float " + UNIFORM_SATURATION + ";\n" + + " \n" + + " // Values from \"Graphics Shaders: Theory and Practice\" by Bailey and Cunningham\n" + + " const vec3 luminanceWeighting = vec3(0.2125, 0.7154, 0.0721);\n" + + " \n" + + " void main() {\n" + + " " + + " vec4 textureColor = texture2D(" + TEXTURE_SAMPLER_UNIFORM + ", " + VARYING_TEXTURE_COORD + ");\n" + + " float luminance = dot(textureColor.rgb, luminanceWeighting);\n" + + " vec3 greyScaleColor = vec3(luminance);\n" + + " \n" + + " gl_FragColor = vec4(mix(greyScaleColor, textureColor.rgb, " + UNIFORM_SATURATION + "), textureColor.w);\n" + + " gl_FragColor *= " + ALPHA_UNIFORM + ";\n" + + " }" + } + +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TextureFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TextureFilter.kt new file mode 100644 index 0000000..fa6b6fb --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TextureFilter.kt @@ -0,0 +1,32 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.BasicTexture + +interface TextureFilter { + + val vertexShader: String? + + val fragmentShader: String? + + val oesFragmentProgram: String? + + fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) + + fun destroy() +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TwoTextureFilter.kt b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TwoTextureFilter.kt new file mode 100644 index 0000000..d868f9b --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/textureFilter/TwoTextureFilter.kt @@ -0,0 +1,153 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.textureFilter + +import android.graphics.Bitmap +import android.graphics.RectF +import android.opengl.GLES20 +import android.opengl.Matrix +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glcanvas.BasicTexture +import jp.eita.canvasgl.glcanvas.GLES20Canvas.Companion.checkError +import jp.eita.canvasgl.glcanvas.GLES20Canvas.Companion.printMatrix +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.convertCoordinate +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.copyTextureCoordinates +import jp.eita.canvasgl.glcanvas.TextureMatrixTransformer.setTextureMatrix +import jp.eita.canvasgl.glview.texture.GLTexture +import java.util.* + +/** + * A filter that supports mix two textures. + * This accept the second texture as a RawTexture or a Bitmap + */ +abstract class TwoTextureFilter : BasicTextureFilter { + + protected val mTempTextureMatrix = FloatArray(16) + + protected var secondBitmap: Bitmap? = null + + /** + * Set the second texture. If secondBitmap exists, this will be ignored. + * + * @param secondRawTexture The second texture. If secondBitmap exists, this will be ignored + */ + protected var secondRawTexture: GLTexture? = null + + private val mTempSrcRectF = RectF() + + override val vertexShader: String + get() = VERTEX_SHADER + + /** + * Set the second bitmap. If this exists, the secondRawTexture will be ignored + * + * @param secondBitmap The second bitmap that will be mixed + */ + constructor(secondBitmap: Bitmap) { + this.secondBitmap = secondBitmap + } + + constructor() + + fun setBitmap(secondBitmap: Bitmap) { + this.secondBitmap = secondBitmap + } + + private fun resetMatrix() { + Arrays.fill(mTempTextureMatrix, 0f) + } + + override fun onPreDraw(program: Int, texture: BasicTexture, canvas: ICanvasGL) { + super.onPreDraw(program, texture, canvas) + if (useSecondBitmap()) { + handleSecondBitmapTexture(program, canvas) + return + } + if (secondRawTexture != null) { + handleSecondRawTexture(program, canvas) + } + } + + private fun handleSecondBitmapTexture(program: Int, canvas: ICanvasGL) { + val secondTexture: BasicTexture? = canvas.bindBitmapToTexture(GLES20.GL_TEXTURE3, secondBitmap!!) + resetMatrix() + Matrix.setIdentityM(mTempTextureMatrix, 0) + copyTextureCoordinates(secondTexture!!, mTempSrcRectF) + convertCoordinate(mTempSrcRectF, secondTexture) + setTextureMatrix(mTempSrcRectF, mTempTextureMatrix) + printMatrix("two tex matrix", mTempTextureMatrix, 0) + val textureMatrixPosition = GLES20.glGetUniformLocation(program, TEXTURE_MATRIX_UNIFORM2) + GLES20.glUniformMatrix4fv(textureMatrixPosition, 1, false, mTempTextureMatrix, 0) + val sampler2 = GLES20.glGetUniformLocation(program, UNIFORM_TEXTURE_SAMPLER2) + checkError() + GLES20.glUniform1i(sampler2, 3) // match GL_TEXTURE3 + checkError() + } + + private fun handleSecondRawTexture(program: Int, canvas: ICanvasGL) { + val rawTexture = secondRawTexture!!.rawTexture + canvas.bindRawTexture(GLES20.GL_TEXTURE3, rawTexture) + resetMatrix() + secondRawTexture!!.surfaceTexture.getTransformMatrix(mTempTextureMatrix) + val textureMatrixPosition = GLES20.glGetUniformLocation(program, TEXTURE_MATRIX_UNIFORM2) + GLES20.glUniformMatrix4fv(textureMatrixPosition, 1, false, mTempTextureMatrix, 0) + val sampler2 = GLES20.glGetUniformLocation(program, UNIFORM_TEXTURE_SAMPLER2) + checkError() + GLES20.glUniform1i(sampler2, 3) + checkError() + } + + override val oesFragmentProgram: String + get() { + return if (useSecondBitmap()) { + """ + #extension GL_OES_EGL_image_external : require + ${fragmentShader.replaceFirst(SAMPLER_2D.toRegex(), SAMPLER_EXTERNAL_OES)} + """.trimIndent() + } else """ + #extension GL_OES_EGL_image_external : require + ${fragmentShader.replace(SAMPLER_2D.toRegex(), SAMPLER_EXTERNAL_OES)} + """.trimIndent() + } + + private fun useSecondBitmap(): Boolean { + return secondBitmap != null + } + + companion object { + + const val VARYING_TEXTURE_COORD2 = "vTextureCoord2" + + const val UNIFORM_TEXTURE_SAMPLER2 = "uTextureSampler2" + + private const val TEXTURE_MATRIX_UNIFORM2 = "uTextureMatrix2" + + private const val VERTEX_SHADER = " \n" + + "attribute vec2 " + POSITION_ATTRIBUTE + ";\n" + + "varying vec2 " + VARYING_TEXTURE_COORD + ";\n" + + "varying vec2 " + VARYING_TEXTURE_COORD2 + ";\n" + + "uniform mat4 " + MATRIX_UNIFORM + ";\n" + + "uniform mat4 " + TEXTURE_MATRIX_UNIFORM + ";\n" + + "uniform mat4 " + TEXTURE_MATRIX_UNIFORM2 + ";\n" + + " \n" + + "void main() {\n" + + " vec4 pos = vec4(" + POSITION_ATTRIBUTE + ", 0.0, 1.0);\n" + + " gl_Position = " + MATRIX_UNIFORM + " * pos;\n" + + " " + VARYING_TEXTURE_COORD + " = (" + TEXTURE_MATRIX_UNIFORM + " * pos).xy;\n" + + " " + VARYING_TEXTURE_COORD2 + " = (" + TEXTURE_MATRIX_UNIFORM2 + " * pos).xy;\n" + + "}" + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/util/FileLogger.kt b/opengl/src/main/java/jp/eita/canvasgl/util/FileLogger.kt new file mode 100644 index 0000000..99abcb6 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/util/FileLogger.kt @@ -0,0 +1,427 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.util + +import android.os.Process +import android.util.Log +import jp.eita.canvasgl.util.FileUtil.createFile +import jp.eita.canvasgl.util.FileUtil.delete +import jp.eita.canvasgl.util.FileUtil.writeToFile +import java.io.File +import java.io.FileFilter +import java.security.InvalidParameterException +import java.text.SimpleDateFormat +import java.util.* +import java.util.concurrent.Executors + +object FileLogger { + + private val LOG_DATE_TIME_FORMAT = SimpleDateFormat("MM-dd HH:mm:ss.SSS", Locale.US) + + private val logExecutor = Executors.newSingleThreadExecutor() + + var isLogEnable = false + + var logLevel = LogLevel.VERBOSE + + private var logFileManager: LogFileManager? = null + + private val limitLogMap: MutableMap = HashMap() + + fun init(dirPath: String) { + isLogEnable = true + val file = File(dirPath) + if (!file.exists() || !file.isDirectory) { + throw InvalidParameterException() + } + logFileManager = LogFileManager(dirPath) + } + + /** + * @param id the id for this log. Must be unique + * @param cntTimesAfterLogOnce example: 1000 log once, then after 1000 call of this will log again + */ + fun limitLog(id: String, tag: String, message: String?, cntTimesAfterLogOnce: Int) { + if (!limitLogMap.containsKey(id)) { + limitLogMap[id] = 0 + } else { + val currentCnt = limitLogMap[id] + if (currentCnt!! < cntTimesAfterLogOnce) { + limitLogMap[id] = currentCnt + 1 + return + } else { + limitLogMap[id] = 0 + } + } + d(tag, message) + } + + /** + * log for debug + * + * @param message log message + * @param tag tag + * @see Log.d + */ + fun d(tag: String, message: String) { + if (isLogEnable) { + Log.d(tag, message) + writeToFileIfNeeded(tag, message, LogLevel.DEBUG) + } + } + + /** + * log for debug + * + * @param message log message + * @param throwable throwable + * @param tag tag + * @see Log.d + */ + fun d(tag: String, message: String, throwable: Throwable?) { + if (isLogEnable) { + Log.d(tag, message, throwable) + writeToFileIfNeeded(tag, """ + $message + ${Log.getStackTraceString(throwable)} + """.trimIndent(), LogLevel.DEBUG) + } + } + + /** + * log for debug + * + * @param tag tag + * @param format message format, such as "%d ..." + * @param params message content params + * @see Log.d + */ + fun d(tag: String, format: String?, vararg params: Any?) { + if (isLogEnable) { + val msg = String.format(format!!, *params) + Log.d(tag, msg) + writeToFileIfNeeded(tag, msg, LogLevel.DEBUG) + } + } + + /** + * log for warning + * + * @param message log message + * @param tag tag + * @see Log.w + */ + fun w(tag: String, message: String) { + if (isLogEnable) { + Log.w(tag, message) + writeToFileIfNeeded(tag, message, LogLevel.WARN) + } + } + + /** + * log for warning + * + * @param tag tag + * @param throwable throwable + * @see Log.w + */ + fun w(tag: String, throwable: Throwable?) { + if (isLogEnable) { + Log.w(tag, throwable) + writeToFileIfNeeded(tag, Log.getStackTraceString(throwable), LogLevel.WARN) + } + } + + /** + * log for warning + * + * @param message log message + * @param throwable throwable + * @param tag tag + * @see Log.w + */ + fun w(tag: String, message: String, throwable: Throwable?) { + if (isLogEnable) { + Log.w(tag, message, throwable) + writeToFileIfNeeded(tag, """ + $message + ${Log.getStackTraceString(throwable)} + """.trimIndent(), LogLevel.WARN) + } + } + + /** + * log for warning + * + * @param tag tag + * @param format message format, such as "%d ..." + * @param params message content params + * @see Log.w + */ + fun w(tag: String, format: String?, vararg params: Any?) { + if (isLogEnable) { + val msg = String.format(format!!, *params) + Log.w(tag, msg) + writeToFileIfNeeded(tag, msg, LogLevel.WARN) + } + } + + /** + * log for error + * + * @param message message + * @param tag tag + * @see Log.i + */ + fun e(tag: String, message: String) { + if (isLogEnable) { + Log.e(tag, message) + writeToFileIfNeeded(tag, message, LogLevel.ERROR) + } + } + + /** + * log for error + * + * @param message log message + * @param throwable throwable + * @param tag tag + * @see Log.i + */ + fun e(tag: String, message: String, throwable: Throwable?) { + if (isLogEnable) { + Log.e(tag, message, throwable) + writeToFileIfNeeded(tag, """ + $message + ${Log.getStackTraceString(throwable)} + """.trimIndent(), LogLevel.ERROR) + } + } + + /** + * log for error + * + * @param tag tag + * @param format message format, such as "%d ..." + * @param params message content params + * @see Log.e + */ + fun e(tag: String, format: String?, vararg params: Any?) { + if (isLogEnable) { + val msg = String.format(format!!, *params) + Log.e(tag, msg) + writeToFileIfNeeded(tag, msg, LogLevel.ERROR) + } + } + + /** + * log for information + * + * @param message message + * @param tag tag + * @see Log.i + */ + fun i(tag: String, message: String) { + if (isLogEnable) { + Log.i(tag, message) + writeToFileIfNeeded(tag, message, LogLevel.INFO) + } + } + + /** + * log for information + * + * @param message log message + * @param throwable throwable + * @param tag tag + * @see Log.i + */ + fun i(tag: String, message: String, throwable: Throwable?) { + if (isLogEnable) { + Log.i(tag, message, throwable) + writeToFileIfNeeded(tag, """ + $message + ${Log.getStackTraceString(throwable)} + """.trimIndent(), LogLevel.INFO) + } + } + + /** + * log for information + * + * @param tag tag + * @param format message format, such as "%d ..." + * @param params message content params + * @see Log.i + */ + fun i(tag: String, format: String?, vararg params: Any?) { + if (isLogEnable) { + val msg = String.format(format!!, *params) + Log.i(tag, msg) + writeToFileIfNeeded(tag, msg, LogLevel.INFO) + } + } + + /** + * log for verbos + * + * @param message log message + * @param tag tag + * @see Log.v + */ + fun v(tag: String, message: String) { + if (isLogEnable) { + Log.v(tag, message) + writeToFileIfNeeded(tag, message, LogLevel.VERBOSE) + } + } + + /** + * log for verbose + * + * @param message log message + * @param throwable throwable + * @param tag tag + * @see Log.v + */ + fun v(tag: String, message: String, throwable: Throwable?) { + if (isLogEnable) { + Log.v(tag, message, throwable) + writeToFileIfNeeded(tag, """ + $message + ${Log.getStackTraceString(throwable)} + """.trimIndent(), LogLevel.VERBOSE) + } + } + + /** + * log for verbose + * + * @param tag tag + * @param format message format, such as "%d ..." + * @param params message content params + * @see Log.v + */ + fun v(tag: String, format: String, vararg params: Any?) { + if (isLogEnable) { + val msg = String.format(format, *params) + Log.v(tag, msg) + writeToFileIfNeeded(tag, msg, LogLevel.VERBOSE) + } + } + + private fun writeToFileIfNeeded(tag: String, msg: String?, logLevel: LogLevel) { + val strBuilder = StringBuilder() + val stackTrace = Throwable().stackTrace + val methodStackCnt = 2 + strBuilder + .append(" ") + .append(" tid=").append(Thread.currentThread().id) + .append(" ") + .append(stackTrace[methodStackCnt].fileName) + .append("[").append(stackTrace[methodStackCnt].lineNumber) + .append("] ").append("; ") + .append(stackTrace[methodStackCnt].methodName) + .append(": ") + if (logLevel.value < this.logLevel.value || logFileManager == null) { + return + } + logExecutor.execute { appendLog(strBuilder.toString() + tag, msg) } + } + + private fun appendLog(tag: String, msg: String?) { + val logMsg = formatLog(tag, msg) + flushLogToFile(logMsg) + } + + private fun flushLogToFile(logMsg: String) { + logFileManager!!.writeLogToFile(logMsg) + } + + private fun formatLog(tag: String, msg: String?): String { + return String.format(Locale.US, "%s pid=%d %s; %s\n", LOG_DATE_TIME_FORMAT.format(Date()), Process.myPid(), tag, msg) + } + + enum class LogLevel(val value: Int) { + VERBOSE(Log.VERBOSE), DEBUG(Log.DEBUG), INFO(Log.INFO), WARN(Log.WARN), ERROR(Log.ERROR), ASSERT(Log.ASSERT); + + } + + class LogFileManager internal constructor(private val mLogFileDir: String) { + + private var currentLogFile: File? = null + + private val fileFilter = FileFilter { file -> + val tmp = file.name.toLowerCase(Locale.getDefault()) + tmp.startsWith("log") && tmp.endsWith(".txt") + } + + private val newLogFile: File? + get() { + val dir = File(mLogFileDir) + val files = dir.listFiles(fileFilter) + if (files == null || files.isEmpty()) { + return createNewLogFileIfNeed() + } + val sortedFiles = sortFiles(files) + if (files.size > LOG_FILES_MAX_NUM) { + delete(sortedFiles[0]) + } + + return createNewLogFileIfNeed() + } + + fun writeLogToFile(logMessage: String?) { + if (currentLogFile == null || currentLogFile!!.length() >= LOG_FILE_MAX_SIZE) { + currentLogFile = newLogFile + } + writeToFile(logMessage!!, currentLogFile!!.path) + } + + private fun createNewLogFileIfNeed(): File? { + return createFile(mLogFileDir + File.separator + PREFIX + LOG_FILE_DATE_FORMAT.format(Date()) + ".txt") + } + + private fun sortFiles(files: Array): List { + val fileList = listOf(*files) + Collections.sort(fileList, FileComparator()) + + return fileList + } + + private inner class FileComparator : Comparator { + + override fun compare(file1: File, file2: File): Int { + return if (file1.lastModified() < file2.lastModified()) { + -1 + } else { + 1 + } + } + } + + companion object { + + const val PREFIX = "Log" + + private const val LOG_FILES_MAX_NUM = 5 + + private const val LOG_FILE_MAX_SIZE = 1000 * 1000 * 20 + + private val LOG_FILE_DATE_FORMAT = SimpleDateFormat("yyyy-MM-dd", Locale.US) + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/util/FileUtil.kt b/opengl/src/main/java/jp/eita/canvasgl/util/FileUtil.kt new file mode 100644 index 0000000..19009e0 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/util/FileUtil.kt @@ -0,0 +1,87 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.util + +import android.text.TextUtils +import java.io.File +import java.io.FileWriter + +object FileUtil { + + @JvmStatic + @Synchronized + fun createFile(path: String): File? { + if (TextUtils.isEmpty(path)) { + return null + } + val file = File(path) + if (file.isFile) { + return file + } + val parentFile = file.parentFile + if (parentFile != null && (parentFile.isDirectory || parentFile.mkdirs())) { + try { + if (file.createNewFile()) { + return file + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + return null + } + + @JvmStatic + @Synchronized + fun delete(path: File?): Boolean { + if (null == path) { + return true + } + if (path.isDirectory) { + val files = path.listFiles() + if (null != files) { + for (file in files) { + if (!delete(file)) { + return false + } + } + } + } + + return !path.exists() || path.delete() + } + + @JvmStatic + fun writeToFile(content: String, filePath: String) { + var fileWriter: FileWriter? = null + try { + fileWriter = FileWriter(filePath, true) + fileWriter.write(content) + fileWriter.flush() + } catch (t: Throwable) { + t.printStackTrace() + } finally { + if (fileWriter != null) { + try { + fileWriter.close() + } catch (e: Exception) { + e.printStackTrace() + } + } + } + } +} \ No newline at end of file diff --git a/opengl/src/main/java/jp/eita/canvasgl/util/Loggers.kt b/opengl/src/main/java/jp/eita/canvasgl/util/Loggers.kt new file mode 100644 index 0000000..cb6b249 --- /dev/null +++ b/opengl/src/main/java/jp/eita/canvasgl/util/Loggers.kt @@ -0,0 +1,52 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.canvasgl.util + +import android.util.Log + +object Loggers { + var DEBUG = true + + fun d(tag: String?, msg: String) { + if (DEBUG) { + Log.d(tag, msg) + } + } + + fun v(tag: String?, msg: String) { + if (DEBUG) { + Log.v(tag, msg) + } + } + + fun i(tag: String?, msg: String) { + if (DEBUG) { + Log.i(tag, msg) + } + } + + fun w(tag: String?, msg: String) { + if (DEBUG) { + Log.w(tag, msg) + } + } + + fun e(tag: String?, msg: String) { + if (DEBUG) { + Log.e(tag, msg) + } + } +} \ No newline at end of file diff --git a/openglsample/.classpath b/openglsample/.classpath new file mode 100644 index 0000000..eb19361 --- /dev/null +++ b/openglsample/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/openglsample/.gitignore b/openglsample/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/openglsample/.gitignore @@ -0,0 +1 @@ +/build diff --git a/openglsample/.project b/openglsample/.project new file mode 100644 index 0000000..c9567df --- /dev/null +++ b/openglsample/.project @@ -0,0 +1,23 @@ + + + canvasglsample + Project canvasglsample created by Buildship. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/openglsample/.settings/org.eclipse.buildship.core.prefs b/openglsample/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..b1886ad --- /dev/null +++ b/openglsample/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir=.. +eclipse.preferences.version=1 diff --git a/openglsample/build.gradle b/openglsample/build.gradle new file mode 100644 index 0000000..385a5d4 --- /dev/null +++ b/openglsample/build.gradle @@ -0,0 +1,71 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' + +android { + compileSdkVersion 29 + buildToolsVersion '28.0.3' + + defaultConfig { + applicationId "jp.eita.example" + minSdkVersion 21 + targetSdkVersion 29 + versionCode 1 + versionName "1" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + + } + + buildTypes { + + release { + + minifyEnabled true + } + } + + lintOptions { + checkReleaseBuilds false + abortOnError false + } + +} + +repositories { + maven { + url "https://jitpack.io" + } + + mavenCentral() +} + +dependencies { + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation fileTree(include: ['*.jar'], dir: 'libs') + androidTestImplementation('androidx.test.espresso:espresso-core:3.2.0') + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.recyclerview:recyclerview:1.1.0' + implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' + implementation 'com.github.tajchert:nammu:1.2.0' + + testImplementation 'junit:junit:4.12' + implementation project(':opengl') + implementation "androidx.core:core-ktx:1.2.0" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/openglsample/proguard-rules.pro b/openglsample/proguard-rules.pro new file mode 100644 index 0000000..7f86d05 --- /dev/null +++ b/openglsample/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in D:\develop-win\android\dev-tools-win\android-studio-windows\sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/openglsample/src/main/AndroidManifest.xml b/openglsample/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5da97d --- /dev/null +++ b/openglsample/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openglsample/src/main/assets/test_video.mp4 b/openglsample/src/main/assets/test_video.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..2041a0b63aeab5e0bb3a482ea4733326aec241b0 GIT binary patch literal 400307 zcmV(yKz001Cnba`-Tb8l?`00IDMb8l^Fb8j+Xc4IMZa5OOh000PPa%E)z1`a!I zWMOmw064Q{h=c)NznA`KfB@$*?Md$*mN)qPBsdP#G3_zv zrZqeMJ>YjQRlc9h7Ger~CHW8J7wa%V?uPyM24p(pTc9t{vAx5J;` zeX}!N*ZdYfcoqD(P;gl3#JyF(P(J_Pp*sQ@5q{v{N8*ZDuPkO^Kp#>qgfHRVkAsMb zJ$`sE{v|!|K7QfHq6eXF81c03<&7vELs?`i3ecU)JzslciBY%x8@$MQc;gFQCKpi0 za%qXpLV6!ox@2p~!1teYWlY5MC$wKX&7M;c=rh^NQ4P zZrgvo7p4>yTP*i(cHu{vneqL<-YeZ!zjwx$5bfLly2a|RU2eUXOmGp=Tvv9Gd4Dz> zgq^vMH^`zTtc%BbJwdO|hGd=MBXz5*t!ldaHN|57t5SV&Tg7X;m(E*XJ6_KBcI8l9 zW?$XucM{&T>5J}PS*eOKZB6lj)Z60X?k=|%^u{U2I;-DRN$;zU(43*g%j(;7)BAqn z>h)Dxe7$i#{7{|(PwYE(|NbuVNMin8{$3(*mDK+6U)NgOFaLV=-X%m=&*WY!uYGrl z)#~fkD{+Op*NB}JE+xYE)7umMZ679cs#_@y{JiJ;QMBE45L{NWv*8FXDboGr6VvsvyzV5FaS{RI=Vs%!^dyv7Xj zmeh}}>v8$Z1Gin^+m;UZZ}8+{08nS-TsZQ5X^PB47=(`G#$ahw-7M**s{)h}7=oqx zvgs%xVMRn+>-`jlc$v+oeox|#62DuJ-GK>=KWD-9=Ur^yHEa$U_em z|CSaj_wDDPz*5ip@9vYzZu0*~-E&w~1&kb0l{pMlpB`%|pV^n`eN2~WR%~`|wSQYW zDsTTaTIX&cAQ;kT2i$yVizO5JGQb{ zxj)tSS5iKA&u0u$xZLFQ^s(QK%RefFC`xZw(EibzDy?dH& z^}SzrH7@&!EtFS%cKN@+*;*s?_^e%N?U`LfT!Jp5@mRUOe_4~c#DcEtyJzcbp6*J& z(-+H+9=^=QnJWsrFV(HniU2V^&O z%9`lH_S5~v!sq$uMSJ#irGa9t~LOZ-aLLM3XEkP$-`xqZeX z6hoe+qe%_7Yem>Ta8j~JiT*6*K~!=)L!+79};LQZO!ne0Sk2p+uJv$?tdP- zvbS&EEVH)TtM|d*`4E|2PkpAlUI_AWCY5L zn)IiP?vk7&;=TIhA2olx7zkxju1hX9yXX2B7zuxFoMW3U{)iXORD4e`%9>F@LEDzpS!mCUy{QK>C*;yPxJ zNG|gt%hOH!)9J%m(9G`p5P!EW7u|$eSna>~RbkO5)D|o1-rw%yXF6Ax{jIo&;E?<3 zLLd4kF<2%X^Y@N`i^NR8RSOvUn+nQK0pX*(ZeFRCTvXvRt>QSE7>izqzeK*ly zjxJxvWm(&hUo;9fy(&A%#ZXw)zHT)l#x0d@Ln5p7R+DMALcV{lxH`EVw&C>-ro}G$ z88EdC%Cx7>AjCxyOWj?_Q@$&HCGGtk=E5kurk#C# zhyK7JpsZXzNLG&KU^nbcojXPE+IUJdaEzpII3DZ2IV>;F-Y1QF{mT~hUj5|n-@fHI z+9wmw2TKO)_~(cDmkOMo{FL}-lnS$3#^A-x7#%IMV;!i4@!oQjmW1lE3zt1R6@Q#U zok`G~7u-j}TB-M)cJUgTctEXSr@K%9E1u-Kk3>rn|IDO&Vy&Jc;aYUcULlwAmt%}O z-QUIfYBdyQaij>S8uXUcTz5cyW7)vgm%03=MVQpNt;(a;#f!qr(GB?8X0D$!&hS6( zG;6v0lSGNd(H5{=EHBp95qV_vedA}Z-2hLNJ-qy6UWlZ;p>! z?^pdInuJnrqZASxZnZ@5Mr4Y+3uV4^f^#0wx^7AF9eq@RQFMVuq1bPrg3fi9rvhOzCd3M@G{}w_knTu}3tUYLAcn;ao&_|7TA|f)x+97mf zkVP?KQTGU~kyfHKwjWBnCrddQ9SSuFii~)!WeHKKTPNoY+`sNBO#b@Aek+IjLYUH= zqT)Myf8E==HJ%xKEV!S2yKVi#RHz!C6SUsJYD#8QQ4ZCRZ-AH}+;nj(>16 zB$D5Eh(<+XRE+JCK7PN=%ou{JZw9wI8+Iqrmw$wCC2k)%e_w|c$ta+angqz%8}$mN zagOX3{HaN^Z@npcIQDapCw6t;^0H5g-8H>$pQ%kc^J4RTKeI8`z2B|t*RzoyyMl=g zmE$?@%l6hukh-CKqzxMcX-@I?=t&s0dU9;X z6qx7M@I7OAz$=rut83#?8?4RQ*iFg>b+Oo1n#XUu+sDpo5V}YvU;K?!n_~0tT)Uxo zx_3;J5z}w}Q>g0mZ9POiswRydvrR}!3N_7a*5h7&Ufd6rCrUT4_-CxSf7QsA3#2u; z+BO)dU6cbuOT1lYr9ar!*x_ZKkvFaL)c@}XO07EY zS6=i^yS}9E`&HH5e(slIef#Uc4B&{h>&ry=AVyv7*+kGHHtStURtd%i)k$>h+Ccj< zv7;^(hidKd9`J}{SJ^%OF$#hq9efz72XfHsp=A`Tik$^k35xtXRNd(kxph^epVe!> z-(0F`UbOzbd3_d$ZY!u^QA(beyEW@dy+n%rt_-nrq_r}7jN1b2S7Zu8C(Qp6$nT{O z)gJg!48mM*&n)y==X)duH57hCElDH2k@#S~Z6t$R%(F+KsWY$*gMY7A7OUxj9GiQj ztkhedzcfmhnfSp7qW4Fn>D-lbV0va2pXl!w7fSk{`85$zw>64XycB*Uq-CciHzEQd z>x3eWcF*j1Tto!}yOHglK)Sd2c4P4q;&lgv5x~40W#1FQWitC!L3Q9erPd4uO^3mnb zONf9IRp_2Hhtjl8de{eemS0m)0FIYZd+x_()WlSp*A^EETk=ugkRy{e#_ImhCFcDd zW4txn@Auvcyd)Zeh70!=-gvIGxqMe@GGPYDGWgI^gXKxUs{l)4;-L*Z1 z4n@3m^3R4(2LDrR`Fc?N4MRkY1FD`uu}XUW2*jv8!Mvu z*}jqc_3%fRJNoy=Dq(Qc&^FhbOSx50ovBo(M=%^gY(<wUUU#Q2Iw- z)568YXtC7atESAq#5S5xc^u+65len#vM8<76&<@dO5fcsr|Tl#?1!1kjYq=dCAYk3 zrivgdwD4|~+V8h`$E;4dp_h{Y?oO#k z9fJ0A^QgMf@msD%CQ;Ok8%ks)#-IS?W(8Z~C(xJs!-vE(nL4 z^y8kWGDZ8``jjnyezF{A#vCRXAN7yCsmLu&*DH;7+LvC-9;2luwq?HalHD_B`h61% z_l6O^%Qx+M3PB*%SDMYj2j(-16(RaVdeGUXquJP)NNidVT>&NWmR+8mRCw*fs>yCu zg`FT*Zwl84qL9`_RaI%0!#0bS!$Seei^paIZ~`tj>74cO5GS(U*z-*JOFZxte79kS z^ovz%QgO{AG@2b5r@Prbi#`CwbKQIpZ%7~f(q!mJ2}gdjxK5P!4I&K7QbY)R-tN)H za<(GM2F%%5i@^x6w;Dr0szeKR5d>Cn>+x$*55C4;iCVnn*%azQ*KFAb!j=09BUM#k zYmyMtioy02Wp))~hadGEa0A9m>#ob?#$W%%{MzpHMK-mdXpuk!WGjXhh<@UQ2!eQ;`0A!(Ba zOFV%2Q$;i1?x03z2dTT6F6+l^3sZAs$eE|(r}kn83?%sxd+#936t@s;S22@NMN`l2SK)`FqSoq`bcWy+#@m zzgd%)|BnyX^<4rpRdvN{UE=-wU7XB`gy}vp`rV#H7*Oi(KI@H1Asflx7+FV(Alsf=`crVXIjgYODSdgB;x;leC|%_xJXqJh(qp zAia_cA5S^E-vEuNExh=|!(A1`lq&c}po}D}<@9Qs5Q7@P?nYy&<`Gn+eYyU{RHImP zb()UAM(~uc;GnwRY-xID-s4Igw%_{MrqDoG^mYgK2x9cyX3pY zaiX6Vyr*>OyX4~K{~hX1D=n>c%wMc=-NYn&lf5qzxQE+3od3a4lAP}xCm0xT|i2CFOtsX0;%(!Zs*V&a_bXs0|GmN+^ znf5q-{fQDG|3qH3?ZmJ;lHcJnKwx^YoZC${>8F}EoshHjBXT~mMh(99-A~>>Bx)&b z<*REh-uSO8&f?;pe%!Jf^tMPwe|1ehPN|T#Prlj9MpR4erQg;bfZ~=r-aB?dUv9^Z zA%31+8VnRs6=PS5&n^pf;lH)*r!8T(HfQl^|E&z0eODb>>bTbLf8apFr*(Vq1-XCw zhBhm$_{JYay{@115fn~MK!zNRS6ltx0YMOV(iws9)+jgoV$Y81bKmxHC->q3A#Sz| zqP3)ebWU-q?LJkB-wktWT8?>gq0Kl#>Z>*% z*~tij5@JRL+vf~G=vp(kqgyq(| z8p!X>`<{gh@3#B>9bQsWraT~ximILDcvF-kx8&Q9L(XfwbFK+dpL;IX~_uIf&Y85y9La?Vbz27|4phCCfSP z6zV*Q&0kI9w?Gm@D34VBn0ABw-Y8&4k&aG2ba?l0cIf;Z%_yy!#c7MqR1YIUsh!Sf z{J%CKBeV|Py<9_F^?hXBeR^|Hww!y#+v~{QsQAP@wVYMOaCG~zTqY-}hC2O{dhK4j zZT@Mak$2vVYn$_To7L5N?d^&D z2XilfeC+HgY^U}98K3{B`st_Tmwtfl+1SxT>ifWoG2>Y+a+Aop_ieU8STJq6(~MdbKaxc?zQniPyiz z!eZa=9*l!6`(OW~3ZX&-e_PeQ*Z>+I(2_vglO3s4rauh#nrg|IGhIw|b{o~Lyv+SQ z|LSTn@_3cOMX6RhP?dw?7PQF;*6IF_q`JQgm2`!B<$=F>;jpIm)Y+x{4Pl2MQV!WtRGW9zov$3{`XfqZe71vV$v{ zZE;TNIIifsOCvs@B$XR>)da4?5 zH!b|vXFta@GN4A1KtP}W88lu-+9nDd*g||1ID6N!ThEFHihch6QQDSB^;vL953YIr%|ZVL|sU zua?CAnBCA9IW>3gyK9w^l0^Ht6u9vZQlgHLt;=%a-)soDB88!^nlg@uT=}2 zhOcww*^O+hvL!Vi+wI@Q$dO7C)|sLL(E(U-byV5Yr)bHqY(|+=Myt;5!o2Eu;{Nfb zRo9_%!TY>cn-=ILL$tRMPvsaVs~KXn5~B385XebO{K_BOq=dEi)W-kPrzyLHG%waeGd`90s8 zvEA!zzV_<3-44pr{d#cnqvE>nliT-yu_vo;NISfJ0V%q(_j9TIIGDnU<@Ie`-Iedp zJG6S2mw1M&TCOm&eSIZI_urf2oO)|nMJU6i#tOq^E3!Od^W z%#@G|JaDLOHTSO6PJRcvqp7w?J9fXLj8dQc=*@35&^{+xc}z=5{Rv_Vr`_g+Q9})W zuRYa`oz>swc$djh-NA!-~Ux+~lxU`b96DRp0Mq2;eiKsPlSF}zzN;#SHH64B9%VQWE z(N1*WrabboceI?orv!yDxp?}w-B2hf>W;4)y5E))pDyWjp%q_+x{oR-@Ne<#Ie6{r zu1&e&GDa(uUZ80UpPGf5N~93EcA8TPa=;&Lx?e)!po^t{7Nm%omxJCwZGr|_@A{(? zsjGMVfJdcOtC=-w@0<4Jyf?ZVlH)aB{LEO*JPc_)^YhC7vUbA88O!=B^_wh4Jt-H4I zbkwF-?$HD??@WDXOk-W2vKrjlx@*=o-SqttwMs}k@_X@GZ{%`4_gqKrt+x53?#_Gf zHC~9H?hSfs+O{W6QOoQ%_s8~EL?u0~9kQuEZaszSsK?*EadLF9gtX1i`(*cOA?^2F z`Z$_*JXh`4=v}4yOF>puka{(57{;2!1?Rn-^=)b9<)u8SO0^`A=sWV)aej>7FP4|? z&(fqJgIM-gOSQga>gFlO6|?Wu{W|;Z4rF_ly~hzZ`M=m6sK-$`Efd{% z+Rpm(5hIaBwvR{@=BW{Rva6(M9pnO5nHJkAUSs+@ex0kX<#$j>M-KYB!Z22H^?3UI|M$@T z_ARyWx_{g_>hUiW`)TQQuU#naM_zBgx8CaO*DlI>@5}AS73abN1;tq+)pz#M!HL*D zik!pxqDn`Zioy0gx^A2CwJl}w90%LC9Om-b{_JL9S1#<)t2xddz_)Kwidwe@CP#H-o)KwiwujQjZsjHtYwRRkvo`BUJbhm?GG&{8B5XhhVskc zbS0_apLgS7rcVvN-_%X1Z7Xu*zV&nR`q`EDrF}bZ80OaB%QNSGhAu}}a(nrRnIzxc zPKDo+2Uc2E%_qvSjAtw?6Gi2HxWU87qMk~(_Vuf_+Ibo>6B6{FGvCB8S$~H@ul-w1 zz6$j3G>25ySK(4Fd)v$W{FJYDN33oujYLHQGF=+k+Q)7N^sR%rYvW|GSm%VlbOHZw z?kvx7{E0alH`fkXGhXSlJTcp$TXLDQEw^@8D>bd?-=DRyfz{)kw0f0JyAY)|*LyuUM*N&cl5^8`88osHv2J1Ur!{l+j5_?TruS_#hs>T=1Qt z8>e^&ZKwJ#G46(|a$9#5JkiXZJ5QBxqPt$ImjJ#XSn&AY>6zOZ`V83=eAY)QxF#Zkr zS%uWUCXLImr-k&YHy(dkyFLg14|Hv5>L#5TMm|_e)*t*S4!Ip5$~x z4l>OdUz;gkfqkl$$5Gnf^DZJz?mqNSE=M>+lYQQ(qj3)e}R#P#D;n?!4)H_Nklud z`mDjfaAIoKNxyk0v^S-~&H=F2wfmdCCTZ}$sjPV7mGw7N8LtuTitplC&hIw6{wV$Z z(NN3!iqmXs^y@bJnsR1HWrHF2+9$`?vhbcm6+f=ax9j}~r~#Slsi$F@Eg$iDSpUA- z+5NN9wC(eoH&CPF{?xv-$2i_QFGutuy6u|u^+t`;Y@cckMGeHX?2|I8&E_}e&+a8e z_Fv26Jz8&kv`2(oBgHmj+HAi>ir=%TCw9@rX}m)QB6`&_(!9h@sLK=6ti5C0YqBaW zmayXDZ@8`T<%P*dIq?->w+#1Nyr5-KMETj%JiIHXJI^T);wG0-4`&WUG!j2|^w%mq z6_#1-o5{xhTa8s)PhJE#fgkiw?8jD}J8=nmBCKP#{yUTu1w>YfSxkhV3LGg>)_!+} zv1y6i!{(+rJAD|PSvOT5#aGQ@TRo-@&$$+`H&Z~$T;Ja)x?ki1HdS7V5+uj){;G&` zRjvk5G)Ke6xC#xX>W8|Th;d`hGilUYd0wZbz@MWAy9kJN%X-7sELIzKm)M`B-O zZB6GNRCITJAp8eUizJA?%caQ2@>-&%F5mc?uN&I)XQ>1Y>!zir<_}=AZ|Z;HoB>?< zXBsbyl4+LzSnuBdnaPAC#^0__iQ;{F_sohwKEqqh%f+6x^xgaGmH(8h5`KPepZ@*s z@bSampQq0zG^qbxuw*tH_&f9efAGQey-&aZkzf8!R3LW>D|m2t@Gbu2_ev|wc?}|p z+LU!;+XYfUwn@Xtb=cgZPat?9+weAFF|66U;$Ubzb>7#g_^&YMP8MUe@}gCn#y+~d zNafUv-L+EYND~&^Zt*8!3@hC9B)u;#>&Co(+g`gU3VfVS5x+U8S))EVbNAaU|LdRZ z?)}x1Gm&2X5h6FvN(GTz5ANbCvI99>sRDjCllWxDtSyNxv$_q}b=(cJVWAu;GS%v^ z*|+8k)p1r=H(AB4yzg%}W?eSa(X0_fLanl!qqk2&Lvq@-zU|^(N>)m&Z2firLv}LV zdi$TXP9|WUz1s~$#%N3@rqD`HZ)79A;xp`9V>%Kk59#wrUpRKfm%Y7+( zqw!YgjZ#y8x()2qZ-pfoh1&;T>l)PxodQU}f*V-N8%FQ`5RLe;v{3XgJ3=B8J`ce8-Z`E_HF*!>q{T#I`Nf) z-wfxc@+(oIH>}Pp@C=+dqy!ktn`ZCko)B5NS)BGWoi*4IgW5&g;f8N%(qY(CR-AbZ$N3P7kLub8Y?9E(a zy+-`6l@Ici@rgb^U}j@2)Ts;Kw4D!^N~1I);Fn9YLGC!Y;Q1xK`>XD{l6cD7 z;yf>|o!QH-90IB_H@|LdyR*d@kR%!y5t6vBTigK*Fmf~h3OSyH)4`oPm*?JETfMVU za-Q~gezfy28=8@;NW_1Hded@MAF?9ZZ@XmmyQ+O3Uy{3@x7R1(?U6>_l=Y74VX|kx z`2x#@&HFZUcAeav*!!dhbELIik^jxh-qznbRAL%uCJxzY`I)yV)zRCPdXhBpuH{ZW z-{B)`Pd|>LY}{v;6jD%-q%Pvcw?#urggm302l85$^myJb+SY#N@oL)j&xZeg=m)Z0 zK3Z`vPZB&wnx8w-bkX!AWw8xJ{oCx}7KEa`v07sM0t_Tl)K#DDis|5J@q{kPYoGB0 z>&2L>Cw{(u-!H54JF`Xk|7}yV9lN5WR9xM*)xXoPd%7NOpxRU1ExU-)_6KSd-kolwB|M7D{ZL#4w@2@ZSTq;#Wodyvn#RgI2-+2UUIHR)|LU z&YB=lyT7>;GYCUdfU3|!RAwN0cFnLA693=s0L|9Y-iLd(gX%N2UcDmv)z2KREqZ7? z*>%rriz=N%w6BWQ{;3mAeVyU*rA^4lL7Zxgk>9P-&S6_u^cWrml(nqbBh5~ zRt-9c@~*Y}@nNF3S0~G83R2dCVF(oLJ+raB_Yn7%7yisxj=i?sSEB_4R1$o3$JzIP z45QqO^@jv>D+Vf{H@bFDK@_eG&vSFz{oU&m%f>QoBJuo_iIR%BAq8z*+D5Apf3Kmn zjO535Qkh-w$GL$I$p8MNHVVeBOdH$(c^fC7O$r^+0Da$s{TosgY-T}ics?d<6vcie z>!skYLU_ENir3Ls1oy3KmMXY{gTM6aFI#PZ=>zjfXo~JlpY?ZsPop3ZX9a2lb#Apz zJ=1OyF3F^ikxX=rp}9lPX@< z9!wQ3`+QA{*4kO#Zavv;-gW@GX^w0DWoey{ zuQPZfS7~)o-~CXnX{?dRTX~+g$M7k1;}X$#bs$U1jTZBMF@%qgAkL>?KH&E0+}E zlWC++%N}DV;c~e#erWje#e9~g*yxE&D^3R=eUq>7p((*xW|9uMm#XTlKluaA8U zy(cL-Qs3(_-S~^PMdKU_FL$l}E@170n~=L|!!5>>9o(*|%m+`Qm+|M%%XVgFvtg6Q)xPIr zDAaFimNUxBlluQCu@h+Oh;hsl9_9UI#GTek)L&567)o+%HQuQ_Vy{c<4qy83lN$UV zL;|t4c(rda> zQ;3SvJ;J>&KJ9w4`s#vcC`T{r-h>{p;v=<0p)rg3iC=Ji=` z=I(QAH#1_*>DxE1$Yq?iy$gK5(H6M8a{u>N4ktmyHa<{`_M)Z7@SS3YlArWcbfwt$ z257ae=+pM~e5vd%oqMjgrr(WFj&52~H9LLl^KcuEVi%mc%dUFoWjJ*U!*S|Ypz4Qu zY<4oU9RpLU7Eo;%A!Mf|l^1UNY=QImJ9l%oTvmE=?v}D)?OVc!$A*Ti>U-DyCxf-Op&Msw>+SY}w>2H7^zQCvOqtuS@+;L#|me@|WuKsMbY% zJ;iEs<@j&f{jRlJ?c4?Lv_oTzjnO`T&8Aso?h0cCmt3bUrB0==t4%~_4IemyPDHd2qK$9aV=JJhR67uoPf)-t{k=sbe>7N#Ze)BaKk3U~=Bo?OTdCuP_D=oKG0}JH z>l!M>abN33MV68{JnA0j!$_5DhtJN{@o)MdDciFCxw#!^UY)UK2fv%HdaPv|3;a-I z1L5oq6Uy7Fu!)bZ{v-lLCNsa`r565XG~N!bPxW-OU#zK^PARiS8=vNs`t5d4gd9%wg6CQI~VtG$*%G!U; zN872NAi|bWTx)XPVA$SG(Fh2Oj%Lq2pg!&C?ze6FlBHWsvQ$x-Ly~FHCf!N4-FDu{ zD@@+D<04F#%J{p>Se_5{dmP!wnCcD;PlcHgXX#mCyL{%6SNCoZbJrC?r7@#mvptix zpLa)s6zLH!@iCl!@ml)FZiom#sV|EEs-eAQ^S{e~I4To*bj$yD*hFm+x{nBwEoOE&5Z0%{4KAQ3 zqz&IYBUdGQ{&|qpV&(tyb_#^zY03W*6B_<*hE2~x|J&bNqeSPBQQP^tZepgCWJ3Ry zp6Exciu3($WZ+M-8J`ks~P zr}rZr&(@auyxmja!jU~`uF<;v8&@a#i!^Gkn|*d>E0&AUM&B*m{WU6|ll&Q~d)1<+ z9(uF(-mUM{;z1L8IG3ioy1!~~w%s#*&C&fI4J)I*E!DGESABk$6}oMyc&`seU!Pg0 zzlz@{M~&gC>FTMt!l55uJwD2N^XTJdalg-N*8e|~UJugq> z{^nq*k@N@rzgE?;cX+MPx;wEP{q^Pd7j3xT=_KveKp6CG1z2)K_pY1%d8kjvL)l)j zT%48mjuoH$og`-m{GRrmVVVhkuD0{iHrG%$ymp^&e&+tn%*Ga)=i@!r{?8`i2gW8* z36n&Q{bI~)rFne&E4oHCvtrAV*((DN@5!D*-b$XiyF!=+gQtyczyH?95iL>$SU@-u zbH(%ae^Vh4$6Fbys)sODC*vy%y1`#hzEBaH()xWkS-b}VlAi6j#9g-kIgu3i!BrdqW2i`|nTHj25+U2kP7)M6 z{j#=fR@gsnf!Sy3+im`LCLm6=`@gvEhIQZHPt>O<77M5UDS3VT zOA`Lp%7MTb|rmNY> z+4wfy>Cqpz-93ClN#wNhb?vj;_fW=S8hsu8+-S#Nq;!pL^S9TuQr~vVPM<%!pir-F ze*J&QCrviRYQ3LV)4AY8y-u-y;@W*$EgJUa=BE|$E`N&a%|j_!y+@XJUfmx; zYY8({KrkP5hG%-{`WIplD3RGY?%TLOucy(rwf9b5pRJv6F3O<=ZHBG3`FlS<_boV% zCv?mCFK^9MAc8nb#Han5*IM)nUYd34-^{JCvS?ajcHqYMe(r#SMO5H+A=au6 z3WWNflp(-&pYn_zt86+((X$aC_(hbr_V1_Gm@pf+`4;t`AowPZ)##MT;N}xwUv0~t zZh~+5Sef}Bz`B;a8*tk5Ky{%~=yyr90?N1rPoueJ%vW;_hD)cuOOxLG}F*YtSFfjl^APB)2I3W-OV2m690144Snj~P~ zC;k8S6_#g1w6gdlWl28|3$67E4>2$?&B8e$l>8p=xd5>fbl>yx6@atKT7mFJ4sm5yYU zMXI%|tUhM-b8b&^43#1pRUo-Dm_p^r7QUMAlUpV^0rZtfj-vUz65fFPcC~>9*FL ze68kbI3yQ42mR^FyNHR9A;JDaMY(PGfjD5%EA_Txud;dwmk{rRD_4?TM|rBYHlcAL zHxGN@D%9q0tE`$L`|I;>r>#_>JaweHMC#>q)odlBXHSxxja`?_pYN!m&46l+^3fU$;RKoGz|)v-B%9nVY$(;GS56nC?9GS?#r zCDgS~V@$q7d1f?>(P6eCEKT`Q-m1K}(|7W%mR?FPOTiNe1pQ9ro#|hS*9i>=Z)H0lk5t&Kzf`BC ztwpB)ZQAXp&z=x-^x2*@#6QVFL_Y-WdgK?L=l}l+g>KPJmjCVuq_n&G1TQ{C^jyA9 zt)pDde>F|`J?hC zVwdH}Fp`f`O`sNa8}7=Qw`V`js6Rl`P5!>lJdmZMpJ9$gMw7ZRM8cdx($eGo)Jl zyOOosuIuJiKi9nqTQ|!a3AH4-e_Qk+ZCx!l>L{C18<^KR3X4+w^@)$~QJwAV^4^Idj9TdTJ$?iv09v z;YBI&y;8cPK7IZr;YD#zpRIjjleL@10;jN>NlSjc{eAa;uT@Q;MpyW)8$CT=D3z}L zu??i2Ty4vSofQ*87W(xKA_}yLI2X%c~r0$KO`z7%5|v@g(s8wNy3` zAyRjXWdsR7huRJ1etfjJfRm*BnWPH&{2jr)cX>L#Ks~1&w2_M(YKB2)L zX+tS%nq{i)abrh|Smj%IW#H4-!S8zsNJAJCDb2I}&L!{F`DRRMP#?#3N4Pt5`6t{G zEQ2eE@m*qizr?&~Xx|;BUA|3#@m;EtOFDh`_t8w|_c)+JEz=7$9>sGlZMP}l|AfYicXZvRsAxPm(KrEb*x(b1~g|uX1knppeLQ@u@`qy#!Oe(P=#-bbbNhY(|q`sCF;5^yM*3)nhpB$pp$eyJ4~`7Isb8LYwm{j2zP!e=3e`y z>Inv|JyCsgUqq52eBuIs*w)2m%Uw}v{6MjWxo&6JO`4O%Iq|HOgW}agEG(`6SME*S zKYu2TBAEUOS1uflmp6*mScNNE@T@@-6_FZc&V|01nT(EQPA?QpeR@l&JoVC&D@0ja zJfSm1@5fG_{{(Dm?=Y&UvaUwm)et0>KJV%6+tDA%1Y39Y^9YvdNk(^X#W?ijTW!>& z^htInHQq7k9Q-FDk{yafy>`U%{k^{`=JR&q9E_F9fe2NU!a`T5_NA4qvDeqZH0YmK zkhfpugvFRZW|l~G_@(L5JHAu?N1NnwGI}ypLrQrilCi&|G{=rVqebwOEj?24KB|=$ zUcS5hTcMla>c+Pg&CBGI@+UkHsTV`7F>Y3Co2vwYJG~L9`5`3j{MssgYQL^foZHLU z45mnt58T~R_irP7%X_K4ORGPWnN+rPko{tlC(5wxzNV1>?um!1fKL zL3*~py=5|QA_8w|#A5Tq%6-f5_B0?71mR2*(VK~dT~wSnpq`TjX-CXOR?UqlD<)?_CaX2eog!)S%B_2dWn*2s$-06WPNA36 zdad%zx;xg`UkC!6vvSAhye|Fc8OAYSy&T@!VY;CI;$+!7)A&9xNRVpU5S1Zz z%JtI~o|*z<75BkJwQn!_pdk&B8eG3|z zZ_5v=M;gLbpl4wqZj|+JFmQX%Z86D(-_$0XXcB~2ytGXY9LM1WIwYX0=x_1co)HpO z21XN7Sn-k3qt&Kf$AaPBp7m2mGQ<@{6ki4M7{;Ol4dcU5trd1@ zzm!8!B4yYk{8%EZc)ffPt6FdDM5D)o5SQZqKa`p=X|;ctDCWn80;QEAW#bt6+l@{k zq?C?1d?d9}Q3H25e+6zcmBuhLis)NYkbBT4UuJ4bS#mH;D%eD{4yKuMEx}VErl>2b z85^^)+$gR)l1c1#M?T8f_$ygX%I(rN9~R9zmOTQ!JM-5@+pyU9DO*Fn?U{~#J`hzA zo2m@WqPWF>f;8PzUiK5#vuE&DJLk>Y8(1~##qf(2PL49YS)5-{DG)hh8zbo|?>C|=qY?N?s~ z%_qI5mR~5V>=0x8*f~ooS~jZcv5|0zf_k`;Jbw-|{xD5xu)YSGwYLgCLuh^*=9XVq zCBh80arT^U14!D*8)mqD%lfK~Thtf?IPo<8E zhgP$wCKU(&b*=eeogpxH&S)-D_|Ah_^^As=KB7NmZ$OQSGG0BpNQ;f?8b@1=`i?_i zu3Acb#i4n`0#+(+M`mh%^ka9?pdiuu!Lx7U_4ef~q}L?t>y4 zQmFBq`&sjL`=VcoTCI*){9vy$-QM9S^;%0=m+O`kP|~`g&G~V9_3=AP$r}-A&`q?+ zpORaITFLiUg^Mj^z;Qs;vj1pYgRa^-~;4@H4t zH_5L#Mm&yw5rWy?W}TRN78WtWY~067{mO!h!d8eGuNa)*?0Rtf%yU;+h3+D~NhFsqbsCh?t{Rg4c(m>$`X#LqA25q;Q;w%h3jVdTkog5@x`O{vf)L{2?Xc4} z_vtImr{j};utGbHc*V>Z3u@CE;fC|IOf7Uw@hGC8UJ6jcS57Y+K+(7d+s+EI^;A*ywNsd>q zK(EgePc5gjc4ee_bp=W-#5AF~SvZDu_tES? zA>BS*!8>%qMka$>Cwj}H!eeK_NR7POz?ncn=x*Yk=}|HLY2E%XM9oDBWg)A);TUXT zY^8B8-HuF$UqKfW#y>&~zbnGQ;L71(s(9|ky$W6-p|&358JjDc^LG+%4n@3pAXmdy zG$4L6(G9}F3T&adBYVE9>rlc6Ag{1$BbcOeZZkhpEEgeMD;Yh>EEv4f@sU`&Wm`il zQ$)84A-yIH7;YFRLP84*@q)=0kK>)bG*$1iWdE*+su3}A#x{J({5HAEwG0nal`I(7 zf8RrwprhsGWLHRJL`JUaloXy6#zYNpLDO?{wosR%)1ywfKP68NaC|5uUA71!$fS55 zG|oU9PP7Q5k(!XHVl{LNoO4|nFN}DQkWTF(rdWq-{s?E?b*N$|=xRmijqq9#klSU? zs@G)*206AdrZ@g6BSVevz}kFhI#s3{JQmQ>S8l=|Mn=fva}H(JF)9mwgjNeU*| zm~Ykig9f?=!hR!SdI|Jt1}}vZCzhadc87=YBjHgi5@7p=zCa=Amm&oy(Y6jMCF~#P zj+JH>d5&G7%=pLL6UZEft~xISE-<@tK?tRWVNZ7oD49(6R(jxyhOzHsDUTRKi_k@F zr$%%E?PL6BsVJduF~WfqMe#?mjgR-I?}DM)#Z}z7bl;!2^~$|ZCFx&@I8mi{y^I~2 zI%RZoA}&S6!DEbFwg$DBASbu`{1NES6!=et5SJ#N_SNs*y#9hCb0Bm@X0eZHr{h{6 z>s*wAtY@Q0#7_3MYfsl4Bei=$s(7@=d?yLe#_(f;X83BMsN9fvo&RngpipjC_D<<_Hp ziNYN=kgN(0xfu5Qj^qmCXbDV+#*K6S5mJp=V>e*c1x0y?HG^w*^2txAm)%aS(ga2F9hB*HMu zc%FtRhf>2IP*$oOm%K8)C`J(+CD1AYm#|VkI!aa$6|7z8a%Wuk5FikWY@A>@+{;i% z6H4v!<v3M?a8wFQh~mj4%9db-x_P%LppGPz`Tu*XqSwJHuA1>OZ@5_`m zxXA|0E<#}JF;+`lMPP=8oz!MM0=BNGL+%vUgM*l5Tr#s>WOUxTdL{&?T?sVqa35z9 zTFw^KT|$Vyx*8*57a|MA8OLd8LE6Vdj6XE38%cR({-Xs$;V_?{TG|gI@zZTT@&bW1 zs@D1!`Gf*lPp#_SpW+4F`F6gJ-y>@G*d+>lzL8H~ZdgDuP{fCa5$=ZA_mcCmZy^LN z%MDss_Qxw0t=PB_EhB!awL0GgqPyP%Uv)QocL~n#zPp5*-S4bqC?@2_P8u~Yu5r4w zgkhV8G!y(Oyf8UTY;_tDFG5)k$wd)LCB^WgY6go1L9pxb#2v%*8b)E5$>RhR8OC;t z;XwzV76zab0Rg`mwId1aa1P>LIarHDUV@UeL}drj5-6cEt*GiIhWR^xg%(AUWGm~e z@YQ0hZf;W(doumoJSf;>;H|PqEVMX`HyGg_ZHPy}yFC)J;+?;+po2jQi3`c#0)-8| z;WFK3b+}{XH$6-umsR*VY%|?KV5emdMVbh^k@yU6S4x+&e%`I2k$;TU7R;6maC>NI z++D!O2V-Elp}~ROq7ZrrGzyz&lVHS|2s4K=>y4Ucg2r+P+;ml}JGS1DWI-8bq6iBp z+H03phxoB6y*36iX#6C(Jk45cei6$~=2268ea5QVLxYdQB7M%}kA_@sEV#T!{z#@{ zD?@R=GW;RlWg{;ho6!;o=)87;4524SNhkBuhYmQu2tO}+kB%D5jQIm_hf%z+pNG_4 zAm#}f&YJ(TLu%%#lqLyv;hVOx7wDEir%s8K^phsE+2@Q=>RMulAJEPYptCZCd+d)y zak63}h;8Tc1bRLJniD4Km!P zS2mG|Jwk&Xit<0&3nBcW`*7HzT@_I1ww~2Pqme4o?~G7oK&|!cXbd4>-A>~!R3*?b z?~@qW5ndOT(d=T>f{rB#O|SNMRRdwC-YmVQ-~bB{y&=8@8?oG{hNbYL_SZ*s+%iuS zw!c`R1hXg`ALIw=_l$q+DA3qE(WYJzD0h=RF;}fhI0-m`e_1u^P`Wh#1y7C+^KReI z#0z+BwClcx-%BrueH@!DYEHDf_$ou}vLifZBDVh2-O#NBk@ctzx{P>-bBdk{<^D6C7g8kpyI*jdPGnCJf-vt1#s{ zY|fX#bgrX+H_|G6aExy@t^S)ijG9?2Bj)8I{C>S*WOjuya4kEhc z4L)tRL%JLqd{-}LUR+BaG3*@zc6_X9K@!$~u%N1>_`g&!t72E}(^2Ox)c^Hwf*`qW ziMe4wrV%wCkF@3fo`M3nAb|U+rut$k{Y@;Cq_qFSnpwH;=pa z|8RV}2-bHT&~OtUMX!u$HCMKbBn4rpK^$TtRS*7m0F!Il(!|`zcq&~G{soZ zH>dOneL!zNPh>6GLBQoFKu%&`3U<>=i>W6r?+_NIz_SGgO_~QQ*P)Fk9Rh==yp`#r zVE&QPR3W?gBY#j&vLjWQ9uPIu?yY)N?u+|RTl{*ikM_}> zsfTTm#`af8nd8?S86tgS9$;`d`DwojbHNnS(>yI(tf#QewkvsQbr>#i$ykGham%}k z*qg}7k#sTF=f`BfG%*%i#%X)_#bxhVi5)Ym4(|soF)-$iC5$!<_{pD7lCo7eOV8z# zq=R~0LNd^lsY!1gJ0)rO&55{sAHn?(5v-$7O#T#1do_CLB4pW_-p+P;bsVXyy&mMx zSs_KUK&(c#`pWCb?ztFE&E{hjcNmFP>NY_#Wd{OTc67+kwU!E(^RdtR=tEHN@QQ|J z3X8khx!=Mav`p09I@uvx@TVmobw^h6c6?t7XOyaZ@FH6Fc8Lnu@&bpE^XV9kjZcC} zCyIVuMT&pS$MVFgZ&~@yJRnx{WF7Y=Yq&vbl-MsY)|-!-L3r1yF9gD8@+r}l(yoCj zOc!dTx34=d`y6Bx!w1X!*k(NP&+?1YaU#PB)F!ur{^id) zhnGX`9;Po>S7(G*{w*U0-pEH9{9~kIb5MDe1wAcGikHDqu&GI}5NLb0-4DmGrfu}Y zPjSmysTFlPi2nFRt+INjY0~gajZvv8lQG*7Rq>ibWK#*TC2MyJury{yYX5~eM4_YU ztrK*xzrB1FwNjN^qB={4+p%cVe?YQb)O4X-jtVD2IDYOinTuoBb+jAXv$21Kuad}D2~XwwdI zX0Ks6gvL~@{t9*|{ud$>!lu@*4ab+pNP4kLRr{?rR&2_z@sgEhT4nZXXfq#G5o57* zGan%}Tn-~l{fQR!Bt%DA?J0c_75d9EK^?h5g6g%`Fy7z_e8j9{(I2vKeG1VUbr zPX%l2uOE=l>g(JVW73hCgcr>k7`M?l zMcM#c-P7hk!Y^q8Z|S6f55T&QZ)3c_!$IgT z9`Gm7WX=OmhaILx^m)jfMIYftK-jV&+^P8Kvft3V8U#~79MGT`3-|Xg#7FX?M>~R+ zj|SSf3+>Nc4Y{WM%0DyUnKnPNmNz~WW5Q>sGw9!Ox(!6@SB2CT3}P=x9(EpdvNZ<1 zQM>NmzuyF*E=ufWjfEFbQYu#!9_(evXmSR*H!|OH!6=(iTCu-+2273opsz5GvXI{;D&)w zx<7V6RGpQBFGpwa``R=R>9f8wQk5Q5R#Fq`$9|;_3RoxKp`LmdxgdQSH`#L?LLTBx zG${G;s#bT{Q-pdmrlG=yoe?Qh&K)8mmWc4CPurzQt00S2HmZ6LAvzkrTBe8cP;NPbpXv#f?x!`Gj=l)T9T=Qgx`e_PPYNa&j{H!Uc+%r?{|YqQSo~#D#4)Fn z%bKQKDj`NLKGOcjc2M%`J4Q8EIH!s@f%mAEf)3{Ax+v@T91dJd$`_2)J_$nid%eDl z-yRgfg1}Zirw;OV{uEr-rCcSLZ%^gai72s0Cq4h)5+ljmBb9sV3K(tG#;|AiAl%TT z>bkQ{vcaE5N?nY;CQMc_&**oznTU7Fu7845h+9teZrgVD3l#N3O*TETSC_($X)w6W zPYf!gU?9z7D_`M9!a7pY>tViX1`fAh2Ji4%!%hZ%#_H^HLX2wBSf_bmqH_A|*i zSsqrEJ~7J{J898vLfYHwc^Jp4?MdEq5=DtJJVM8eOHMY(^xK!!k^X5Qy9I4Y(}-y| zE0TG&_dB>nx?HlrSA&iS-I%vMHjKg$*Z3eyo|@cB=Wcp!?$_hMZF#h;;gv zKbfN4vhKjV6=jC85*vaTC!w*lJ_#=L3ROIgJkf%dt67-!TonsjsS?FU2;JUfCf{AM zA@D}V`Uv+pxKK??^ZM?3+MOeEqBPbSVEkejyGd$h?f%8=Sp>Op4I02CZd~fNF1@W= zt3^7ja*=VqWTWE^LcInI;|L#p+Y+2^30R9vJRw@W2HwJgJ3~IoE?r*BEKBUI@zFK9 zZKridUxWfV9|vVI;k=j2F9mL5Nizu=>e8VnLan)s46WQ2w{?xhUU2*20Ys@62^Dt5 za2I;~?=(6bD~ya%u(;SkdG`K69vyb~(ky&nM8@T0gqC=|ZC5Aw$g-^TyKY%5Y|xmE zU$hx~N zXwhc2o7k+oDuj6V$`zR<4?}=^}v4(I)5V$Je^`>>;+Aem1RbzJiM)o@>KA5c&xs z;e=YREWS##NKq-46|wOHRR-j#Qd-!0w_trp?CC-ihkPj{T~+E;bl4keh7+h9vDYLi zsan%c9579V>^U?;Sm9GT-Uwh#!#^+j;H*+&T!tpNG}+$_Z_UXg886@Q9a?m=61>iW1sjQ+xnoor(ARxU@X4YR9zA1pHcwd4*tJLOp+|N;$~jgT z(DvV8$mp4EwsKIhOQb{UbU<}n@&wy~+s@d$C>SnJT&j;;STjO9fk`virbX5#PNK6e z+_=FObe_3JHu^^d2An^I702bynPR4_e|!~+q}b=+O7t(7ZTG1C9v(pp!j!%-Q%?Lj z)8pZ922RQCk*yqF{kP z{C>=;_l)W(mVcs=U5~*_jSU`etjE5-3lqND8&*RXYFaequ3|X(+^#PV_@b?FVcBDrplKa=01h;TVAP!yuW+WkwMf{q+sp!{ zQtE_AefgpT#%Y6lN@PDA0Hur}Me(T5@)1>=peE6z9;xI?A-P-ZJMYKbulK8LBW?eJ zVN0Eud-gbA7VLr*I`DHJ@+})Nnj4JMBoqq0^5eHqSP==d4}R^YE%M)t6Mm~P?Dz;h zK1lRTab6V;n8A?im&jQHmkKBFILT$W(|gUPm|IX2x-aQO`1bl3h~wy6C1q8raD0DZ zR<656?L7q&@agnMv^HsO5_fcUx+vikN51*+{1k-VwOUA~=`uC(iJ4(TX4%rZ zjb?alV$fx;d}cP68nNM{DyV84o$6wC(t%boA>K~;L^Q_e!2&x<;2SRm3qw7R#_qpy zo||sET)rjQjlT2jBY6C_;k#N@(6Yf|9M>!n*0SOMX;;Vb(X}KQXBr0d2$VE-6xt|) zVFLqb@b9-{<$5;jRqjZ|PD}1Ju$9DiV>~`$3*|_`*3wNy@rXAJNE5|Z!?7W^ zd1@3F5&;m!uRvNaSTJ0H$zE;`BovE5wq{$QFH9y~BUCiC@sdWC^**TJ zX0FWp4!c%=iB*k1_BiQ{!As+zVRZK}&$CQ|3w&UsQQU9FZetdfk}9MS9zaGod)y9T zJIe&(b1_a|t?~kO;Yz13^YYJ7qBcMN3j!v`)$fCSDBaY0+=b3jG}KDu^572Cf5l-_ zP*UGZlYjv;Xjo7{S~UaWaO@P}^2uAvEu?L?+&2Fbn5yn8N*}>U?2S|#TX9*W&##39 z(2DZQn8~Oa6YM63G{tJ`s2bz=c)fy_v(MPZ8LrUL?OpI})4h#+c#Q?BJZ6GX4iKk| z%X0&O;M@=$K`^UpI}79Pppi%sX`B*0TJ$hc{I@Y=V;=Uzzx-p#4NZ$;$x)=9NqlC* zE3~cntd!Z&MvG@Uy`l&o6P;4_ldV4x#*U0;C9@rVh6^?evtio!g=UvdKJpC2cONt`vSb-@6=s~9+##cXmNN~L&Vu7AP>jcJ zKBmjCn@w1mj*PscI3N6UcIfm~+R;9ngya4`SSgb|9nmoOkU!|+_{LsV3%2W7r4mH) z!)Y$z1r7I=oed;E5|>g#k@rEr2yaT8vO%*j@X}7yI*L=9^T*?oBIxITV=}neM@zzk zJYg`yDkUC_kt{0Z>_!@OW_yb=Y0NzZ5bma%j3uk~DElDqnu$)QXv>fe_TS#Dn6!#Z zlv<`67f}gK(PNi1)KEp>2XIv_Y1xJzRrDy>R^METhE4PyzAy{uFYIAdRIDqxZp?2^l|6!k+Qk76ZSmkudky9An`|yXScdrpg(k<|`yd zs2&Bjh67Xcpnl$Wuu$oSl4SS7+=OmS_#($iNTz|dM;D>)_(Rb$OkVcePjV6^yn2s! zys$!#mtTLq=)Pc{I%S#(0|%!mIvlmwDM-uV(S&{7fgg8fsI1Kp_l$$K$RsWi9xpv` z;%G|LQIa+>bO?us`hB-}Dhzyq56$_P19(Kws?tGc?rJYN?c8IIvR2VgO9)cz7rcD~ znL^151d6&E9J(&*DfWVcg*9vA8WOs(Cu;3!!*w5<2CgDx*W(2xm$&rYR7)(#y18q_%RkZI+KOEJ%N^r+4g&aNmC z`Agzht}~_Ge-gg8HZIDF@J_}}nnvKi(=@Ecyt4j$hL0H)!TxDb7}(4Ep{!zP-h^^m zO0szMSdxJ!#*L`RaUCvRW|Y6wM1Y0WH{lVWnbJw_@2*0QWl>mml%>bBG_t;%c34E7 zC|ZKls1Y|l^2w^?jOj5WvUR%CHFHh|j+p7 z+tV74O=XB@bXe5C!Alyz_iFPfC$o2g9h7D^i5c6(1suFGs0UR~)T}j!q?t3WptqhU zqiX2-_)=Cv6)Uu+$7gQQu2-aqo44Z`SzOuNj$0!socHo~>EAvIWMoOO`)g+;`}YKcAWQ@wx{nV- z6vIngvFM1GKYS235>{!q=h(qS*rDCQh2gfrK#3mbX>IJFl9-qYITvRms#-8Bmz)eH7olyX$W>C4*wkwAi&N+WPf1S)XK;C^qBz@IV-H(D}T z;uSF$WnVRwLY0fcVY#cv_DERi3(NgsaUnG}&{XlP+fOg_p-4n^{#J$Mq+yoj#rXkb zgX{Lu@p9HS8jlxN;v2YL!-y)F$48HiSe4f17vxq<&wOJeyv?scuxDz4#JnAH{~E!d z=Ear3!@fG}+8`lsYRN?wBgi@bg)lGkrEbvN*4nHxnElEnLkPGtX4EJd2J0(w3w$V~ z8Sb~^nuFOcRwwc6Fq3x*As-vC=%I`mp@^Qt zX~eF~LO0~^nxpVj+<6umVf|&EYv8GKp!4>qk~fRtOjM0i_!)6FQnB7$5@^-EW&Pan zSc_%)eG}{`JVCG$zHoA->mrn!O{qdO6O+5P%)NRRK zi!o0MFW&n|Ttkkw^8eA}x32t#)b6yX&->u5M|G}Z#63l!W0c8xornG16i&~MQ6|lW zl;HH$G4o>l;&Xg%<3}H`w@yEtv5rfnDmX zc7_V2^v7V<#RF=ydmbkrg%c4T^*TMJm~MIqaLS`NH3Or--N_pD5|zSHbsbuUsiCLg zu;UmVX{2c1g=VA?LK5FJKO`x!L!`#9T4+`Kb1@laUzlu&kf6Jpx>(G1St7dgP1mIK z(?1TT?XP|(RyTVHy+HYQ|8Pc*j2-E0d?wh0W}I^8P*)o~yp@F`i8rxhBf_^>!)@P$2VEfh13o6n+utM^Vi^n{WJPCE-;GpKa?ph;c@A z^gf0!94*l5tlGOJ-2FR!3{57`$zIC(y^^Da1E6~l^8JDp=tE(BQMhbfK?q7uCV1t7 zS+tJUc0I541zGFV9r6(Opf<3<6@88>s~w>m1#c|Nbo|DN9k!KGB4Ckqwn1{C4qU-E z@UK`g4RC|*${WbHG`)$^3o>6YywuKOeNHAn1PzRbNc(!wg|eD+`HWlXC{e&%CB185ekLqRzouu0Lud8M9^B zhJ}wrQd!&|1i180_z<%sREU?kp+!{PS(P<(>D|m?c3r`w5$!RN ztuoTH6eEY!lGIpCNE}hALyZwB*nWo~D;kX!*l8eqrb;2@$`nJ^S3QEE-_Z;BH zGI9Y619v-FN!#(=ZnP;hXrabZ)oTKpF;rZN+ah**BN<^oNU0A`;Ymr4u`(nhO;Byx zHu3%ocAo*n8#aA)66J}KS1a56D34mPF1VLz=zMVi+_>8Zs*7$xpr=PwJ8Z{%Tbd+& z@d9}^X)^T%V|d0v*6!lLC-y(M_-C4fOoedi@q?i4K7%otYBbdX|FOB@<1~A=gzk%6 zwTJpGe0oGm%F(WL-qINv@SucEW>I?3xTKK~Bq?zxd7Y`bv#zUjnAwQ3`2rym#6%2N zeE?;gW2n~y;%F$yny@rzh0!f}H`bN8z})YV)+2NzwyZi87%`)1`a6@9OofD*S_Tw2 z8bS4&%^C<JL^$8_FueYut+1{-$Qk^!jV>ZTTIy0z#EXI_9DXvZr;xz&tx)awlYFSm)orS zVkCL7r_^t_CD}%*&Y+fc+m4!UbJAsYfh?4ZCwCCOPX1j)OLou8Z>Uo~qvgqN?f9$Z z*#TFoqmG_E&02l%PL9n%rPu8FnVFjIGiIM=b!hr$trfdJAJS*vR$}_W-CtwZZ^M$r!;kJu^gnHY1cTFDX(V60P9Qb-C&G|3a3QTN& zH8l5%@muG2$hQghSK=}5Z-MU^v8b5N;|5zg|By#x9W-om#Zzp7X$<_+Yc`5 NHjV!shR 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 literal 0 HcmV?d00001 diff --git a/openglsample/src/main/assets/test_video_2.mp4 b/openglsample/src/main/assets/test_video_2.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..0693ce44dc87fe09b78b1f1a55ed5158d8597f82 GIT binary patch literal 719218 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

-UrGV5w^eq&^VxDcs(p3`ty4tPXFdd0qQ^HNEjtz+T+_NW{DC1w>nD@Zy%0pbn+$|fu#hBDHf>Sdmnf!x@#$#Z z$9U>v{DK+OSQb?TU$B^k4DVgDvYie8l6oRj@jJ8LpTQ4^sr6NfFR>q%RcCGPQ)(F{ z^>zuuQG>A1Sp)JOkPNGbWI#>@~F--DlqT2ESpH={-h`MG7bU+yDn&lL?C7T~4B zsCgMuJalWKX$iS}%@Yudg(iCF7jRhd&CB|wediWt4@2cY5 zESYk%Rd%4*5!aw^icZ264FKF_J_oeiNUym+QGpv@H71In#Kd=t^7rybB+K2NE57ipue}(f zriz2#6@Oy&v(3|@TuzF>nK?T=yi#S*6KqY}?55CZi!-ZEUf>}c%%}W+{r~vZ9i@wE zQCR3~bRmTC%_^rH{CBe0_~+y8e%1b;-uzu7CZ>Q14%rkgD2K^Wf)sZGW6htV%EdI+ z3=noM3NS?KeMpvT;}#f6929MK*Z4d*il_hp7_^{~0!O4t#60%&)y!D2A!117ilFaM zIF(_Xg6E7_1++`gJw1~j{mWQWpzf%ophB~mXrP7)HzsyV=sQ$Ey8Cw<>FfUdZEnM_ z;8{hsVnzjn6i&Djh=I7tOmc;1U(^ND5hn`y%2kLfE4ZRSKxpdeZfu*V$=W^B82U71 zYOA-jDMgH6?53f`6hIt6RdAU*kIBRUh(rJjD8>N>BJ=p z*4@zgX+3_qO4&lW=0#J*_~2NlW%Iy9=l}o!2Z)`(T7LYGHHp~30PGSXfGxpblv{0c z1*6`0;(!1E08*L;si6MMKUYSbPW{WYxb}7 z{`cbQ88tKjBcG2R@Op1Pb#=Rq8_R2$l}=4Z`XkaSzR-t!Tx3&u2A~=#8Qt|P>3T|0 zzyJ(P##jI{oFPW39A7hvfrN>^BZg~1KmZ1TNY>T;$Uc+*k7elp&hhPJH~-qbc%eW5 zIKxOSv>*<;*0LhGMa~RTVLB@_hNe1=ZV?aoFEDSImB5`kX4tMoOGOkR$Yg6cd3{Md za30TPJ{#>y9Dw`+a)H(T-MTWD`T9+$H{I9y)+z|6jGmIP{7uBtN*W1Zm zzjbS`bLGdoU7Yzw_zxb4hgZ+LE*h_FY5=JNa~@{%o1Z>`JOsG=TzaNz?P&ldS6$Td zw@6!~QL6bg3r1k4000EAL7R|ZN7uXa((8DiG$@O%v3sX1uem~AtVq&jfbd6tCp=f& z5SP%Kq^pQX$K+qdC_)f`d^m`P22Ca#i`2e-Y$xTegGPnrM?yw=fef)5*^{J18b$oW zp18G+>z` zF8!fl3=ra)yPiLWL@{xH2uJqid?znhznSY?zu{Rr{`Cxq;S)gwzdv6fC>x3KadP$h ziOUkA+bb+ac=aW(3EU-J7n}N# z#9vs6hpbfSm$Gb!htrJNp}*A z#6Wq*B;OHHD+YuyxVc-}>s4}+i;*9M7rxuJwUYOtQ?26uYqgmcH-~;4k~|~Ieo6=u zytUY)=ql>s1>KIu_a{XEBQqZ_%eSHHi0jVZ)U z(ZMNEG#s^Nef#qH+)BQ_H!7Vr zHOj~7)>=}}E+@p$m~UJa=CLz09CYo8_WEV%=i*OXW3vdZ6xEm|XD!4zk_z}WOMFAv z&^-m9fD{60MFSMY@_*kGs_HM275sr0zRU9qMD@igiF7;owGVa$D)+N5l?T@5;UsZ0 z^ZN?2*NTA*B1n~W*d72zfdm=_B7}e*4u{t}#Q@iBX|L@G11=PnSOXQNC}o}`^T+86 zueKKgVDL4CB`+59cHS-^d*$N)v=I;mKs6N@UN_XM-{uo{@4x+u$fmA*(7U}o$z?2= z>UC>P96n>;?il?1Th*mvUTwIWMGEtbhX{Js(42C z(s@D?K8kMM`#w-o$$i?}R^Q=0)$3=`JfR-b#l-pR(97G0xSqmnfWxUT?k^%rIJ#~0 z-uipAexJOu@_H8H^c)@PRe5VrAsf$-?|t9@_{(D!!o;*d=qxx32}ENcm|MTk$GhX^ zSDsTZ&Cj*<>8bx;`v|4xqd@^|*9{ChB~xVG2{8iE>vX>owp4j)fhmglSmfg^za_F$ zfO~#SznU|wE4zY}Xg~lVhQpE&dnNz_PI8gfl5UdOL>B#EV8p3wLj*{D8sIR;B6e(J zPgV9S_dR*Xw_&)dP(=QnLNQ=;3;+N$)-~=2Y%Ph#jazbHpjU2BD)D4&YJgxE6A@Pf zZu6Y9W_c~~mj-UaGM7$xsZBu-z}Tdtbm#P}(@l&nNVuYi-wwOJmi5L-Ai+=o1{4qg zTS-efcO&)|xZ&eD8au$+uYxRQbOX zaDD81_%;W&OBNqBv|P#6@Ik6^$150ouMTw@pUkRt-gUibmsulLG0|jV*i3d|6@|lL zfiV=OM(^`b`~25jseW(Xudhu{`v2HPFEttn1yP|NQ0;?N5(u&KtSqc8*QdMA$w-n)9Y?#CgS7u)djkQ(TZgoEd0w`0N#q2WC2@bzFKkkSj{yFYebfd=vHJ(4S*KH{fm0tk#6GL5pfQW^Hf% zt#1wBXk3o~00de=o3vm@<^TWY>Mwg}5rt5`#NAT(eKctTaZH!>Ba@MuX=_2+?7kZuaYDz%h)t69RTsGM(A#_kr5@DS5nyfxZGTk zzWm1K<@lQ{%%ZNU89ZivIaJXn?6FvxAMC!Ufe_9wTE+CZ)*q^dPkk?2MX<)5t!y66_*3I~1jSwrD=X!rso~gAOEJb)UkujI}Ec&7ZB`zt|xyHKQa9 z%)fi0`F`20>FG(bPOstubou>I!@_xO*<-mGZt;K{+4Z*&HU& zVD6@YA>;Jr_2lGR(PmQJA_?|WPded$1+=gv2Ziq9jsmuyEM z{KSiwS|_UeR9aFIcM&Qkd!rWErS(;FCx*u_sxHL@)3GW?TJkWPdD%br6ZIn=IQ>fM z5^%mfm!lSSMVa9DN)rh84g#1bkwiW5Y(Nhu%Qj=X#*jB)kRjzihQU1LHRZ_HcH8;0 zHX^^(*RL1b1|kB!4Ki<)ltK^3+TWNY`Q`hTeoo>ALqVWS*8isZuJ`D^d!m?rS!kgy zwAtH64zBqYwV894J$F#ZcvNJ+P<#Bx&EYmTiVY1q1@IOi}S#>?2TBD4~jL z7cbS;*`an%Wcq!@)^F5L<#&F2e7vlVJR|#r6xivqlT{9eWlD+@#Y5(se_<@CHYw83 zBWsn3-En(p{Jl+HwHL0A?9uE%rgm7NTb-JdF75jDI3>r6WpM}Fg~#85kxq7( z^DA!!J?8S{*hXq;w5j4LBNot=9A2&B{F%k_a#t60cOe_f*nj-r|M;j)$U?!e(Bw=g z3lRn)ZT126@`u;2Z?|21&Nu!)rP9>RH6bbkg@?8y-n&;jV;pY&P*4-sg+}4lw^*!f z-Hv3)N;QO7OA*QG6NPOO1#`$#DahoKvV0FzMk*H5mH-B+9R)PAR01PoUwm>bU&YD7 zK^tdFIXDKCX>)|gR$%ySWe3ywi#-0)V5=)dOzcVm6#_+vx^)g4^P)JY1sPtDX6wmu z(-_S|Hom4w&(R_|VWamRbm@Zer87j>Zwc`M)dZx!qAcCRSN5--a(;ierse`L$EvRj zhd+hY;Q9ubvR-E}B2E>>A+U75!GQ=$9PE9ApMKy}h$u zS<6cvCB5bP?^acma0QQKV%S8M6BUTXVG!78Y&Rj6ci1ZazQ}!g_WO0$%zS)*L|U1q zq$NNJ&<;obKmD(l!p*V&$UDw$f_ENu#}c2cw1DS-+IA?y`YF03@1Vl&%ag)NaOjdm z1fpE8kkt%E}vKWxy6a72NzRdq_H8&e$uT4PC ze73*0Y{ASNb~ohJjT1*ht2Ijgm{6V^$m_+# zYpxPab@+3hpoH!q006dl0J_`SfeY`#pYlBtukr3`_{4Y6;{0@J!wpWe3?S&!G3EiO z;B3A%>4CqH0o{1LZ!a#k!>Nz}ssKrP`PQa}hM!YAFu?wQ)APhj=1FJgzAe$5zos%m zU2=Vm9Is>tf04c#3vj}9;Dz0%P1d^<6X5e&eW__StvEEe000F8L7UiMS5BMm0T~No7~Kjc|9ZD7_Y3zTsOe(HqO`TO9`h z&@K;^ckU2V%ZWJ_9)@*S5mIJrN#cTxI$@R9F9`tmG)YbQaFi()0dHr3%`VhOLvxS;`~#tU+{rc7KbM%RaH)H zVn&H^de>Eg81aA7N9V-Ne#%IJxJUXb)9z6`nIi?nT!D42D)Dt+44IqTm+NHGR4S!%-Yv<+)?BuPjxq`727>skX$$!euu-Q8i`RtphqzxfNqn_MG$4;?mn5%# znK#jhlMsV9?Pju31ca^PwdM9$rB7lD_1J6D_?ImG`zNx62GdjZJ5?(ey$!1-ZPUvx zatRs{8OZYga{nl}W!UJRCt*0Tde!^K1&tIg{rPcw^zJKALKBFlNf^<6`uO(5T4)56 z=p|*SFCv>H)5+w-b}a&KRRr5?HW^?@koO3NI3NVPux^rbyUS$-x! zipgUN_kC!*<=;}XCr3nwcl5lIY}wdjVKAlpy&i1;VRyPVse*B9-Fp8Yxw8zaqV!TzNVmPv1<9+56j+geHR{mu*7=~@CK>RF_#?|J z{M5`HV}AEvEy&8TMMdYAEKYpaeFuWC@J}#j3ze)81U0e3;~n0&*9nweR}A7CD3QID z?{4z^f>;d*R0GQ;WZ8w4Lfu?XN9f#w{Jj=zKj617;6$nqi(|^!Ia2hB)(3}@_|8~H z2;8w3;X-_4&8gV9oOaS?!Hj)EW`kDv0Pk3`CtG;%d+^c8J-B|tNKo1uYHy0 z3?QJWZaXd&*DYmuypzB z+ZKLO_^G4R-L%=MGThpTeG9RB+d_A33zO!RXzOLll8jlaCvb-C;_b6yLE@*~^3E&t zP)+gT#KkOAt9=VNIvwh*jBcU3K6g8_zU-?_dA;%h-y?LxHf=L?IHp*aV^H$DZEa ztBcn?>OoM@EEXd4%Ht;9##NCpnka17v6v4xxE49qx<*yl#U(lZZ|k)y{6=px0(6aWoxF*=6~x{cLrom&v}o(Chr8;y zo3=7qJ)pC&T27>a6Evl$>$d0z;C(mN_xkIQP7$CX#Dz)(%o9Sd+sK@TOQ1oRI;WFy zj-CqQD7>jr+?{4P-Ga1hmZhYnN4=#yd1>5Y+tgB!c+ruywc*jbX6+&=@afne)yb+_ z@?yLpF5>YAKvt_bXDzcD;b3s%h)lIyS0SPWy|md-?+h;fkS^6U?;6jxeYOWz*?c_% zQ5t%Fd*42t_4LV(x)L>{re^hHjsB;0>hJvl3yxArCm%7$0Ge9nqT{ zCqQtZ002gv97w^{>bWUV{gE~Q!_ffoe~WD_Z2%6(_^CA#N!2!Zr}&~Pn3dGo#5?YU zow=Q3?G>0So%rZ@h&>4*xuYd_1auKM^uHLKJO`?ceb**fT{HCt;%e0qBRJu2+2?1#_L zU!#lRp*{Yb3C|dA8x796G`$_%>Am+#Y$c7R9E}C0i7lYrtzn)6Bt+uP#ST1aPALZf z00me8V375$%lI6>(KYst~->S(OEBEC6NP?k*~h6ly0QW z$i6lr3CxBv-w`2uBqbA{F4wK-L`o`~c8QnX%=l>)%kH)+T4+e#MG+jyA<`q36{)2@ zbr9rOgZi&jL6H>AmUEisA=nW9Zi>pqqMJ7$vD|;;FNuwb-Gpv(%a_ffvmczkfe43E zRUW=2xkFe!W{2FXa($^W8HyGjMa1|@#@e1u+9 zo+e0`rm|-mrBFy{DH`+bRYBX&_J@nXDkF@^n4($H6_6?{poCLVU)ui>yW-__vPwiK z@>yhvKM+}@en}!k^GV~Ult4`p&)Zs%vr4PW{(?dXG1Y3dRI6TZ6YM473GqJSC3O*w z!kK(eEFs{s3D9dPW=|tyXykE5wqPC?CWt=(1h~hG0WaHbia~#>l#)njN1cLEm4i3s5i-OD>e&XbQQVBo+ zCI~p=nQ^z4GN6hPSN+8Vfe2F9?RxgBnm;jo`??^-G2g{HA=Za!J@8DNFc-5Tp|pmx z0Jyz`6NUq%#&$FWhQ^sx?>zjY+m(wEBd*bd7qV1YVZhFzko*xfuiRKn5vyOWJYN>f z7OPwNqD9u+aL|CjDg|Z!S?m73QCQzmf@I4Rl%uc<+@Hcx5RW{wb~E0$udKev5b}As zGz}xSTXMY`H@`g^9fi*J@6uYs+k!#T#07XvGfnv$lH!g*Gj%whL=|k2Z`@yMn9Uv- zG!BoE?m*+aHo0&u`}A|pl1;#w|{hJl}UV`KY6@})a&x99wvt>xrT z9!SxDgJ8t5K(^!Z*+M{(2j(u!VXr~;n|tq~`E;aR<=>WB1kLd*JHZcvFt>$)R57aB zRa^bTB?TJair3tNdJkNz$}wQdOUi_yjIjKEgP_@nNicYhMu4LrvHGa3^y_HaBYU4L z+e6=ifI>h+b+Gt&GDYnT4hRwo=f!obP~ZDtjCc}63*z3Gqvih!&jivN1@#wyyghOu z?J8OZkUkf)}J1@ci z91H>gg%Ew2Nx=Zq1l{%(jw&PTq7Ay`KamynQ~K^jj{Rws#uU|`pPd<_f&Pt zrs6E>rSVhtZEXH2BP^p?&-kArF-a`*{?D9R=Th%dvi9?k&1$%*4lqt5V8kgTOI>9b zCe0h0v-w5tZY@slzkU_zh9eo`9Sc1uPGPf!?S~xU%aY%$ zc)vmG9dUvicu>eE!DbS+!X$`5#HzReEB=43_kVxNgZdXEL!t{29H8OhtEr=^McUXb zNr`9r+R|XK0g7^~ARk2O0?(#tdDA0DP(pA~*;yOnaPt#&T95rb-4Tx!w^ zQ{{6r>5n#$KuF<=bY;IKsVeGR_Rl|Bd;Rj=vt;SMSjO$YnJbi*UtgUBAOHe0<0M!W zI`+x+1>jYJr%`~2aI(IaFTmak001@ZK^wgJQHy$bi^Tpfwzer2kcL*5-|q1_KmmB- zuTS?Fu9vIhbU*;Lu_;-QS{X5uLsXTPoX*IaLm4*3HSq0(uXs`SUtGwP=i|-K54B}W zDD!bJ6Pp)c)IeIe-;DdMumD1MfCZ9}j6s$IInF!gMH3{HFD9T6lFncd_RqGwRCK3L zX>d|32?JL>CCwnK>)(g~QBkNPS4skOptM!C;FgPN2!J`tBUF#GP!w*vpxUOZU001j za~%>FLkeawCRMRO0M+FO4}QCX^=f(g4fcXp@3+AOMw>aE*)TE(wEqEGaTCYS+5_4^ z5&^40e}8966&-&bpO-)afxrL&1^Gdm0ANSdtHy+v^_8)d`~m&RkIO3(Btf@tCEuHS z+^$dGS1*#eb_PKK-DXnH3P$fOZnKZ+qqnmNO)})%PP;VM)wfs<;2wlB8_o%hljs-+Ru6E%X+zfK#55%Zbdus0%qhJj)@IK zi)$cYGs96OxJT?;R+f}`YhfTrHYb8kHsNTYo-1{|*QZ`L2{UreRvPn`CP6V6yuT=l zY@nnebWNY4$x@f)3uid6_$8Dq8ceQ}k_Wj2j9Im6sxGaI)LfZ=Zfx0cA1HpRGE?`I zzsosDScfHY<7*c#CQXF3O}M-MRdvfQFZ*KZv@~gi7D9h@#Y)Y)URP9ICRWt;<^73X zrJG{iMQU#1eiAK2VyfjA6{nZN0SN=av0?B|HYt;ea=y`GLjas?o@PguUx&)gH>j9b zVCFx>{B=SliCm_aZN2={%aakWrxLXx?(8*d;hr$!f;jTa>1hQb0G~i$zasMzeRoXN z#rZ+W2qf|Ge=1edf?Q-OuJL{^#r{9?ggn2)TqoV}J0wM$X{O3tlL?t*`EL_8Ouod+ zG=kG)Pm9eZ`lwsObT_y0Ich_cIRV2kt#4x61lg217prPjlZtF|dezA8ifw`-CIk75 zzWhv>C(W}d1P@dG-(9$)FsW6x8ub_%isIzm=#uRjx&}f1$e=k``7#Q&G6>WkL~Tl* z{#Kbe6RyM3wah1o6R|we!YYsFi7_=GpAbasURYbi1Xv=g?C5m4MOQ&Ssfk!Aq$aX# zptJA0=m@Z3m9jCokK$#9fRM*7c1zHw8=TrOSQ3832=lIrSpASuxSyM1IwW>ck~L_e zy9mw7(v+~f8HZF~Jveb9no}fLkK?D$SsR^abtHutIfK4XyWFo1XTx&k`C=H**v}(u zC-UjW3LnYnA&=<*bQBqlst+qqoRXS-Vq}q-jtqZa5n3SkZ9Q0sWef%V7oy3dM~nWX z=9zEdM>@WX;Hng4VSJE=qJD@8UhchpkWiNk-vHnyeU&Xb?OY;Y6Pdh0>we0;jT*Gn z2*X4#*$@1TteGxH-+w5vZpV9aR!x>IZzTqb?J08npr;lNvSi{X&sh&6$wu@Na{klQ zw{I`ZZQ`$LL4PjlYS7D;c}3$;U)6>DSpjV%xI{*&D~tT$-w$5;gw|)LoIpd%D;6eB zwb_335(Pl~Qh?(?8n6dE>^@K4)dOJlZO;#t?`K(FgOX+$>(B8?)FB}uo9)cV<*Z+V z8F0y$k12gjEWo2tKHqn?U+5B}MLb?FH=uq90gNc!bLK8CS;f}9!XUJ`kKV9+3o1A7 zkyfvh78=Ym=8=a%olB72mNoG{PZ4Iju0_yw^duGyIDm3r=KgWuud-6NmZJYVXA1_P zv5Um|zXwa7%(fp25P+u?0~8MO{NN81IiF?tG~p4UP*cYh#ar7HH^f|?5#fEHF z{@G~2s3Ywbsm@`9k@kM)bkXa`-u?KWD^KWu5V5|yepPLHyr$i|G9_ib+%hM4p<)6c z#-*&v>o2Sl!weIGXYpd0@~mmGr;=sq)=_-jxGKTcuf*kM&lP^*9>X;03hChg{#EbuVzl*?T&~+RZtd3> zpy+@2h3<*(4|{3GZKu zJii(=B?V#9i)VnJWLzN+Od zIAbhN^`b~Kvi%dQw8KYAbYIsqIJ3BBqDp^ojTWUnN+wLVm&;F53dV|0DfZ9*CG0ls zo{QpPmp|`_^jj~kPCs%hu{Rka?}HE9n|Gd}94CpIUu3Gqb2G+R9pPe&Z8j;Wx=7{z z7BE7>f^%cPCVy#SWiP@&pTv)r;*IL>i^gZG6LBZy^ZF#2Za7T4mpGw#xV%$NyeJSa zPS}HsF@^HFV4>kTK?+RDAgEl z56=A@UHjs@^(>3Fz}V) ztfIjS-O+h|{$)7$J^X?bM_@6Nheg^Fq8-tI^h`1Ou@VX96Uf|66Mjs;&pKk4Pb(d6 zR2KdXTu8liSkOR)b(#SPBMGk^qWc9HG7AhAOds62=|koDGX2Xh@RGa{W zB4x|!M3%;LulWT-eAx{(=nRo4m$3$iL#)pRiJQljHs@nu3!MHa!R{GqtAnk1F zWtGZ7DT#Rnp#!q+e&HD&dd`u8V!a9k&)BDp#PoMMUj>NBSM(_08{iLg)30~Fq!v~W z{)nI;cVNusQcqcGiEx0KBoGLM5V7*-774L_`+dqAR?F~6xcDaI_@HZ^%j1L%3S(hL zw(k?ec6o7mw#ALw`@Fuy?;Cz-_1S*Ku*Ty)%9(o&51fCIM%y-a?CiWGvChEh{>J%O zLwEC`Fw{4q<^H_7Xsf+$^U1%LbpHJQ5zQIURBrXY@xic82{ta;)eU8s35B~ivuu^U zzIHRYV7pb|;rvTjZJHKlt6sR%#Qo=!V({Agj|>!Ai2o8@M4Dj<@AtNie7~&X2QrlS z)_HaTRjda1@zk-goV&go21kpKu zCRa^oNlhPSOrm8K%_5(-53zYtM|zQ7O8PX84&2rJsvDu1N_;=Cn4v&h3VD7d=dQ1o zbNO~?b~{zMAp-~Ie||LG76BF6=_7;KCh z3rdD)sG#;JRq-Nxazyi`jm%NxM^<|Z2>uMmX*^=Mdw$}qge*_H` zN<_^Ib{D#HWMxHbMCZEHmi2N+ohn6&GsCqVFK1$9Z)9rZ2)y>mlJ z!XV(=3N%DN9Kn8V79ds^sb{>!nXI)?!&`Sf^>tk(D}A664g6k$kcLSy?6c9}nRJsG zn+}9mUtajTOpT;ra;Sj7)MhXskE*KrfUe8Qk^o!!3$pwwjI%Xjy5zQs;?x5x>l(lg zO4u5)1yvBXP(KRN&an}D&tv>=ht}|ZQD1kI7i+2HG_!v(Pg6?l0&E$ncZxD@VaG zX%QS}6e0+6-Gxv914dF@c%!SwUde#rfv5D2b*f6^CLk1`3^TeTM5;8dn)f=`4O}yd z@*7F0JAb$T%s}lTp*#51!QudvB#RHboF$reMKAyZ6f1yLhZ!?8an1SNh#H6pPJ$<3 zKNLYoSm8j^=^_i!@h|J6@1N2K)#&ARj}e}^Egp%H*G|-+4@(+|0mNmL|HNJ=ye z!zIfhQ~^?j-I6sGth43_0002a)QfvziE1c1cx&aW^=pstN3XwL_q%QB9lv0D_IyE? z?z-L6<8Nl&d^`!>#&x5=3fKd{w}_eVM+aMlVRi!ID8I_YPX{lvP&Y6D0AC*O&@dt(I4PIk@@z`RhD8udS+alJFTX|ESeoSYQ3eG5 z0TD{cCoJl?%<)Nydi-gr_nNTHU1(Sou#rTIQ7PA)`Z9CQd17fm&^b$@zU( zFq{>$)!9TZ&_xY6Hx_F4AcZcy5Sk2d z-=ZYNy@a-t(T||f@&uHrwI34}=?->(;8wC5}oU+3Ezv@m` zjg4XHdVZD9O8R(%-z%vl+e!IxF-i-~2)q_)X<}IiaI^k-z3Fgb?tWB;gBHD}daX!vHev2Xn zAqU~JP9S;pTG`;^Mz3Y@n>7h0s`-D3tEgW(`LoK&}6U$zJK~K&l0)F;`f>wP=8lBa^q= zT3F^TEmvCHBowG12~B0zzpgGvXUL{T?IOgF^@%+~sXK#8gMZ!hhh zy9|Q+xJWTb5NDlKwERr(YR6PHzf$69OMFL@*=6PgdA=ijP(qektY2j)VYYwL^e4DW z#p~Qgc31LiiwN9-lcYm?3`nmn39a(F#QT~S@R0>YtLmRwNaQTn!WxXAk5oukf5Y;K zFBgm8suFVqi4}z7h68|QvDN;=lfWP=1H)1$Et>Lx0Nv^rjTlk&LO_%PiU z;+b)uG-xwyW`}CPkTbRgN|!SXvNyd+*4(E^ao^0-uVOIDbaWKr13}hF=(NHmggk_c z7p*}Dh64T>&Pmi_Io)3Ty_T$?k}~LRcVujFt*Eu~jzj4FQj@85?~#oT-$+k;tgKwVDiY!lu;oz@L@5L) zM`{^7SgN#^maw0M!&bR|2?HZR`TCn>m4{89{>Zja01_r2VW3`Ln^ega%e}pE5 z6}QXyXA6{QA(US9f0P#D?}~jUUk(jMF~^yGm+}S^DF=yKt!dv_O|{^~WmSO~P6(kj z-TA1`^95Mh1luP-uMCW6n&FxTAVv?}*>&ZJ`sE<8@x#|S6wlY|l-tQxe7zT<`8-FK z>+;V{cmAA?o@65jV31)eD^}VNNt5+$W}rQvT}|H={><=C_P-G4xmcn5`nCMNBqAk? zM@pMbiwmn|_|FXf2-_jqTl`Mzm-BZ%%pX*a%p;LK+4WexZ0es@qWQk5iYA57y;U1E zcKeG;#ShHJ$ZcJ{7Ut&Z{g-fd?EeV(!Y=9dPFnsiduUHb%j`%-R!CN2xVN?}(78N@ zXYc=*iCBNdNbT5#e5Lpm1P1sJ!90W5EqorhINVSl?7m_J+!2Lg99%=*h#kC9#S9$3 zVwljk|6wlmYs~iB{i+>{dUX5sq2?02K+lVx1#;Km#O*cy}jb2Q$X+$XO|o4 z@=4LGTWkN@T0>rDGw7f8h)FIcj+QxEw>HO<&384w>aNqbF*N;<At}b!~y^Y( z2~F!LPp-%eX>lx{3F8{lG}-}DU_wL~iX>emM{FJd0nYWgd$E;su0ty*08^@~TI+kV zF(Oi9olnnH*3}xC02Q3+Zr_LJn$p+yTqL>T$&owq2uN3U7|Csg zRM|MKn_;k@z^s3=v*Eyp4Lse--U>;9acRqx*Gm3Ck_b&bzr zyCc7sTsOamLA%s;*TOyVpEzrxAYP!ptybg%pNI!+KB=x8eUsbk$J*o3GGD;#^uw>C z-^a4`0KGS`4WHEi{OBC#ufvPm2LD@kr7ZCDcsl*Z6yfDmjGMUK$*42H4@m$cJ$@W8 z9$(fyeCj~gO(7fr00weFnrvW4<@52f0KBjcA_m$Et({WilzYI6Am( z7vrm-n=2#_Flle4o6U#Qd^lkr5##Sq;voMZdu!#^p;3U-B1r z`sMY}J0p11(c}{rgt2?c%6)TGq~cv=sd<0r_NbvY9i~`_F(f;ELK_VHc&&sMo7 z?#TkA%;eWYQ zx6Alf&Ldc?S4k(aMdD@6mQG>$?^??&LE?BP5?G=Rs`NhRKWxgXqZ3`+v(v76Ik+RF>`9_}c*hAYDv3Ay;Bobu%_r;8= zt99?~g{tI_$K?_sDud-dpObb-g%b$g7O8{$N0E;RRkly&%ADnum$E_}WG=lIFUknR zj~@Q-EKcilP0og!;F`UmXg+GG1C>|KX+`;83(r4Uq!X7qZ4wA}BFnQT1H-5uy0Z5d zQtBZw zk!*Yr49^x{WK6VwL{Jgecm`fw*IOzbLDb+JnR+Y7Q9n}1Rx&R+VuS81Ub}*#s)q7m z5^Dbi^KPuYP^#>|G8<+D0%!u%33BhB#MD4WT(s|!e;5(G5b-6vC&iYra&#@Y-AfV_ zj&b>o+L1bMe8naEw#gOFp#y0$p3dG@PBjjPLfHkhIPB64$0$o;ZtSTS45v?wv|nKy z>#@*G&#iA@*foiz&Ozo4F*Gn0k^KCaM=$6+5Z8pfM3?Wv$26;2+^Cs)Qc(gy2oXz- zhJH9n{H5Lf!Wk6yk+EIV^o@~H34&nwy346a*(82l7$RYQBDqD|JJtNYSr-h+il(#F z;He+E!7Ii2c0fR&$82D_Hu_%2%IFgVl+R(5AP-^MGA>`p+w%X_ktQ$A%1)llCz~u@ z4SdM$yf*}Mt^H8gM%1~3qM*_Dc>^G`6^iOnJKvOFe#l8(37?nN*HfnX{h3V-56WJ8 zs{Y}TAf44! zSK0}N!efD0Mt-@qWvfQU;e>*%TLgiS(nRl<@kpX$ zHW$_Q;E0f1$(i~XuUjZ8!9%FHykG87fkaP}tZQ7p4o~s=a?sdDPAb_$tby zw1CMzCFtn8N>9RUFxS00e+g&KD-~&>YAtN+H*>LL*@ZMYGOE3oQC_Hl9U4@!R_>cV zBiC}uE6}_YYA+QvO!cDf;Dx&lKKLk-E2CkyjU8{nM@}NG-Iby;NYpR}uunB&tW%23 z#crc-Bq65abb{M`GS|I_fi@_7Q|Guw2vh%-hQd8U5x}5TX;rGKKZQgL7n`ciwNm1i z=@bbNRv_tc-SJ(;98v4#VMdddJQFtVhT0te$>kT_oLrrsucKn?@9}!Aoy}j6Pny0e zbs-zibbo%^|M;jqt%+rES!gVED|z!}<}63Ye2rArz2x(@RZVK4CIKj-34JN=?XZCO zlOUrj@;2;2U2|eOwF?@bbe6J=@+4D4=~1-;_7vxgd8)S&Jl3R);@d(MHr=qfQ`Kj1 z>BSOw zxlg#G{pU->mQl}VXTGYa@Ki$uvaE(*WgeaP)B(5QQm+02$!;lEe|w!* zZGQZu)Iec=`k(*+4=Sr7D?9O9CrRx*d2QK9I`yXuXS=C+YRBGPME)yy~xd zQS86yxSf7oh41{zY@8|Ibv^(Hpb+G027u+IH5(e`#vG327XosC4QCaR1U)_1%W9W} z{-3LcNL?>+%Wozi+cBD~Kxe{h5`U{@Z(0lya?hs-=pmjlHSnk_~eZ098@D zBmj(lne^{&t$SgA4eiy?03H85c>TRTpOEL)7F3IT`~DgXcuFy7h~up1lOL*L^de(2-K0DRWq000IUL7I?YNAhXsuPJs~JxHJ= z7(0dry_=9o|3><3+=~3B2z-@&JCeAZzvSM?!xe9LBu^BUSLvpF{=O1iWF8N9{`b0U zqHbV^njf;(Px7nFvlSQZeT-CsVk2J@ z^Qf4fi#Inf6>!8!D#$pqqWcid9JJv%MadH6qSQ;SX9h5lgIr#Wf*r{t9LtHUoSVxP z8@znEc}uEf_t&y~qK_9oiA(BXha$CVI6l~{cbZ3ed{62iOeH6kn|nU|uCnnic!SA9 zeBMd8C=%L=VSZ6ZZ-{eeCKERVdaL`18y#h?LEehDy_TG_#O3NeK{GrvuQ+a15PrnG zA~b6t%C`B3EKB8|m;anXPIP7xal&NM=ZMKq)oU@qGA~t5zkHi(ij+>sNqpsrs||zx zMqIFG^BJJqYb*E2M$e!5VGasrQrwki@p9MoY!Jk&y}k*tb;bK-`A~kWuB(*sSsQ8h zEqd}#WiUq?(0xHPqJ}E$LYe;Af6W&nqMJjF8kAv=a-6@75=UiIs`;YD`(TR-_(#IC zOE8zdwU?FlUdk)F5>tCd%Wio86J`9JW{@LGa7GaAe8EMdzgMD%O9%$!^^+@EAJ!3w z=7?vneb}t0zKQMRRD@!6mPJZ?*;JQ}xPfv(7m_ViUZVRya=M!rLs9g^)}apwDI!Jj z;%j9NqbZNrLojIp*falW1cE`{MWvx=Cu&XY5E8=kq+6`BJH@i@P2|cGq_zj6Q;Eurssss8(JfPPu$eIFa;D*UOLZcy{c+a~Lu} z_~3_Vt@q!h@k*i484b`0e??~!IgxZ0J|HT}UU(wJNjF!lmBb53zsr}FL?(W}lw8=E zr8uT+lzu7>!des2n1e=j8U{w|>o1Z?%2p9%5h14^ZIrj1%X{Cjn399Yh2gCX<|L7t zS4&zJB1JLe&${kX!7=hI674%Pu!YMki>+dN9!QnFMazr*_=&N9hk<;oPx$c0f%y~< z%bCp}O3VKfpFCIDEsB+^Ew;IRMCb@@_J@t3P(P_Mn8_v|w$ggHmwtq1a}?&;C(ZsS zYrag$5HE__h=;E^fjGQhf_^MH-bqCCiV6yYV9-Y(yn#5nsgYV>*z&Sv&y=Q-maBgw z9SJ8T^7(X5OyUIr{q+&e`PH!h7u~$n`D9%25U@sX&{|A0sUc%0p@{io1Ti$J_v!KY zy&E&$fZ4fsSv~m;J%N~#w}+KsnlC~4w8pc=@%sp7M`kK~+L-4p>FnLpU*FbKCQyV% z9>T==;&JtcIRQ_NHnrlxILu$I>eAM{A`C$oxb{-ge`6w_O8OYChkY!rRPux}qd+mz zzuQM*K#ZE@W)gq8sbxNUr6S1m^(RK3-!IqeU(F`>Qq~od20Y>lA+yW!*#3{)OJ4Me z*?u3xB?RokJ)z~A6~Q2~U$IC{l)^#(r{jbu%8=KOwq=cnZ^Vj2Ph{r>Wm5ktA{sCN z3Ie3R%B4?Y1{hbNT5Zr}P|2cz_v&7b&14m^FQ(7mH-Eom-G-c)n#(GS%@()f!h)d( zPZz#l*j(vi>Ad&_v*g>b}e3c-Ad~hgIhN{X|JF^!ruJnVFgFi`T+C+22POm0e4V&~1*@rxk;)zl%%!Lc~JHi{D+((Xn32 zKQgmc#+rP;FQfLo{$VC&Rry8dNDkeVr+4!q?VynHKtlz9gKD)G zt;G3zwmdvgA_BqZW3j63kwtGPKop_zQ<|6BGa323p%Mrqiy5(an62+s?;(PHH;6pF zpF)NL0O?km7h6E8KvIMXs1-p?7QZ4^pUqF4h-9wXBu==kdbZESHA*YLlwP)IQuN@w zh~Sg11>D=yt|xRF6zK%K^(_^Y<-N$DVF%(IikQd5w+MPq=t zXe=lT5Xhl(l@%{Ny(K<9Q(SnO-|OFwIhA#jQa}c5k)CF>UoySC$P-=Oc@8p;{7COx zE2`z|u34(fg!*N5mP)SG^kAho!0F^oK65M-j*<+uaSA0SGmmEy3aYN8+j?V2sGq1$ z&C|&kl`@K;iwlvbfw$gXtcqih=)P-c+ReMX5!J=gwm3eUM2Odr$P30Q3hw%woIfb2 zRdO^1%>8Aw@&JeoHXtB})2p{51cv|)ZCK4<4V*6+VJ;rV34v|&gsO;|A7AKEgbXm~ zZ$Q1uxJqM3n+^w^2zZ{jK>YbJ_ZpG_Eq#7`4s`;1=?MVmN{47Q^2E4aX#&PEjOIoH zZ``$S&Ux#~Th{43Pt_QTB4bta+0sm>008R{C`FS@8P6Uaw>?t{LSMK!^U81lH4v`T z>I4dHnJqbKrb_A%b*PpOeZiUr^RfNzoenL;Q`ymWk=?ZTph=^qPoZ>xnp5WVWT4ep zW24jl<^)W8zy(_OA_0S0L@Y`R63U{muxN}`8U#e)Zv{)wZ%IU=>T7<^^~|fRnvwu5 zqnS~`=UczPURy?$mNGR}0V{$Lks_U1$*-H^owDm(m*(NQXNmY5+FcQ*KY?!Gkvkjh zUnGZ`;iSgv5@Y-T02Jb)sJ310f~Gm;PsX`_L&+IO#y@F8w_>(JKmcFYv8`ZJxK?DW zhZ@CvgV+3?zwP1?NDJOzm@k{K0Tf84DH&K5?hY9a-Eb>8A?2gkZCqyQ|T6PF(MPXhYA-CVr-y1)wF_m5ZKjX)ZN zfNNFS6(#nSzy|s&dqhg4@k&KgIL^+qH=gzXzn{$1Vl#G&LBpin1}c7k43VFt?Bp2b z9K8?%trNfi00wqJnzUd?$>qL`%4zuR(dd!ToIf;RE^@44wZ3+*#dx3jzVk=38_132 z{TIu}{G8v*-qzBW*=k>}@*xsN#x9*m5)5P;`xPoHJ84Xfb|l|kv9Y+D-w-34&5K+7 z(!G}>B2q^n{I;e24%$F-f=m3O16jfV&=#9~_ojr;PurqGV#Uebuh z)NV+eo0=y|@`MlWzu_F!FzM?JlMz(F-4=-GJwjq>l|;e@mu7R`h$r0@5L4L+W!XgK z%9dXfT+y#sM#THpA>PR~5+XmoiV*1_Y;)$qVHQ+*A6Br>pCGxJQKpR);|lSS9w1Cd z3CFtcekW*5NSK!`mMQeSk0swNY{N_bjV$&;3!n1Hp3Z?)puyukL2QFMez;MdWZlrA=S?{_g|vPqVm&*hRXh4+PW{|jRL;X3Gg zKaa#u=x5w8z={qaU@#4GGmOeV;Q>S@-=Wepw4b9O)*em>(tuj~6Q-tB(4<54mZEhp zk=0Dy&)+n!S)l>_o?IhQAv!xd<2PSoVv3__@*&;I^fo@8k2wd#2$wK}l3vCn2_6Iq zaA+onM!Ewi^0DDTD0nc{_v__sM^2U!6E6hpdt+ss2MlaseRXRMy$2Nu2#CbV5GMGh z(?R8!n%xQuX^%o)wBBo`uD-`*JznE`A%UVpdBZt>5TsH(aR2l_gjtUwy(O9?h%ZBB zU$Rp0lb&p^McvePNcFSPrkNf`@{0GULq>|#AuE2h`r1hTbtYniItT^AW#PX+JB=Jj zUl)}$f{L@?MB45dj4QYM%QbB67*Nxoefksm|t*>ByffDK+T_fo!eLi39pCXtZVtc77z{HPT?=1+ffp~{DNFf2LF09P zk(}^xSd9)FwN}Zqb*%_=WU{zUAFz*ONkRe7_@ms@_{rTMU?C z+J7VG2$)@0Idw4cMv&WlzljkN6EG~>eHgt|nfpLn2#FvhT=7%+-pkf-!Q})m68OHw z2o_5|l=A$`9qCG6D%L`mdjx_1#p-`XDgD77rSyI9QPrJWHGcTMevgCKPM?cby3Od5 z5$KcFQ*LjrDY3$|nRgb~7sa{N(~6%ZadNtnyV3gc1iN%>IH{p{xgF$I!#^yZxI#j~ zd{oi9Y|O7^66Oq-F747F<3u`}0hbZ)!4U;-dkKe59tn&ip0(6w5#sNvaZFd)#RNeB zCKm(eR#jieukKV7>h*53boj5W2pK3r&kaEBf`)K=O&6_%1V|Lbl@x{L$6L3G+eg{; zexV+nn%kh$POPQHW#X=ju!N|n;+vkhxxeC8-pZXlMC_1ZwCZ=HY*B1lCy-wDb{lbG zP$3)0yMO%e@98iNt&3_gSfnr;3=xK=a`yDsKOQeAp5Cd)UJC!q`u58zwVYTz07`fe zstsC1EL3MDK*847wbh>hLe#R&M2tgCKl&woXSZ8-oU~Vo@`qP^5Dp)b4ipBO!g=IX zGl$&M)B1B@X0+|PU#e?(^dyFp7Mm`oXz_}JhHTc&rHrL6zb@^0OP_H*Qmymk`Pmh@u8sD@_w{r^a7YH``=&Z|z*Vn}>Ofy~f^M;8 z$|Ot*+iI~u!qY9Sa?l4>ftvha3=#kWJOgWD+LTr&4GIdVU)Xuy9x~{j-l@l46OZ%# zdz-SWQdj^Ug*Z6H*e^@L4QMKPB6m;AtDINTH6f!#5DAiUX~ggBvH39D3UQL5PKXMk zHk3(#!{&})8pN5j_TGY@ME@if62+359Qfma7$AZPA1!=M|2ga)HSvkq8P%j$T#EBV zSr;oJ{65qG3iQG4;73(td z6;26iY2^DS4@+8MjFM|FkF{7K99up&a68BoI>`d8*GekYdF(j!jYz%hBCv|wwj8mY z=^V%3dd-d(=9F_g(9D2O_r_meAqmn*BGi9FgMdaRy zLW{kcP0-gcywp-mA;}(El4)6>sD$M(OYXD9-qgKMyubLUq#6Ort}tUym?5-<3yXUU z*uj28%~mory)#HbAH}asIG;pmtI2DVDFlt5IYlTmpnBhl_Pow&b!*=8_?8x(+*{?6 zi{+YE(SPLsligf_0Hd8Mf4j>(K$+Z3Ggy-Zz2m68YcHwX_vNfll$-4fRah?e{+z! z-^4}B@jG(F&Utc-i+N%gLAqKyy)BjBl)I*Mc&xrc=0{c{;sIdUxR2)IoXY#VSEBc= zc5XRa)~l-9yU{U0wofQdC08bT zgk&nKrNJK%6Y!i)Uo7z-ENsFyfQF6>W_>zzeX?RfVlNcXD4(g{&)$t9uVf}Iyq>kr zbS=Ckc=(J;_2>7trIRgWmLN>#uu@F~!3wqa5G2nK<($P5NTsLdGtCR03rZSjetR8N zYaodg^HYbzGX{u4{ip{O?=x;aVvLHy40uES`v&m!)8TUQ#*IG2-(3Yui9Yi5bO(eiDlp@_#>qmnIRo zP&FpSML9v(tymwTxbF3#4ETX_)9H%A96WpWQR^6#MY=W0i3au$(|iV7FA{_ zw!(Bs>=>vupU?Gq=uW4*=zm-wSdET^ENL|9u#*-!4%Z0}vUBIj`x1!&hs~RrXiVSN zWgfd3M0cdj>XmFWKj%a9BLa8E@LHSQ`vqH5l%OKD4W-fJBTQZFLV?SJK&W#mO;_Ow zSzlm@SkqQ2&`&?IV9s-XU!t<{RlYmp{DyU26s8dg`M$%#U$}ucCz8P@eM#)Rh*N3M zR_#6#Z;#6L(6^ILAq{G)QabgN!@cH)556nSOd$vZnurGcA`_c$eOE7@sJVQknC37o zb0wq7p5qXMm#<@v*9M|zIDpiobYKu|S+@7EhGfD0daLC(kOV3N28&H5x!9p7TC&3KTq5=T?lvWRy*g|$Ahz|5yzq1IFE4;n+BJO($ zCs~R>;C;zJ^9VJOj(2L=P)m=TH{D;TuJ@O}FVd@ou?WGv5%$~n|JRrliu%GM`yZ_6qTQRky~0BuJ8V1j5tn4uk`1${;v?2sG8yG##O}d- zx&KxqM`X)9a^Xyf!o@AUCp$>Mxd2a8!wh(FZq`h^)RlPo?-`)sy~mFh>F?JV`T>b*f=|M>GF$`-I>xRT=dQ&FBfgGW-g|wX{@66 zKcknV;SnCP{!z^DDNj$FQ6gdj}du13kys9alZ7^WccE?>4JL17dh>`2n8v&D#` z@|sa}(X-~<_7UATtK#Cc(6RfWEa5rk2V|8fxD-oLix4~v5cRCp1GDC>g z{(9LkLWdl%QRSVqu!`m(uMhiQf*$)OoGREF{o|&6vwFJn%hk`jv(zR$<9)H z%{Qd+$Ah0Jv{?lw!P@dmz_$~b$D`8+Q~qYdKermyfC$zlp^IT+SXg!u6^#P{Vkpoi zM+p44JoC5T#Z=<^RsDWt=f!i^bi9c;s~8eBx3>}y#MMB>KBZADk*orvJt=}nb6N@j zRdbb8G-s`d`FX8 z%uoJ&6SJZmDjV{lTgCk>w!AhM8~h`d(0`LCK+g5TO=dfui53Ky4LRS;5I0zRnz&ix zu25WY2%RmKPLwyt7273mV{>qhUfIX8T7a&-0ogb4J^dXOxrha9UWI?%EJi!Go1aG> zAsUot0Q~W(qnn$l8fS?2A&dp0W#}PE@W?01G?wjyEAONfK!5%*l8 zzkp+K06b%q{s(0B7& zK*Thw{E4~_B4!SV-~b@NVT?aWhCZJ)fce#0l*MVcHD`Pet6$%Uu)MC-7q(=w@=L^| zt)-DPY4s0T%Q9DZ?CNh@;T-RE|dS*pT!s*$I7Xa#bnsdCe-z$3J!9 z1q4cV=fPQ~9s@0dJx`ecKl%r;RlobqsGuKIcU70z(6gnDZ&@*Dp2EuB_d(kHGt`MavGoh(7~kqi4|f_HO9Nyp%nBH<{2-K zuX9YBavCl6qRy@7)XN+zDoN;ccM+> zbSdE2GC{%iBK30=EEb}$Fj^Qfq}WEg?!hmlxAimOG^V$9DT!D#be#`MEp}`5P{zjF zuoEzm3(>m^H3mPCxNqC+6$KLzaFNM}J+{SXm$F72Q*fm$LOA^j=3pv&H+*FW0%oE? z9%RxOJ88KSA(9X+VU3o2()!I$NYKC4uVN~w46?12?}lY}0-Uh9hjjMDeCWndyDQLJ zYhA2-y{k&XUumyuER2|o3$x_jJV{795i6kh92eTVKcrE5}+ZZO@bX2t-)k0z;*e=Q!uTvFSsMN%2acj(b zJv4Cp+208g+;d~?it47nTZQJN|Zm`+cqvrPo9+GCw1vFfJl6&>9uZ4P*~ zHg-GE`(XJb`dW`suI`r%jPP9dLs+^yb?xa zRii;$U9(VO&d_m@nA7C`<1oi#ok!*?b=XGb8jXG22Nu;{!FYwvu5^maLF@v;r!2I@ zHroH?!<75Ut zG8?(`&A0j{TvqtKGrPAL8l}dyg1oCFl?F7J<9tzUl4yFsR5#bPFn5ui6hnK|F!k%! z+-4kU58Ib^8&8-bXZnL5@*0hX5POn%&SZq%)wMQn@1sKOLzB)somwLj8p?p-x+aB_ zn6^TELiSS{itd4uqj|4^fQr024M9}xC#^M8$~QuvVz|d|rMg2PQeY7)pGD-e*ez^Q z0+P!z#f}Yj`61(_f~Hp_!^>k^$@j~hZw*>0P5q1b_j)Rlo!CocjT8ChQq9)PyPYWq zLMvIdc+W!K)uihH6=XpzFbudZL(ZcuXyS@T%wi2F1km9YYgyH7_4Kyf-#^_-Sw#3 z06##$za&>5j`997mw{Z~a8o}8zaLz-vDU4EhR?pi-HWQ~#fv7J4b$uwlP<9=zGN_` z>zDm8OXZl;70RY+2N|x#p#{ZuuCOW~6%jCkQY%c!xg z1~6uZF`lv1qIvFthU~-E8@EBygk+v5#wca$2Yqc0j+*U^|A%9T+xQZg6#!8Z=ANC; z5QF02fV%(TFMLb#?@->CYF|M?I*57KS43&Hv8wA{=%+Rv**ySD$wfs7$>736P2D5HTj;V>RHV~5TwafW5K&$ z;6p@~i9t)oMtuKy4OuKj_$j+IofEkPiH{2X>kKiq9J>NGytlGww@?QUU zao4nZpS}KYVQ5OPJ@hjeCMcB8098x&gS_^%-VFroBWbwngcY~pS|B6&p3W8$&{jkq zOpCQN?8XLrq_BqYa>92YbvkD-35*k(83M)eA}S8H-+HXZ>AC4gs*SsH z(}16%IXhN~Wgz zpORBKlflf=$=x#At$#Z)i8X+%1j)vkr@R$RdqSoHW8Z;oS6qFRMA#Ljue>=5E{kV^M95d&7OF(ApNvafX0?v4_rfVe?rS}xR9l#SwO(|cjA-w|Xz9AE1~0ZXmz0dp zCS_`{);w&*bmL%cwgQ+3zqhP1thY5y)d(dZHDiaqiDm__jxu@{?1W+j^--_*VjEZ<#(iv<%%d$baRSTXKo0 zzN=C*Tz0O-`p`3Zvt_)H=rQ_|%<-Hvh&2wQhsHeUbQRsACM#^2T04x>a~0Lr+}ZKw zV;W=qTykD%Q#rS}t~FkV4J=Kb?Q$YwX9!QSYLY?m{<-1%DHT$jy2#h<$1b$S+u3Vs zj&pj{ul?G+g$N{8cV>(rm49`k--wsDlUKH|p`Z8Ui+P>S9e7OtV9B}G8_-D%)?hbc zU?zcqgGIwJGaD{I_RGc652I$?5tR6&inA)6B|fj+D;PWAH&*C1n6bQv{n)nSAUD&p zuHrW0KH)KqtnNAX`LMIYw%f9}Yj+LC_ik{QNZLr&<4Yqgl*jy+Zu5(zM|;j_aiSaw zq-fhrmyQhV;p?s7^04JmLZHZyt0u|zDG%0BtCCI69m>)YcBE6bUB{OSieN9I2w_>I zn_=uWM7)A!qnueQ%Q08Emy-5^H*-DbN-CcsS=a@6Y?MSVaC3yhi^mKO^0wG=NYlbgWX0h6UYRjwPBQ`y z^ikOVch*LF(}NgXvHc@jTnnT>m_91Bv|+mu!qkSUGkoSFCTYo?-Nc+;l*ODlnwR!$ z^Gbeivid!ZLw7CXrB7>KNuaUJ*X;0hK&vt7hA1PdB=0|tQ zsoV7n^9)%Ndh#;2K-H=_TyM7_d-b+7Y-0^qgWzMkAqCw}P^szumU<;+NBV}DBtFW16mY}S+Gd$`;qu|F!;y4ef}Mnn*P(9w>gBYVVT z{vpJz1?F4EhUA7Xwk&&?@+`#b{W=08f>ZsqAyUEmZ(F4I--BD_+7c`mW`)|K|8ahn9~HIsA#Ei-VAFR16!e$?yTFGiP; z={Vl&l=zp-!}z>BT&9k1b=@m29Rq_L)<`GvGuU2BL1Ao}#74|JnVbJ(nIe6h)4N{k z9b{h9@2bPDski>8D2mw`KlAUlK3tu8^G5O8;ghOD`poQUyVkbF_dY@5Pl6k@{@mGX zKTD6bn;CWs@o5bC7{B-#rej``3~gvi18{U)UBZO2P=t4tEcv@UIK<)(r5G8pM&#_-rfHUuOfx=BjRL{Zrf9RAaoJ1k=_>9a2m z^}RMqswnh&s^U6(VCutR7v_6fe}R-6!R|+|0|Lv(3BUHF&@qRZcO3ugYx|C@)1yQ$&Y)KtKCTDPOf@Kg8a7>s&YKmTHbf z22J)vjps!t61~PID;tbXOU2+pt_%l+7qgVP0f+>$P z9ea^lwD@83<7@KKoU5{%SyJ4Q5%u_4ICWHkiTX~gZwhEwrdq7^t^82#tU8nT_7rYa zG@T4@rNaezf?G9M%D#v8k|i&Gtg&#CRvXORD+o5oFm_LP{R*f;?_RJd`gv`B-}jdp z*Zuxw8UBS-1dZ{!s|B?tTAt|GA&;&+`|A^zxo_!l4n0})&_p$ma_c=|n`u=l@3MDA zA!i`73a=uaxXD&i=}Oo&XpWJ(lA}GG>BjbqqfH>)+GMnBq?PU}rLBBkK}4Dooc{wkW)UyCmn9uPU?~HzYSTP#d%Z{`K4FZA`~Z=A2{Pb3y%;(0t3y zElkqgDyfFSKUmDVFBK7 zn~`)Xpf2RCpZ`4!VysDy{H8|LcB9R4^do6^SZq<^?{gxnfvJpGJkwMRYBS2_3Ew0R z^Fs9-DD+6m(jj$he5-1y>??~q)tTvu%oS$)p%0*jw8L+b%!k;JDBZgs81Sor8L7@> z-(CtoeXPS)X%>3MrLB2|WNQf58b#>(tBYfez9YN@$*9fH6sLe)P2@Z23~C0lu`184 zzU!`xcL|#fcUZPxY)F`{*I^BBLJM%t;TR!~rhT;u8k@qLWN$H^>g_3O>x~#T^HH^L zLK?5dY9r*#?YyhjU^ea>9hU{IvgEAA$aR$W7gue4@)u23FJ;oMHZwRYn2rCbcIkWx zPo*Zw*cj}+)*mEPD8|b&I_{Vk`XL5=6Xzxjg6Q)$613VM<++hP^8F1x2ldf&Jux@0 z!7VBXfXC#=LslU++ai;R{)*JSiQZJe`TA-``zSBoP)WqRg&oCystix`7SYYrBpC%{ zLt;Zo@AsqAw2{fH@<7#){wNHjzPtVBL-6AYDR`@~kwg~uCRVze{~0kuPvv=+0NUUi(yT>$l-CVD*x_@loNlt6)4NS)yVDF`F+wzkgSBk1X zz(T090S8wa+Cy5ayj^O3Kgf&bsU)SxwDaM!Uh4H5thHGC7J9Sk7=GNnTw}Qm zkBFIf$E?Z~wljs*c3n?n;Y9*#wD>nQRUTdYX8*U>+}M(xUcm(tpS{^}DdLWm_+DP< zXUx4yvbW}5-Pi>pD_PZ8pEfLUZVkQRut%n+Lor(bm(pE)fVJ5XNk8Rs-&jneHU+4lXZZD67=-MLE5LCDRk2 z_!*w=GPLHxEzvzOon1?HTxOg{L`K^bX_cGzlhsonS+A%m=8oSsD6j;?hLX-cTC@%K z&{XbPbFf+#@~y#giCSwrQ|s5ZHX>;RMTH4AwTw;>s2OibnNS_${Ie*@vF;*N9t3kg z@sB+$qcK-iueD(dt3Mq^73)NHN#w;|)VXIyoD>a~ zLH=gW63-R`s_kpv;4w2{MRH4iHwMzyswUNuZi1E-wpsABS6`A8>Gl_#Z$Zm&m)j(y z<3aZPul0t7>8+{KWiiQlI@0QjB;qx42l(>(m{z?6l@7Oed$wo$pfMPDcTpmAUt`J1 z>?|$ZH6zW&1-zx$lj( z4)-ENIzd2dY zzUn(G9r1TI_8Br-*sifJPsrr%`mfA`Wj}J?G0iOeIgp1UaINf*Z016e}(ETP)$DHu{~_lLmSB3gpx;bc1!R(;QuhXs-OE6iv)&6 z0xg?d)M>q5+e`BH)p;GmDZeCldlDlExjCSSo#%wI9NPplOL`Z4WNVYGJ>-X5;(;!S z=bTJY=%xuP7Oy$;+wIxF)j)x(zKc~GyDz;=chczTP#sXQ}*4x0hODMO4*{s(*!L(&WC&Xe}pVvy*qfl`KujXPEOlz@xM*is77EB4|06p-4Z87d+fqZ z!M~depxOTMclV>wQZ78RI)f|DF@&}=ni7b=UP{dN?YslXi) zNZ*OkGsVeTyCh__@@$z+r?r@Hs{XYpPiZrX==VUVauDle(?aY!qf}6glx3>JSyA|A7$A}FI6A8v3_1_7Er)_EFF;{OtjTX<;oyhN^FUc5{n$e?AMqd%zf$tys zjKej$)i&_f50QTdN^=+PhH~V36;vUpz+ZcA9`*a_i}j)^$Rt6d$)kD~=pNuj&b2|C@rw11jd)A$}Fz*ke7>;`fp z#$voEJk4soYodQIY0=noL!B2(wV<}ab(j9I?BHzBjEX&Un2D3fiA~FM8W})ySxisA zEl^o)sx#8WaV>1?(u*z4Ht7qa6)}l7WE)CPIhzbK6l0SJX-ivfjuk-B+r`7n~ z?Yw>6%U%h9`+L^BjofI3mi$fvv-15Gw=XYe?_c7t5f?dtj30@5aX&XJtkS`$R&$>t z-#M#TEj1loFG}jw2F!^=7L;wiX#-cP2Q;1DeMQ+Kp{Lo*?&^a`L6auX-z4e4Yq7Qu zj3cf1&tBK#ZmMyGUJPX3_iWBm8 zcIlkAZX=JX_6H5+yLZQ>Gx)s|WrF(OtqjxU%I|LUgV)Y}`fvKzpcRz$C3}B%;T*eu>m1%^~?m}XyzSOqo+UHf+UPVZ8fuGYR3J|M*V;- zmfu}EzWtDG*%I4isVF{zcl6U|&4U-LYq6pRd|sA+XuZc$HKls_re7GIZ;cx5w~qJ7 zfvJ_gwGJX{r%m{qHIr3}%{A1NZnQ_`y>8oQPYZp@J`~qk@6sq95KC!B_Bb$iWZgx` zPe$6r&}R6C`ajf#NIvcf)=k#yIfJsVVR8q>9c3j()G1F~d?naWP`ZOPc+e{Fe-OU- zK2*UPtiv|wt&3fFD8F8GWQCyqyJa0krgVTJMoeOt_iAd_A8^-h65nt$I%m^e;Cpvm zbaF^J;nw!7y4oHkEtG|$7W%yK#>*orOL@X$m1z$paaVCGd^4MC zhs>Q?5xbaU5VcD=5c<$PtNvb~<dxY@i=yb)Rw7>Ls|Zt#(D(H^sa1mPq$eu8(qxca-^2h z5nGP;`gM^rtBub&k(SrB9AZ(jn4NN<_-iCBOzK0vrnSn-6}!ROF685^Ot2=?zwn0m zFO|)MSGcFK&4+nH>gmP3MOrW4L|b$3e{5na<`y^r|$UW)NVnRbTRU6qFVjy>#n zo|YJbt6N)OPS`n=61Rri#ZY}ST*_{o*_(krc>>-TWZ1JisJV5# zTy8X*P*B{zZ2zR#vYRrp2tux-L_SWZi8^!JuID+%D~f2-p*Xi4fTsoYk!TWI=7 zRqov0txLF^9~IMgl84k*&PH_Wct#YjFgO?z@>9{vnkz*inHdc8Y}w6>oyRNmgnSx_ zQFzn%Fxu=~Fjrrkc`4L-hu=9{92Z5G^F9S zd#64#oW0)e%rGPIuPXH>-BEfkm^HG>LR_R;jyLh~Da9lC;y zQFQC;;|x3{{tST>A$@y(ZWaiw-)wlx3iU0rGp+pt8uYZBgD9-Df z>b@$fL49rCuN54f;|p|D>tncyp=Wd}>hsY%#kR>Zx6eIlD9=-=_H*@rH*Ca>-CbAF zkyK_CN=cNeVMUi6tajOo%UyHdWJS#34&`M?!63COYrpWSD>)lYqW5J=m>7{k4h;4w z7hyF<$@w#`yonBG`DIwOuhQ<5Zx$6E@mFBH+`G}+Kbzag$*ma3%Hw)dtm zWQ(AN^M9QiP*y(qP3wbbkE66vfCnd&2@4UkWxAk`T+v;SqchA@8jfb3(w{P!F`Bwr zqt-3yB~0Ieru5xT3&gB^Gc(NckPBLkK^Ei<_w@QB;G@RC8!PVFC7W@niMD#~+*sB0 zE6{d*U%R^`rlN@SG*C;A%XEa-zSpLPGS#ZdgKd{x?S$8^kVGCMW(nm@bNN#H#;}8f z&sMsTuRfV!k8nuWZwj?tVVbEmvcz7+Ju>^Q#%XP<2=Ca&YP|X-$=emb^1K!b!0*Pk zn3JYe66|d#AKq~&43TA$Xs_^Y>^+cL`U#sIlhI~rUPL{{)@r+-Uraw*7p-8|K?HTh z?d{mV?W;aPStxx&xx+s)pI6r_yWC$_5-ojmWo~CmQxb~QYfTN*=^TYy@9Q6Ue=Xw%6kZqpJ0$gmD3BG+6}7pR<5FQLra~bhpxZxh`HY#E znWtA~$wjss`D=8)yk)!}#$#C^eiy^>J)>L5#m@Od6pu{QxN27&7Dv&ukR~eo&O;R^ zxAorcqGacjlOt+3KCkb&(Ry~c|=U* zoi91;B?K87yps3D^nnd`t>l#?WvMB_$SOhGzt0W;1VYX07jkBP^_rU!tzb7yRS0ms zjl9?*!*G3%gWmcu6BBg%tKaJ8FvnQ0w^z_^zq)1p@8Kf7$p{E=G=|d925z9-#o*tD zKJbacRXq^gRaGX!-$ki$P}-{Ry|*4sW}U8kU~Q>qWlhZ`pTl8poVbyprBnX=G(KoU zK%=EbWxpg=ESuWNRCGULLk`1bz|S&n<@f8qZXy@dN|O?y>-vBGbrJ-HZ?D~C6~A}u z_jDwSS^afh>ttE}w%pmjw_N8Tx!}q^UVoo?Fr;(EP^sgQHs0}9J@6XO`c2KDKNDm_S^Sv-Wgzr8&&8CnNH{W)Iq80MfuDEP|DOsnZ>LQDB==c)DU?1qe#-WnI zgvb4|-C@f-jNK9?Renk;MX08c8b7h^KN1-`F-lkD91*7U5&139$w{`y)m%mR$wu@j zV-?d1E-jYw3Ls{u4?*;)2TJ9ABCE$Ofg!mf(_8uwH(P0k-+F=}efgQl|Lw|!Mv zeH<))y!s0d+x`-JHN%R45kc_nHm5k1NTxDj8;A8R_`C6|Vd`kMI0?B!x2T>()hGRE_Yg2s6FCB9i->yrxT_WI*^m)hbXG`0Ph!U)J-?N@HT}Xbsk!&Ld1lD$kkCPP zceG~;#L-r^DhLDkgp;UOiFqAfvc8UEBb5i$S_>8F?V_u!@o{Wg6RX;*!v9s*j_@`* zm*vMRSqxUp)Ol{RbCuADuUd7xzPolKkSTTEyX0QY$PfrZ7T5&Yw^6D>Q0OFhIzU5i z*M(}aA5I&Sy8R4h>-+fL?&Buwmhj^Mp17cA7)0A|L+1(#;hozfSy5VlWpVeVVzBVR zufZU@6qsfUS}&&jw*uFWJ@=7*joKy@<#Ll=J(ekZAK@~!L3 z%f^+s@eUUQ=Bb1C%AkjtGrOFKvg>gvqVB}8y8c`A%gtCI5)t^>LM-2t!2t9B-LO-7 z-?zsFI_uKE(LY2si@3;;P=@IXt^H&~2?|2kr#20;L`w51dWoH0X%&+X=J;PJ#`7sm zH3KZZm3B9|n9w%6q=t61p!AGUTAahvxs7^5JTkqotq@NfIB{bi0SbH2$Zcj9tjjQ?wH1Z`upqAkBn;h?p5{DwehjjA>lER4-TS zqOT)Yt*u!uY$>Z)VO>hAGge_*3Nxl)vNKrOtUyOY-u?F>pZ*nN3MrximEijaZYd`z zx;1e7myO&36KH^<5mx%fGP9JDfeibzZTDGpB62M;vQ-q*2B)t}h|5t`_afO7 zQMe)K?y=|Zi5t;eZk3)PuE&-xMO-t&9W}YSjKA!jCKUFreo~PgxYWnA|C);xTD(-& zwVRS;t2Ez#cceQ}hAt${+Z`=rV$H%@F$$YgTC7D^k-&$i{l1E?9cxW*GO>tQ+Qa?! zHZDHlQ#B<&{Q8dmW+8~2V6#$ba$BYJlrP+(@820wT9(u&scIB&stcNDL~$h3X~_CZ zmkpX`+JY#>W+a<1Sb$0T)d8--(qzh3X^nSCbRdc_Pb z`v2WgZNoI%?zS*4N;;LQK(nBZ!bkJt`rgsvy8CwbsS_FbjS!vRMBcXL9!FFN6`W^N zGHJh>#YLnVQyvuritnv&cw#=HMxzvjyft*}Lp252K$Wgdc%s9E&;DZ1mk{GIy8D){ ztF}X@)nKsVJ@5N(R%q$#w^*;EO3Xx1NJyiteoi7l<@h#~;pMk>^F!-48$(SXfgt~+ zF-fRo z>YE_AmY;2PL^&B*?ryVTM&PweS!35N)jO|SZ>PfLViAk=8k)IruPwNSreI)XQ|9Dz z<_2gcM*iN%H_|pGN7vfxMT@_^)qez7RJXbQ{0{^I-~R<2Z`;2_)n@ zy3Kwo8c^4z3~#sS#Yed@F%yJ|$e_hf?ONS=bss?Q7G6)fr51L`{+y1xbv3*0Vs^Bw z(`y1$0IOraW2`f4>uiO)R2*U|h2{}MnBksb9jvywchw$Pa>liW;Q~yEKvFZC(kQ;P zQj``ZU^aBT(6wdZG2oM_8*5tL1T*<_?GwHA0h(z@g;JD?(+(Fit=S7txM;e1M$fTp zQiOdZCbHxkm9sLKPal6Gs7pjb)*Uwq7YPQ`F}80HPb^{?dXG!AnSkyE`Bl1An?SZ~ zr?^zhQP`bCb061KYLb11$A}YNBdf$tUBA<<#cPQ9wlfz5 zX=9lH*48c?t+3Dg?~MvAw*Tt6`ofi8k*g(XT23h60gP3D1VS+_zIWj zF5M<73p#%lMyWH8b!va>!$AALP%=X`;REg~teHCl{qBuzx@GSs@%|QC3~n1#NhS3Ll)-@hiNoB%7=CS!e~52`1O5 zZ#EckX%*0rn!rC#w`ztb6bMlMUYn$uXm?NJa*q@E=_=px))#gDMlTL!IGHt=%5u#6 zzN!fm@734!*^b-m6{fGhs?f3wFZaEDdF$5o@4|K!D#dYH;$?q#SCA)u{JVKPSX@K8 z;-gs#Z&0-$ zyIqs$w~_p2F}$14v=?PV1r4gqb+{uQOq@RMV4$k7G+i#PXFY0+CUR)8)4I3{RAz#< zT2jbe+PRC!3)@Ld+d>T1TJNBX9G}H zqI|)CBZC;s5QSe7>6;y@Th^>oXOFIzIDk|@FDDxOYC(rGR-!^5o4xT@;tRB>*w(LBD>JpxHG`Q_; z!#FSHxGE|9@%B_DLPD9eQJT8y`UoVR+}?ooLM_;&<<@U3IXQBuzUc23?ZtFL`L;?M zTt#%=#--=?7GmB5H>K3nq7D4ghM))>x50VcVdqksm3@=uR(T=d#I_xq;}aY?_nV# zy2g5b?s~Q(_x)zm)wtjPy7nj3_=KwO#vO~ujw&o8Y>>|D-nk4(cbqm6t8;j_0RN>Dc^qs zML{ZV{pFC&%*>FA`sqIIgl547Thur0NPH;2WCDfn@1;Q(2?f;u|F-%7S{awVs=K2k z7V(vDZY|4=;{tWP$({S(TpjWnHJEH@j3jokFR{%L|D#|fLyJU|-NqrkJP-_RYx>0O zWWdAqy}JaCLIQ%a1NQY{$Dpj=2!i(bfb_RVUZJ+$$BzL=lDc&f{Xd!9WYT36M{;_^ zpE%U0&JqosX%rfq@}|JyG^Wmz1#(?(79y^y)1>ZZNA!>8;cjB6YdI>v@Bz9N z)ucxPbg#@u=GsO-enn+Zttj2ZwN2MvVby3I-Tu4FG(c8LxNeL?L0#o2)l_=d_y(fL z$e{IaQPPJ$?)d#w`iK_}$+tAwuF;8J+o-bE%;66u*5__bOJEx%YM=f>DaWx2$gixS zzUlM9oirEfi_qRC4P(q`a`fqJ1Kn4RET-IU;JRppfIuxUNjk3X+uF^Umi6N>Kbp&m zWnmMOnVulyfn^bWCBO@p%;2i&|ApxFvWy#&2C6$tQ8A!KgmWG(hFZ%I_Fib6_C4Hc z9A`rZe*Y1r-MY<}QAJ2Je~Q;0lIRTy&}4l5YpDsNLy5+R$FO8;E_ztz=wy=$uU||j zSV}fCGZJ5L8Ypd2i;uVF_&xxy_G8QU+;HQ-LiOAKTxM`dLbKl(cU9fs^4?s8hY{RS z_8kfF!z^8h*gC%25mEWoiWT8SqU;&muu;`7yzy1Jy4Yl+ZkAfrn4d4y$L3M)sN%`` zZM=p?@b{lZa=U*Dr~u0ES96Zt5Pr?quOx+3=PJKwGs z7RAqvGD1#1XfLczXmk*=D(YQLq3h1ecK2y7ZGsZ3iqrA4AG_Cnj0eKVVTBob@8JLa zL|TiVlli|re!S#|2;V$#{+r;#;cg2W?|@NjoAUlc0CaaZF~rD>TGmu27`k?vU~T2Z z$hREG_l3J~#`eT62T?14*GCqv4QY(D))~9y&eIvggD(A9ttJ|%04G>0l~ZpNad&n1 zzbk}L*Nfh_e+1!8cc=a=+O{h<_2`I_bfOPy=$bU2uf5xZ?4JmHZoLL^Lbbd5_H@w` zeR&i&i->uljBd!nMP4J0=&Yab>{VZ(NyuEp7CZG`_kIZo|N7J43AwwjLZ0qVojl0b zT@CB@`XHzCjeds+*$icaIcsLqSZG7tU7c4StoI&ElTKGvpc?b07;6lk(x zR$F{?#o#k3sf~-?wtLum^5LKn?h{wQDPX5lPTOt#9o{T=`1#M=#zQ7Fv(!Z_=dVoMRJl2N4}E4-6-l(LiNkV(-4i)uy9il$2~5mCUzm-Vj|EuJN z!XMG0T@4L57|klx4d|)29Zc91(^MCiv+}#WfWBM6)Stc@Sx1p^i6S6Bv3sg?f{7a$MOhEN&gDv{gqMm9f2XbRe z*%_+ei9OlJ=?bF&d)B#8)F>Sg3mj=~g4}yO%v^B&dj5cip6^zBU_`ARJ9U>&IWxynn&0LiNV;DX-gO#-W7exQGymip*)*LE89hS;zYMCB6D7o zm-1P{2x3z%0y;8f90izfX{G8n4Z^rFLlxNnR3W0@`>SFp#`+_IEB8HkIMbossXApK zkSb=Ki`c5~L6g|Qzja;MsdX!F`!)#<>u$-I*3!NlC@IVLU)h+#2s~CRyZ7gIH!FtV z`on$>w5(#Y{#lmx#!a)FzBtD;|G++XTvnuHYbAGEy3B@$?)T=$_;GjcylhR~UrF6c zdSATQTx)S#i>vSMgo;sjdiw9qtb^uX(~KhbUBtf-hLKMvG^8jp`~3+S3hTGO%@H7n ztug(Bg^6C??r1DTGkLg%nLEA9{`LtKGR<{T?n;+YFUVp}RDTvY?Q}&_M`l?hkyH)W zVtrQI2o95`FvN(X!pfkgT?|>@NtqK3&e&`v_z)X=3NmabZe#L={HY&qpgBxk)jy0? zYgd4%xD#D60(AvHPXCz8cEq2~Tr|naYHucWyK>SyP0VM)Js+;_yNKnQnbyrEPjyeU z?I!o>PpR*MFK{{1C;W6xG_ z;iNvF2_%EoH>b+3s_2lQr{iZ`8TmQ~67pyG)UR#QB~vez3T5LH>~wBIzFeIp>36x~ z#=7^#VyTl0w@FFH)Ah8Cp3~GRtb6<(rzQglqO}7Bv$Vf_0FIY9Gq@2wwtYv1{)6gG zl;&)tef|=C$bT<+wqGsXee7h;u!yIcIG$y#ivSH}^&?~WoDX0bZlj*|{zO9*S6en! ziGO#h0`^dYa@`i?@S2u;414DOY@?sgMrcV7_O@(JTT4cqlEu7>4t%_PH&)-b;N&zd zTE_3H^?ak0N%q|@KEVF*0sN5Y(aiixl>3tWkHt8~^;c1Gl*QP!YeNFS4J`l)J#c^Q6Xf3$uNDz4%OYTv?X z*$Q)J;q<#JVdPX+A+u=kziVsn#lNxS$Qg{~y(Y3Z2>g=buC8m!C7cK0WR%Br_!iuZ zx*;W*3gYBHD9lIR29_~Nrl0XJ#*~KR8d`C>dF;{48e3n(xFgevjLFiyJIVhJyCV<< z5m|g!_`I!FzyO=~5_;DJEMUBxy)d&ymQgw+zqliM{Oz5s20cl}-h0(8wsg_y7D;6{ z9eTI&zg#B%VzHx72UD@G7)9{8)y8#FcG;FuP5|O{E>K{AA+P$XB@b&On;>Bwax zhAoeFlrpsWCyjPp>8(xu{UL2%qWUk&i{8+86mQTy_*?It7!lS>iuc%m6mWLij_>@_ zCRceg(1l4GWbqla@$-lwJ7d^d!A7Xt`+62Umqwk-b|)(KCF0jK->$Ktkl6b{gK7Ul zp3z94G4nBit5tokFVyL+1ZYp2+pZ(!+-JsWa&|SE-*@G@Cz5n%Lac{-nvL%TU zsZY%nAxrxHm}F!6{ncG-Tff$#z56{{i1OY}Z>xOWaoGNbc3SS8T$G>5V#ADofHeXW zy5d-XJ9O^I*2pE|>$dSd>;|4}iuAQ*U@T4b(4e5jP+( zj}h+TU-JT*D@4^6w=3A`y&%%YbD$P$+v&2J_f+R(VZX1t(cdJo_XWXDz>d!eq?T%TTq^zDxCg3WYfP&U8hA$$7NL^mr+H+ zJJn3#Z$z!@KY?}c^$`gZfNv)i*Q?=|%XJHWNvWUlRLxq)AVfE7wwS!*0ao7CTS{14 z+$C(epi%PEBXoU)_7U%{eKO(3`}IrLp~Qy#HUqcYMetCOfY8+$;P&MCE%gT-HB8UK zX6-RXr1qc0{yEx&4YB#Kk#!*IyuGH&+q#Cse;)bYW88j^Kj;hTT~xBDw)7@@p!^oc z2ypX%L4m;D^E(6F&{p}@nq6(vgytGMFIdJf$yk%#Jm`{jT&Kv?FFW#E*>ENaRC1EE z{YM-4b7sG&Xg&Sinu*yEPj`b|l2xP9G}~cDp@43xu`gxqt?lwl#hL8kewO=s4|CPO^S*SCJxyMyi_<-J{E=`6E#d#CE*AU0FaAF7LjT$Ns_ScCpWWCaoG z_J-`Anl0}ey?!@cfMM+9)(HANx{XsGK;ymkU3gx1W`My5q&>h`^9q5XK^M2^X9sI)W_MQz%rZXpO+Es3uH|pkgRrW3z9!7$b zkZu&F94mD%`*$Fy5fq3YVRs^}Ui%1l#`SQFvRMY#ce>X#yf!0nzjZs7W798#9zb&%nXSgvc4Ef#{((rOMUya-m4`XULv)Qu z3VvsY^4Vy>ZM1PssP%Q3O$^`c8|J^o%;zDC5mj}~a_*+Oc84XVTXzqtf9;q>Q(M?T zFX8hLa193kAcg+5+Boh`_b85f>SSA$FA3+?C-(T$9Bg7I`lI_dN~cBJHv1dxbyRvS z2w@RN{bIbBoTOqyoD{yejNIMUS(*iZG$6!PRD5&|><4}#Q->NvI~zDn$V8Y_r@u^0 zZGBWr+?(RLZ!0MH%HyowE4}#exZQg16)PO?!UqhAdhhoDS_Jj$^hzWl{{8RUISQcX zN8b!<-!zXm$jtAFdW+k2t^10|EcbUkHzsx5d5Zn(e;kQX%w($~CWtd@uMqUx*I>B= z2Nk;I{e2CICcSt26G1U|-{=++C3mkZm`Gmtf8anwDf@dcFhX7UGXVpFftkYg3N$Ou z7Rjm^M~d*qZEN0OkealRl$1#!xO=EWP6EzCDW_2X_IOp3;>mqFjT@zq!idau(iGKo zU}ag9FUFIv{dDorLF7sI_>Jbent=8;Lpj~6t`6-CO{!(?p(LbvvKj4;(UMF3eHB_b z>c?tAU|xb~=~}^B8hZ{gp?8qcdfpwlf-~h{Bw{u>r+9%p`m$0}u8ZEzr%~U`tKCKA zkt8OjsO1*N^H{m7d1H3-)Xy3t$AGqZ(aHAPwQ_*pT9m^UXLaImTqsj z>|HR@miKb_{zau!<3my8UOvXGA?VV1@D@}d_Osb`_lSMHnp=*}lB4dL*}p?nquGpM zF8RaS=fT51PU^6C+?rHvG)2-Iaku^;yAwSLDAH)Y`kiY$88x?szr>c>H-Lroit3>G zmIkphH=dK93Vx4!pp4GFH?>|HdfTM#ea&xodg^JmZ}x1a*f_9}`^}0^+SG2nyd!Vn z&-S9y{JY5j{;*pF5#A)0z5LQ~N8X;O$MO%O{-j7deKBf)I}wc?gLN3w+b_J3amKmE z=z^JT#c>0k=o!iE+oW`5{z+mYv#`VD=oU*@D) z)uiq@B-I>H9`z?;i*#0OTA~~9X-8v%=GL*c>mFE^(3I7Nwr%h6!QMda5et*QToU!H z@}4seLN5P!dDD<>nfaFJ0I+xCnY8`%0KHc5@2|rVvAH5FjH!5Rj{M9*`231;9CjK=Pq^8>2*h=TU)n&YvMiwK46(&8b=6hqJxiYB;dRFQG zqOqkPbA|(NL_VUTfd~^4XO@owRFVSTZreVqB+SgwQ+6}@{GQ5CW$SS3y+^qA?3Foa z)qA#siH9k24-edw7FN;PY0Zld^9@QZ#asT``+g~0mEvji9;F}aPSH$EGf(?|a~jj} zG2VX3taau8cCtD_JOu{bL_PZG^*y0Ptw1|qKgILPUzU%@FXFYD{ZbCLM3^xLXY zimmI{<5P*^{_lRHG$@FJ4>u z3L)1mp$dbs=c#++HWgZ;>qR0WPuL=xfohtXSOzyPZy|k49BRy|C53GCmu=olPK~t&R!zdvJKxS{U9*B3;_kv9)^^*?OwV zs)&Ww{9AVYMa=0tc?_-9|FU6iMEJxQabMQk0hHZtpilN%Kl4vzF1359V>Ax?HEsP< z|5f!x+3K<^yHs9OtIU87q3h%|9DI=4}IagBFKTGraKCU4IjWW0TMs#lFMp zHr+@w$5ChuoK~No5UJ{qS%?#nghL)E=}d1ZY}VU@zm^)Cw;9E1OFx)4$wkk+Chg$v z*t;>J2-e4&FQIgIzvDHO5l~&K1XX((m1Wk;kkEVGhovfEx~od>>d2T=%5zOzezvN{ zC%P9D!6RC@k;gm{h~6%;MqBOoFIIo-S$R~Fnlg`CMCn)XYO&bKUJqH8foWN=E|y4s zwYrQ#i~M_wP2xx&A{_r$8};>YremV+p#3$R zc+L@_(cZ`j8ek5%x0>PyWY8|2dbhJhu#-6)$A`xexJ67R)wGltqd5j@Rvvw8cMEiBmC0V<%1%pF0%~6Yf8cbG2^nm+{9?)w% zP;7)3Pqhx*SUqnqzvzs3vwP%b_cZ{3xltIBPwqZ`U;ar!lk2XViIxbC>$jn!1R^!! zx@BAM>tBl2$o>BHzZLG?XUTr|zq^f9rQR-?vG&qiA87>DU%z~+Ux#k3_wU{QPc3h& z^>^ZK#5rHJ_qovm#1ZSSUtK!{7y5$~+vT%&#oz98vv2QT_wo-Ay?6}rJ2!*Bt+o+* z{q&JKqv}YBVvXB+6h-0{z$o)wwJNqVg+~>|ZvxbHB%xIGG=`MhutX5&U(WuLoV+e9 zYUtnobw^`klWm6x$=}@0$9odUp%dW63b95#_Xw^@QgFMmhBwFL*O@#MTdod|da;LW zx#XwTsFfun2xD1vmhM+%FEg)6Qu|r6+b3<4A9&kz+?0&(%vyf4kR;ZaAa8+P+F(O@ zUo%E*=Q;0jGUox^pz^DrVWFueNUB2@kan57Xt%$_r3Z8{Rw*G74))TDqn$Mse@f;+ zwkh60lm=aVw%Z%D0{B~7@O4i~898<0M*DjNc5%psPl440IGCB}i7-i_7LRqs9P4D8 zcFckkEXEAi$e!HY9U9|@B_`s=ti%IUHG&N4JJyFx%+|J=%(2mL{nVqHZuFOj8MUaN zY9K}LlC5s#b-dGk+ipw&znjz3KJJ`0%Z4)3k)K3N$U}EuXtK>`vY#eUeHRxj3`}`)XzV*Mw>qM!a0#&WE(j0qEo&QOkz}$<0!UNEx4vK9O zp``1p0TI5M{q(ooh8^K5C&U9Uvcsmn2w5S34JSYO7d})*dw_7_hU<%9`|Yk9%4iP>LgSvpnpK86uQ)1y23)>)HdVLCSu9f?(iq^Ue4Dj7!ij-dv zvZ%X_49OgrSIkg+S%RDSsloRZ*f0J4jBQ#LPVAKQ-x^ony{Ri)mpb?AX~2cX=mgn;3}jxB)iT9>7D(W4``G=D_Nh=?@CIhYvO!Kh7P<_+k# ztS5*S&9lDl$c?wHp}x2Nf{-^GC ziY4>T?f2$FXb_Rr`Gb-aSMSf)+XNr)!3datud-sY{ry)r<59j7 z0w)SWH}iYBy7<4jyy0?-y~Q_piEwkWv4iKjVcoyU zLYvd^ME+Vpbzc8wk{}wsAzM{OQpWYHMr}E*ShISwGl865|E4B%1DVdP9DUz6Td9^( z*3E95R&0)lFW@SIY}+MRohgF%+BDJvp)WO33ZX%J*67d zrlTTto3XfpLM(fN6XE2t25Qi(aS#^4jx1Q1%< zZ4lb@J{b@8=+9OFK;s*hb0yGD%H6U8{zBetJojLJw>IGV#9t7_ds%2?R?(;Tf&Wgh zKKF58LKej($gW1_oTe1?g8m~~ef-PNrF1L|q>M1z9X$Pw1}AqeD-Htvw1qx%?Y1eb z-y+jqy)|O=?K|asAbI~QdJ>Z;msMn}+}XSVAc&Cq=SWJ()>u~&{!ZD|QJl0o zx;*5=?$k6MwqQotc_ES1pyjTz2LPECK?BVOTH!!4rBF~F3qf`KME2FG`(*S%{x5j> z+j3i5ad*?S9WuN?P2b0|gL+H7;^t_QA|8%&ok!#?3ltx<7?EJy2WIjqf^Z468pRVg zh{ZR0=>db@X(+36P1%oMCWpF~QxYk*nVj;sQ5#zYZj=UXMMg`V*Cwo zk)aONA^u#YyTqnO{r~Mkt;e9V?-PTXD~W{92b^b|*Dyv5Ypbu!jKMK!Fl_Y&&2D5R z8qri^iB6HI#EMzVwea0SvPk#xiu)6Cb9E}#ExJ@vaQxjAP{JEmCFW{eeYYyqtsHFK(CBy9u- zqo+iQ>L(jQ=s>p6REuVqQoGA;frusBq^0XNK)%GKL-(Nxc?9wa9%{1Zddu?#BbdX7s3WLNAD|(72b5cBe zVa+-67nWgw--`pa!!``%@J1%2Zt13K!S;L0ltg!Fhhv_v^8#kVr8@P|<;tyU_>HZ= z+H0A!H0{e#R%;Jn{aRuDxbXo%D@t&gE*5db{SlWTTUy&IvsAzAhHDLaWavr@4&nB$ zha*=c(;Fe0gu!%}k8Go&n)iloIH>Ty6<_jo1P0~?i(4=MGgTn-4Wx-qI!{83Q4jYR z$V<2g9OQ$xY#<_!1eLG9@KuLIg#0GdOR!@S+oWE$=1!ma8?%dc_g&w21!sanr`Yif zKkJFXi6i!}diAKq5kI|tMR-@e{_bwUF-3L1#rRU|rvI@tDSo~2OjhxZ`=UkPyj|YD zCR$)XrT+Zx1Ph+{yL)*>0y}HJVniS&Af_vR_#Z{-GL4~-FJ!PcyD5h>rDbr@g-Jl( zrEtSqZ74OV%%bHMDnwY6R*jtYHY)<>dghIEe`1ga8AqbC7>;n3}=V?aKLA0a#4 zI7)euA6^Ul%;g-LimO4MGxd83jFC~HK}vO|-v0#BiK0mx`a#!VEGd^;p1UH3u%J24 zjFj_hvoA%5y#JXDy+S4Q4N<^R_9r2&W};H{E!ZQF$00r#Tyq!naKFDdDHlT@^)D+=0|Zvpxm z-z{|2%x+QV&MU0ax+A!Is!bd3UN2IEfzrGF0gE!L10lgZ|5dx4H~nc^8vv%rn%526 zk(~R}Z!ue64sChNlG5`Shbj+lx=5!TmaSmvY$~L*;jtKxC;E`qhAX-*bJ^Eg;v3TK zT)u`f@6h96Gq}$?k29Aa@>fD`r2cqa%(gCzOn1yL?!sq-+ogF-!$-wO$;>;~1*_KN zA4#fZrrxCx;XtBOpTb4#^$v6tQIqrSIdTuWqj8O2R=MYh?Z-b1`ca_uo0Ot>yZK7*&FQzhZ{AYLV{ zARHYt1-k;yu-VUd9c>r>KIohE{MPKi-pKgo$vaeHJ>Lq_HJ`2k51B5|cX-HR$n@$x z$3r|=Xyvi%WF%5gSbtxwZ;<^izY)M6ZDwT68tbq>tW17gf~^s=Q94euYH2Js`>_V{ z6Q=?@Yg{bNwT?_+_P51}@b}J8Nky0+smooePXgO=e~U~MbQHNkbtZMM^FXkWT1_M3 zokSX%wz9E3A6RDjzVvD*EKjX(_qB`ILM)RLY}?!4gfN%+ki(68{chiW&js}L$~15d$-1<2Vy)U8|~0L_t`GLjhfHQ+7W274EKsZUq(Hy^v9j7w-H%+|Dn#t z+-QoR4RS4(wJIeaa6oHZQItiEm`h6F+OrErVK#90LJRA`eJQvpA*|sd_g*+e2R+4R z$k-gmZbaXfFmwQ@hzuBN>C5r_s7LfJO?0tYRCInbb+di7kZkfja06F@nb0ZukqA&7;pSJeF!8t6`aX-t$;W5QnyN*KXxNcTnTf($S3YZ}{Nk(<1k1~t{l*9mynKbFJwN~a)%Vxablw=f z>-gHmg~%NW0nsv?4=e_Mp7tc*2#BTA?bNuAFMlG@n<{A~E6Pi?(yFxcAQT5<+7qGf8?<036Th9w?-|4;jIGX1`4=S0=TZx_BU z?_robFo1&D{$H!SBdnI{aLy(rT@90sfJv9r`B52Gj)zr=CQLbCIG0#O`Uhi;!Ci}A z^DPqkXEL5`=}Em8jdG?4j%}8VNrsH1w>dy&jFyeRmZ-c7AFCc?r`uUb{M!W4HSRKQcTKBHnHi-r}K;U1-uZ z9g{eOB5E-ycfPLmlS*WWzmf7SrEqT~b9rG9tq*-+wuX_)8O=qwCr&sF1y7T-*7jdP zsh}M5)Cm2^&qa>FJABt_mRn}AOTGV}1@CVc*WoT_ z8)%|C7&L<1#e(${_DzZ%fN~ACF`l7K&eX)^`@zH`Z`D1{)_*|F+Q}(#%|%M^+A4qFuNB zlIkU<1?9jp_4aR;#e`?={7sd-t4&9~uXFJ&8Fb&|Z>De*HjZ?dXgBv|zALi#9QO+2 z3EkH4q6rd-u9>NVp34ln;+#On)W}pwA@V{(dWJ1)V&oQOc%aH%9vlgMV}d1fx76L< zFZ{@g-t|iQ%__h2$rD5hCt8~#(`<=2c~AAhw*+D^7)O^fsG{`dwI1U}9L1@MEa zURJi|iOR-rXUE1htPN^0qW=y)hzn$5Dq4TX3T50$3f9WVsdQAl3Tnco&BmT@mzi9+ z;S<`={$p(BZDn>lqr0}j5d!4WJH?SvcHUjIS81DpRf#vkk*sxKNHXuXB`jVP&N-Pf z|04u84Znqv$i=E>Vdentt$}kn5&-u9BL+9F9IjA&11(y^7N(4T=zvftVERks7r*8s z0I>09X%{XN*Si`AvmDFP_agJ;FT4k3Cdaz64|H-GUQGq*sMHA_Cu-KLvgH!idp0B% z%Z;AgsbV`>;j2~(XA(m5-~2eA>24b@e1xyXzB1~_muT|iX#9uLGe)cjn#`rTzsv<@ zU}9@CA9?EzD5*W$Ii>xETC*iwN@1{;J)Ub|;f~FLTBH45*kN}Wp%!y=t{>()86(7b z*2>*WB_U0(^GUsptzyZ9aMq7xx`-XQtJ7J!N9j%3En=6U=NpHqCk`Z#dxlsdI1^QfSQ=KwyOT3lEJb5qTxjtDwtN%R>T}T zp{-8aEn%3)#ldU_y?dd332ZM|ChtX&HXb%+rJJs2^b>4Bd_D8~`-Su@ZTEQ?hVEz)OS zLk_<4sCU3Ll-V89OCafn)Bcjubm0Ye{G!F*Y@&Vtp{&=kJ5+-I5ykAA;Kxga8V^E> z_hykN1*w6)Og6;fSBYmvim@Ua*p3a}N%#porl0zPFAX_{Y!uq%M_P{@eQp7{EdFpL zRfX*Uw@w`UQ5%SY6C$-BY8&NFUZ3jwAATmxEdts!69exJ6d}~npYR28|LQ#B>zD7< zAN~pJ_tI6im=jrt25^Z*j3 zC$u02S2@eHfcdX0oww^qzY}{nsd=-8{UkY~@W4R&a35`JLjkQkq=|i%e5>BhD6p)7 zSC-pV@W~(t6r>-aulXi4mT3KsH$QC2V5=kXg=uJ;f*tg-((@THml-tE(9si6P=+hN z$hD%(9NSE^MkTA8!=+IFtPtPPwmGUwjD#26+SshdIHX6rLDZP0V)yEw#AT_U6S zaaaGVa-hLN4tuktIP~>zt;}fJ(V}&TJ);uZ@z$>2z-9=DiBvQM{)|KV8*4?=VjX%q zGKdP{nGBAg6*T2;-{im&-hn=d?=PK|lqVDg1x(01ZGX{k+GL)iN)Je}y>4pFJ;z&N z=?&vFKb#b(Tv{16rbxHMKLt&~lCZIIc2u_De_d+tDh)As$~^Js7009q*8d2=Q^D-C z&0qbLUj>#3{)`GW;o*N?JjQ!pgo@58Pscl>_ol$B)|Ma}Va5A+9{icBa8P2A3pMZc zuw)Mw>$@@06`BNxfQ&!ZbAuztfmi>V@&*p!fe&(dk8_fy1F#Yz5?qkhLu=t&?T?X7 zU)5JHaT-;$edtHzw7a+>CTKj9#Dcdinmb+YRkrgT%GLwUj~A1J&uZ~0DgUoAsRmsL zvzH?}sj0nmpCVb|B)>}wuJZ}(PT4^F85>ZtLvedkA zijaq%;=-XipwzgYWhB|Kygh2*{&LSCI8* zT9397Ffp3bDm$-kF{*!qyp!u+p-LzJjor^I3d`EYcpKaNtlp7NzjT}Nd_ldBuY$#G zz5b#=)BZ<6BU<(sTHQ-KD)7QDT?eS$q`|I@ZK^+K!Ny^9vUJ~N zS7`!?+q7u7KSJf0rECAGAF33QJcKV;V&QoyrRi5-4=j%Vv1+uFmU;bDvgih4%^3KvHvwoPL+zE`Y!y@ z$l0;?8m+)1z@v?1h`jXnvHHZ!7MG`~M-UtRntjhTuy6^9I6LyNzhY*_;r*&7A?+RB zF4gK77!*BF|EA`9dpW*B+i&)#(no@SZ_%2An6t^8{}v3VMfUhFmom+$-{e|!PZy1* zuQk6cp;o20wZMSLIQDRfSY>9N(9 z{YZ#yH-bRvXn3`9nEbDT#7*a*kYq!l4oYolsj0qt{{~7sjXE#1=l@~9z(_8ejC9&r zXwEutOH;r9q5NHaK2Mq2TN!`J2yiAQVh;h2cfY~R{e2(Fz5Z>S|1X~CtX#Jh^!XXa zhBRmYz2u`Cyg#`u!Ht7vT3>IEOs>NBE_d160xo>~ORhw=5 z8geYqJdv8&f7|?E3|`eWjbhmgmyGNK^f*G&hSdH$eZE z+jNnuHu078>E9f;T7Cp7k_$Bhxl7oZgG$bR%S&%RSn`>CY}0Y1&qckba=Y(jV?n~0`ApycrCYCnQ<w{s039G~+Z24GRUcYEn=^ieHwX^XR#fsAab*WQ?5kQPoNsnY;9LKaS?BM+ip z;%rj0_lLCVR~G4nv_la?5&)Pi`ntR%};9APvK3Dk-SWybVF<#>xWJNsg)P46muGhX4qhzn%AY_us;Loc=q2 zCc9O+>5iW+oyqREUjPSZCx0GY0Nmf*$m7wj%lkFMaK4>tw<5PQUjW;;SJ>ly8R~Vx zJhfO;N3!18sZ}?!(@nWgK1Y#D>#jzOdDk~6* zip5kj$9e7RRgSAAYmXHx&vmZ5y1a#JcXwbE;oxELREGiS0?RsMNTz~L^*m=>T&6A^ z@b(6-#;y@CkUTzK9JGp_A#e5_k3Hdz{S~OmEXV!;YB#Z9$xUS{^pV#z@+koWoTC-M z012^h@{Wom?ktOW>oJ@PsG<^narRy#<7**+wD_XBs>mfhI+!y+QLdbfGXXHm3--zY zF#8`qY}biSjnAXw;jioM?>arR*Hh0{c~I80&oc_jCAmkVxJOHsCqi4KSudsexLEOY zL5=MRZ0SAj$1DNZptn(7+_2wl7pm`qwww#n_sYHySG!v3k?`n&hW5{+bK|*R)9`ca z&wB3tlk?MV!$EM+2KQU@zUjEe=C@b1mvdRtZmhWg00DWBYd57>BBQ+AiAryNBDb#p z-3$g*006CU0001{L7F6BA^Cs*{zge~LD9R(|0EWyMhWuydn^r8ma@U(i4rG?7s4Xo zmk9dx$?QxLV)(=KUvNu*UFwenaR9HOwBFaJSZZk1tSgo)3(JD|Ba9s;8sJC?p{*=P zF^sapvyF|i%a#bFa3bSjMv99JMuca}1cv${GRDYwOQS!D)J*#S8^QoVR+7sE9@bM- zNSd<8Wh`}B&6W{DN%b^9zqV;Q#Xun&%T_=8|Nr>V4JDBTvcZ_@BoPHf@y>PL^?Z6= zN|%*>cUQWmlByb-fdULg2^B}+1Q_e<@l+iR>2Zd*&QA@sEQE?X+JdGxNk=lF*VJ>b zMq)(#2o+TURTw#a93#3!t1EKL5cN+RM5_M%`$euD>&CM1DV!rs^F~m*%_a}EW?~RQ zJ16mbyYbzvL=|>pujPRr~nShtP+i?3b>`X zsbxe7Ruf4G3kS^(pZKj~}xJ)-^q z9{QWpd)L##wpWbrrcQm4x#RwS7#_HvA)5kE4(HOzr2hUQ(+z-wf3E9ktsD%L#lc}6 zq)k8Rr)~=VDRO4Dwq%J7Dk|k3!kcq4Omf=f00eLb5lS&xlyEjWo_Owp@)asxRr%i= z-BU?b4NX9T2F7SwSFC&{1#n4oCMB;M1Mv(Ug?WES?jlu^dE+DmX-EX=gw92HG(d#@ zf~hqe9c^I6wRS2tPYs%w@WclZpCsVp(eqCVUhg1bSQ12MOdOH4hrd%$eyZ{U$^ZZX z_4+Qy(~cs$p@<+bqgU_mfgxs zUyYi)YVXmYyAp31cjsMJ;Y899NW~VwmKYRN6_J!QNq>EniB#rSjleaC+QhSw0*FLT zCuv^TP#_hEV=agSLCW$55+d~T_in66P8GqOhAaAWY}b`ljUn(>l0L6vT*%kvcmaoN=-`Y_@dA(qS0E?$V`iIA~>lvyI4{wIcl{ywnp5uX#;CEl0prVO4`7RxSJ-{QR0iH(u_ zpDi?B(M21^)+4g`$vpXG_e2P#dIR*ze{u5~FP8mFgm5JIa%s!tmskDXSiG}A0Qn&t zm?f#oD=Q5of^s)C_XEmdmlOwxSf<)5?adc(=`i`BB%a`bTe7uB3r+CJHLPrSiVc%~~AJRP}f=t#ZA zWvw+$w0z?G(WpB3q~WeF6}mX6Zc6;3^-aA`UqVIn=BA_)cfkqMjD-1u!wR92@)VJaM5A6oxzILCqUWdF z4wKD?JD~Dz2@beBGZD&A4$>t~Elm0h@@Z)X?;32t)z55jP(oU)$OG}+q)HOE7>{F( zDF7NuE~q*9rPD^*{xv`VDv35i<1eyqpIWnw)A_c88Wr;_3%n2*3sr~ z_;&adRj+yk09c{+bd$(-N+zO6jT~XT8)Xtfsf;nR_^@sDm_| zgbHMy+Wx1{0q^boIAQ4Vx|=_{NwXko#9JNX(Yf2qHaR9v=`ZIGO+kxvQ$1CYsu|Wnc^0 zWSy2t-iuQzdnmb-99Gup*gB7@I&YT+*+rvi{bt*6>ox^iU@N6xP{;K?{#=R&K(?MH zOR>PPY&vxs?zKTxM);lzToLSyu?2cU-n?Fb3)*l4u|PIO=lnODE^EWF4-WZZyHEVS zV*h~Wd=LT02FL`W006Oj!k_>E0ZG6T%qjp5000A6L7Hq}XC_v*c32Zz>)wc~eouPe zzg~a&KmRY2cOe#I@xQj9kZnln+ zFOki^JVsgbNg=0@Pl=NfRSzp35bUVfae}{0>S>YK@>QY;Jjs;W$i7tHyljGyPCd&L zH08X81SmF!siIpWB9kv8A|BFePO&wKg%qWCIb_Q|d!-8EZgS=R`{Yu8tILR!JpB)7 z`A?}yy#8N5Ie8zFC-{k{5MWDH;tZ;;q61<96186AO&5uXklhK2YZKySi5O+2Urjev z^hH|o8D+dkji1G8S0_{C#Khu!OpaD^wXWHP;`J<1N7a0|zo`GzWUBp9D=kPSD-$H+ z0W?6poL~E4BgKMtww5pLi_iD1e4+w%8feMw9}GrZtKU(7DS9_~a_;$a&WVTl$CO0r z`OS;(aT1hePw!BvOkldyZ|MDqt<^shc)fEJO#Y*btTtOj^DG$w6d^jks`bA*t=7se ztDkU&e6^`8vuCM1i_26dXrP0bT~|?%$RZO}?k8AKvFlvb62U!s`Lwix|Ikt|t$X=) z*`r6L(w2+eT;=jPaWh0vp5YuJUtU5?ibZ{|a^>YGtIK&|G$i6r*?C0rJ-oe_uar{_ zNw1F{jz3pY(RpOh=Q=SmsIuZ=J>09M@+asWf?sm)&Wz&;BtOMyDcF;4ezT(Vv?dTc z8(2pDQT(!5YcEBTgcv)Yn-jVtjKeZv-!CkpJ2ybfv0~1}IoCt%vzAE}G)76WGr>R* zVoeAf5DUJ}j)#VRg#uf=q^Wq7?otZ|E(8nd0UJ1$gm2K|VWnm0u~?m5RwlC6CT;kg ze~F`b!7%-M>Kxa)UBMV7&+?M>k&g$={Ir%?xp=nE&*%1LoiovVo+fYQ-;)*VbKjK+ zbF+&dQ!~3A97ze);=g=PRCjG1S$pfhFQ8EF4uVf=$@#)S3*)k_XqzMqv*xO_Ii{=>Gduv2Ul-YV&cQhuYa3X z(ezI?000CgL7I?YSLOKhHQqG;R5Z}v@eOW&z%Nxr@Bj4#Nka!;OO>S0FCt(-uLJ+$ z6&`_j*-`vM3G!tuR#uPro!|eELLXMW=d;K5mCagf@8$R8@4lGCQDXPX#;J1UqQd!m z?-KW&^1m;BN9)TFoLHEQ@zy3uy_3x+Ft#JU2jUtL7*w8xKBd(v;@8S+1GY$~mGf^c z;$aCz)tX#Q()2_fnar4kGv*PF#6vRSJW;(1*(S?VJa;-5jdkfvV|^ieShpW^=~i9V+f0c_BkyXK+>O2_00 zzyCM*iB^lgUC1Uv{IOJN0WMF(-d=?J^2-t5DJK{B*>QhJ^}-=xk)odz`ntvZQj=!v z(qnN+Na{}~s6rCiBBN)kK15G;vLQ{4=g;w3{IdRVzJim%5cR9O5(%+D_`F})p=Ka> z`|x@n^Tf7OiREsw_kfrV1q0{8E7@hVwjV^u+alOqHX8KMYOb(apR!dpvPuj|*I z>|NPWo=;-fnXs2oV&7@sKKXs{PN;_z9v2;ib*n%SX!8m*+g^-jVWcmAXLy5?uNy9<{6F6%ItTl-j1Bn4&!o-sJrEi@Zmd&n_9_W*>~L2_S(a-uliZ;=WbH>1IL+ zL|*IBZA&MwOjO4XHZro+7F@pkP3O?Taa7{OpHX1}1X5ejhCTLQ{Gtkt0L!03MHQcj zSl#k$%GUWF9Z6wl7rmTT+drFFoqY?HTRnVBUgG3ic$cI6Ul$hj6?M(qZ+e>|OFBek z41@(ix~Qr)1%pD)XNagR9>jS?@mAbdkzb46`s&WJQk1cJt7uwi`Gv`*b!a=Ph2NB1 zl-s%caQiIcgR>H=Qpz*7|3!b7Q9tp9)xW&HXNyT_gf$Ve|FQ`odA~361$&k6R8e`- zCe55(onGG-FIMDNZ6C#B20C?iY+Z{Ki`c#|7l0uf%#-#0|Nr>f&4#Mnzta5t`*_tw zO6Q@Kc~>$@wLkzV8f*ItNK8Sr*WRLIk#fD8t4!*5Pkd=|wq#iFkLj=K*cvgENKe!- ziYOg|hVJc>^C|`bz2!tc1l~zF16-tEST}-_+jEnkYgmNUd-~)PiiqyXyQaCTV*lHh zK0}kKHkUur`yRS(^prYhnZ7gu75WN@SZq|?c1p$0bc^Fb>8V>-aTWHLK6&l>cL=V~ zsC@=WH;ie#5HFT42PJCf>b&ym0rl4dwRmJbMJ#brBaw~mS$c?Cv^!O{y2A4pxy-EU zsd$^*Ya%(dc6M=e#x5FG<5!*|2TKB1M~18z64VG0^olt;P6oW;Wl4PwF(hcr?;<3o zTzo5X1TGs$8GIdN(Wj_tP?R@>%doJ+L(sxdKj2u` zFYdCacbjJo-1(yD7)Edog|9rlY%&`z*)HWHsz25ESS>0xcO^FMK~UUu;>Hw|mSxVF z9Ok28pnyIeb@1CJDk|X`ZK9~cH^nC^Qm7U&8Xh(DLXr$5jJW5T zby`LKng=PZZ9-AnSU<`%x;7LFs8*V7x_YqpSP@h5iTk50k_!0bg2hVKHZwvJ5e0$T zcHXKe<6|oFu4I*JfB+$2(}!s;2x{4=kiA*55wpNjsG~@fqVWW1NxWi-jlkMz?T3A1 zr@cc!)D(pKo=oUC>RN5;=Fyv0q!ge5RdzlL7ANY<$aLKH4Wv#R{&42ec#3auy|L*JEc9M~F%5wD( zl0F?-|Nr;@^dUUHGH~}SwC-QFfQ%A)jh}q+7??*B6o{qyoOv^k#1Hk_Xbl4*+pm2m$!(otNk0O!%Y?2|Arc6y@BiT+- zF*9vEza}aly5&Xd-h?I9RQtWh&^wg{$UbKCQNsXjFi0_OD~h(YhR+j-E4mop&Wal%XRrzqm03J}h-YVj@(rGF7iDyMip|k$n)b zLVtCQor;A3f-@#Qn!I0&-$9rw0~TKqwkgrOk%X16QfDcLtzu%$HDTD4%PjR_+*Am) zt=?|tLsD(&d1Z_ZaG-ZDpR9J~khr?_@(V#X9jl=aH}VJ$lmG%j?78fYQnU?%8*6=; zw|@yZ;JTxai3A1tRs>c^zO11w0m_wzn`E9;^Z8`Y}DiX`Gq z(Bw0+nU9W-@0E*K8AsW2wz`!+IAaHvyYe*7M)`}nJZkvH%F6uh_9eXeEFPrI`HkpO zQT7bN?gh+A0*j&|&Vg3VgIy|%W?2ywY~1HIx+Kd*gdYr{Z!TL>-DT{eLYrVC1_vtt zm#>zx%H^K&#k_BcCBy?9(1e7_8TYA41&aYYyOe^B#FgQofG;5R`Tv&d(Fvln+)c}g z@j8j>V#PcosDMLo$Tap`SM2iI`;=im{zP=r0)JP5-&y{EvpW^X;FY+KpE~tL^ zzcp%`HhB>eF4#V2sw7^pbgC@zMYEUrC{$m?n!O*F72EbtJyH3DFJmwH{S|xpD8J{Z zxzt0^;`Gt(FTI$$qxrQ~#Z7TyCo+^bV=tredD3<&+4#8?Ht|_&u7Yp#0)n`&zhvrB zUixPwvWuVc|IvsnA#1(&Gg|2rbZ-7p?c3~LuFfvs(!S-z@O5_Rsw({A^?sT^gmWdD z`(kR$lZuPW-5NdmF?1efePAIQ&y!dG|Nr>9&5E4{Wpm!AeRJ13WwOA^xBvhEojVRO zdROrKR%v6FcS0`DRDiRkF&(G#64B$O+Vf@@eT8Qg#@{#=O>0DQn!_g}=5i~dI3sc^ zE46qW()Ynylg2xRtUT1beT%BUz`L`pc|WSzBvn8#II_j%4d%;obkm{V>h}t} z-HUqLjcS^%Q&eSXQ`foVZcicauPyM}JE=O?9U4N+!hK9);qlOo^haT8?dB+GVN1OR zI^8FIg{V%5(3HR_Dx*IrSLiGo(^u*gncM1&R-TY#jFcy_k6vYEo3Jvwp-5_ce1rRW z1#z@TKAG6K8%*rRZshQp7}|q*S0uMQLzxowvYidaiw2*?hU}O#csRTR=y7W_W!VpH zZ}LHd8*N`|HycZ5NNc&-WO1dg$)0_Udv=${sq%MDhf@ZNqMnu;4ZNL4e#ZL7F?VDd zpFa~tw#AWpCfQgr{E%6-zarY-ZTND>++B^Dfsa$NFFvpmv`oy)e}QkZ^6W1Br|mmE zWSphfT6(~0d#av=X>|EV%VG?y>+ zFJH)CAd!f_=1N4iAVt^f_^Qoin>>zEm#>#s+mw&bTJqh|UgViAl7E%9T4kd4CO%gr zy<&^yiLPH#9Wm%zxks{BdoPrZ%ve5N%O*nwyX!1Wk~_MXOs;$K)hm_sUoXW4Ax^^? z0|T+HqBb1k1se^!7j;GAN!r#=ua0EQ^7zo1!g#$DS$C?4E$^J3PKs6c*&;IeZuBxl9*HkBnp+0Dx`D#IO;Ty*J zZ<(!c!4%4#dt-&-oL;rxh}EoL-ctNb>iEAGm0s5MW%BQqy;riyo+iG@i@W*45d!M< zZDp^|rvyDhA}NLZPR%R7-Ak{?d2;Iu6Uinw#@&Q!6&=w*TUeG#S*W`$TiJ1cQ74vB ze-c5Zyl%A??&Ou#7W3NWLmsltFPotS6cYqkz3rj$0)Usgt$0vTW*7MIhG}#k3a^?V z%_5t{gt$j8Kb7`U0>$3@W1>16171XQAf%{GrS3%3wb3Myf1A?9`7-%u#O@Um6$G-1 z8?9CSLKyLtQ5c<&5_$b0C&=@E^)5HbKNC5Bcitvf4a;g7gkr3@eo`u~<=;CB?VQE^ z5YiC7--*r;2Fk^eyZTtWi&M)69Rf|7%Ow<7%Of|ixq2*~XkYR~i}4R1lNamBZ4rJ+ zj=BS7yR!QvwqIdBdYMbcQ6pkuuUg$uwJT^;%zmo1ShbbOAWkPXqH+Z4riAiKMt#dF z5z->Em)EX{P@Yy3mLtheCGAif4=j#wz*{ED^7WSU-W%}0h4&HE5b6=|h>sD&8^S(8 zOlg;&CznD-V9AKH)v~^9{#y5&^`He3({R=VTlghDiRxln*X?_kvOIC&5z z6MM$O!-rj1?|z9{LThd5ups@AOVA5|az|cbdu|c(G+&3*NSg>8c35*~++~P-)1!=Sf+7vgKFb z33yAzNSE@~Bv6re-KMdkLJ6|>bN$A|$Q_*uwG^u_+Bwio3)V`- z-&m!85%SFItDB0yqRK0MDPzU44n-bs@Q!qrXxL({HY%R5*BI_a(>og-4ba_<*xPwR z5}-+=I+1bB@pQ#c=4)6X8_l2p|NsB^ip`E9!hGA_nKwrN%%fpx3t8Z*Bojp)KfMw1chuZsg&JP0wY zK#N?mAtJ*GTI!G0T5kWazG8~m<2g`U4mZ>_wZ~w^;A-93*H9ivBry2Y-jci{1a)86 zam-@uf7>tGU)R~_YIOS+|Fzx>V@c2)zURU0qE_iD?KnzfYt3rUg2Qm*37X!tKvk&G(kC*zVoPAy z4-^VAs*%Rz2n7d#4qVlqMwCs?A}2rt%;ihv0-P4!{-h+$><~~@H(RGb3E>7`b+dS2 z0+BeJ1)L?E>1Ilc1*PsmX@dg-6`^$!T_kPH>u>45+5MNwLUp%1mcpz)vS>qs@ zB#+g!?&{3nEjkEP4b2rYNp{&aR8@-UA+tK>cO}bAvbwv_*h4w;`u!Zr(%8Uv+|PY~|H=P3FR@0(I6upJn-h4tp))yUh@Ad<$@rQfM2w&4t#50Yp~uDlCG#R= zy<~FuxrEjxDkb=x<<|X+W=Sek>uLFtFxn5bQsO1T%6OWw7rx=Wk&^0G9S#4h>`=SE zv`72$!j>j!;V+%|(_`3Dy8S0I4T-;S&Jnv4ZdrND-$W^kB@}vK%N)$Lj_o10T)1rFImAch`4y*H^7;I{f@Iv7nc)zCu#HLAqQu%Y8BLO_5+GQsxiNgc zHq|$*l8RijG);@C{fVSme6CEjleF94Se`|+^DBukMQh`g>8_k~L~F3rK%Z`PzNDX? z*=bt@UV1%QeGpjMM=HO#ze6bVWC)e7zgG$==%u{qBt6f3`6XYQJ zs)lhCTA@BJoU{A;^qD7ZdAUT#HN;G=^sXtJdia`*)$x9>ihhIQ z${@I><@p(N!5Gz5?_||{lzz==V#U8+zHG&yhhG(_WZT4Ml~(qo{SJSbj{-Q*AZU>r zbS5h=mPz_Bc-?ccMeDPL#tzq(Wxnu;?AmCX@k63&WdWHGcKfJZ5nvahyKt8EyZ5rz z+R+i5#drXpDw=AwD=1B6GVL1}NW8M;pA*Gv4^&UhvlWy|t608hK=U?VqC9*^Fc#xX zL9T=oTCJOXEujcMQ?Tb<0Z{*<%&3R*(w@w^9R^7mv#3CJ8+a$#e;1Ek4KL&3th$r( z^{olU{kl%lO?;T{7YtYpq*p3{$AO{zz9vk*i}CB38GYQD>dP4k?k}3qu$bNT@QYWe zW(>zB=rV7Udk~R*fhPGVvPk8kg!inH`7tJinG*=*!#qHCsFzwyy;*B7mc7)wqCxau zD4A-r(R~S#tno)e(C~z^3jPr9CY}iX5UVJ#$38T@lY|ZqxcYyvlZXy0C5hIdB&bm4 zIL9*uG_1P&cD162z?cp+nRhdLmlIMRD-&a3UuJ+og#;xB&R@L6OkWo9eV(svnDFI++{Bf3H)Gj_EL77noXUO>+ndE5niVliXVAGF z(`G9N{XfOZr01^X{~*njKCGLc_@QE^g)hsTjDq^3X6N*4C_`kA70Xt3$z5ePZ1vVq zP^V4jVh-%T#P6&2dnoyl8BZ;7UAAsmNsKRh)*!mC(V2h50ujZ3p13547k|AE-h1CS zPyb-1cW-BB5TtuOdophxq;8^}HpRCV-^j5RKa1z$%(?BeV4W^%C zqC*&M%u1C20004SqzY-AstXAd{X@gEV`q_g7hX?b^k3yO4WH3_Mx@JCgy=mVQ}33l zYTx|1d@iY#_El7(PS5Diy=^-^c92U6Z&g==ES2Qlgs%~ya%usn0qR~m_RI7odu1Km z@?E6W^_n{T0lz5&MiEeBY4~(eyxOnFH`SR2@8&8u|jn|1HezgQ4G#hLbqfVN6wyo3=o~{7u>b}6vL>a7YP zac+2>6X$X9O3$2B9j@HYS?z|AAby~%aq%LF^7C%ksi`o9r$Q8EZ^@HJC;$dFro2ml zm9%CEepObE;{!XYb4mboP47l>@sQMv<(%47^fxcsK2Y@8)2d8soGhgniPVCW3X%*H ztx(&JymBywuNZmJ0|p&y3TiXSp>9jN7E)PlsC+CU4=0E8yF19%Dh*ZX-m! zN-@A2O+Lioq(F@`U;qFB0Ju^E86G@wu(sX2q6*PGv78)f-?HGIX>*vmy7d@Xa@~Va z=b;r5rn;@Uk|~Xb+U$N`Sx$}*ZM?@OB+6srfg(l~b$0693b(!THA6xKF@1#{oOsDH zGjovMkr_A`e!oL!rH64D4YWXH~w%SHP>UTXDh|ti#kJ^RY`$Ur`9ozS&-PC$?2+jjKJhBMHpk zGnENIiL=dBux;%Z!^3(GSrR4-5I1<4M%mt zWTN-@hG=VsxF7b69AFlnQeI#AYb$4s3jL#H(+zSf5dHGlrvLFTKav0BNf+fm@>ON8 zlgrSV^TfrLd0p3Zl&={)6uwT1FSEuM zV#zQ1!dRPE6YfbeOY-?d=%pMwwjO_65pODjX16XxdHUdAEy|b>7~Bim3G>Ee32nSj zAoz@ZM3*(MOm6o3effNozEblE+0lf_pUWmDHw(=Wb;ciM%(&h!hb{JgXOyz0IhRljCAC z(-886(k=F4oUwU+MA`Y|%iKsoJMVrgrzBKLo8-)Y(X$sm~55~K(x z{SZ})@iA?g@|H|rBUN80>t8`8wJ|9(l+l;$yr_w{L?a5#jhXl&nMw9#@dLtCC7;Wu zD2?XmH}42bglDql`DL$szjBR1ZH$XI6+F26#J%@&MFd;7S-*lkQ|+jcJiZ`@Axrst zw^BnI5xgz0iBiknZi}nS<*td*IHZ2#L~KQzC=p6*$@Nv5+u54dr97jPGr^+a5Y>3A zA!N}a(u$BzoDj29>dWOYyT5b7f!&0}1P2IJaUWi2B$;pT8Jbd%5e8SMQ$!h&1=(wm z7(gqcyOCn6E6F7OMei(>Ub5x#%@gpJ#05elK@Kkaac3y6tl0~&_}BPsO-JU9`zR%Q z<#n(`^7y_)U>`f|hU`Uap)dTaxn=*2h~yRTsb#$K;Xe_0Ux*PTe}r-u%3OpZDllE_ zwI3A0375J^AWYBPy5q{l(_{ zjTi10$q3}Ai0K=;S!K(Kt()Y#(RmBjRpb|UW|44EHT(9J#c>CDEVAUS3XGKv2>I(R zW!~VI8X)wj7dsm7-=d1yG9ac=gRsd(^Tk5`3Goxi#+p9jMyiZNk}8p~d&`naiI(=L z*fb84M0}>^Ly$*PZ=D|HZi=ZD<@|=ovaryd7O12~m)UGgOb~`9G$zC*C-K4@gOrUN zfTY>5NEqzVFYnn_A=K0@(3pxSscPL%U2M-Ruf_IPbA9#ete9r8CLfpLMDOpCQD66p z@6KPC5Gi>;06l!SMXaS9p{SHK??{ZH85MDUPx=H?utd2?_mk$5>9(l7ZKD4DnJXNa zn%|a8{z9*P^;nZG?Qvp7uI}))m&BZ-7gx*wEWC?Pj+Kzs8_RTTHzL1!&c)8hqdEQL z@>H{XG<`2}>dIw}Sk3qBqV={SuGl?RizxzIzb`du>Ms;CeMPZT_`F?gpzJ(ak8GiS_M9cl0jDZ~V zNj%-SdAfA`6JlS*Z)e`RA%*4sFN(6%v_eH9mYEgmFS=~>Wmm;}7s2-yWzB~cemyBBOMkm-DUyv9i$Om-=>;n*}JCpU3NOJ9kFs1xb0MOY4i9DDijsz0%$v_OQ>m ze|v;M3)czAIT_=b804N601O&)mtWpP&ss-!INEzwslNZ6z^^ez3a-?3Muoj}Og8x9 z+iIM=X8(@yT-8RKJ~ zUi28tBpt}SP@4PM|E}gs-(?+iFw1!;UcxcQW*`0o3Az7kvcX*5~w zH4osPy8TE5n|XUupG4_@+p~V6*Aw@VEc}lD*JviQ4wa?Ne#$mgn$ejR}rnnUjXkR9GqkO5hgx(vOGy{E7uti}#G? zdshH3U=a^FS#Kr_`nsv}A76?GsRlE|UmroMGDcq28spw+=OBJrbO)q=lgIeZ4WZ9- z&V=TkGHS^Ab}%boIsE4%KH5A-K-^cBN$2Daj|1Zg2g9><8yH;7oEI#WhR3m7Z!zv1 z!QEJ{{nkcRwjZftDJmNV_g$}oSY?K71CfdjW+w55s!((H_3a9F2Zq`1Sa)%-{U+Ht zh|Xkh<7bdAb}R{Xim@?7bn3eLgU_i)mlQ}aQEJC%@fR?0J?4dB{M;=0dTM3`@AGo> z=dR{2m!<#@Pw~L#fPb|5fAsz!0zd!&000001o`d&00g)}n5A{g? zUw%iUWSS9j{!FoNm+eu7_2M^Y(XW1@J5S}@zw>|OsY*dIF1);@_Y}Er6XNIDqQ!if zYF_^2Cd?-LFOu@k_4g(x<=uDX#>pZ4vgPQPM9~+aGLy?(CNp;{C~cKJtq_73B|Isq zyq_fBp+Aa{u{2qK#U^HEeBaB_kxueNKKeIChCP2JXOj~N^9Jtc%h7aJzR3{BrBd5$ z=e(QCHh&Wpp>HHMM$9H7%u%&dV`fEVKa;ihJI|i={!ht?@jfoBT$yIS#Ed5e9_d$| zE?nmEQC3^C)=hrvB>5QfUM5_8P9(t-LbfCzf0NJ8AoZ<<29NQ1M4-%-y!RuQFNpE7 zL=A{@s6-xGLYpZM`vf5<|O776f6W|EkT4eCe3|Bo3+4Px$>ND-gxWR{o@kMNDkL*eFL_*)`h2h7agz`#-GeJtj821x zDP&hgtf=%}NF&_&m|FFV$_UcLlKa`7b}|xu`R30&BP?6K;z12WMh8303@{$?gA(PR zE&-en1uV?6zR%_4E0-(S_xYKhZOH2{l$lf^d{2w2KgpB+Sunh~V994P$*PUwH$oU(W7 zZe?Vz$R~5rxNG7MXwQ>(y368y6ndL8^?h--*t@l5esoNhO`oSQVh$>LN>hIwK`_R$4zu2z#SqrkWyZJ&|1aXH!kq@a{sx=ZK5ZP8JFmv?j(?`h5 zD%0vau@PKsms>tZq|rsCF;7ZlyLIG4}+3GAuGX|{#q zG7LLX3!P3V_HM1AdAn%qnS1=L=ln;^*58D8u`vUkAfFwp1w+iOWHir5so>n9V&Xg| zgAC-|dczs=;)83vDC?%mwqH(rIvDYuLMLM~W(f@woywDssrfs#L`zjEUL zuvsglZ8F(9jFyCP%@A#K3`N9)CnaI-%^xNq8_9nE zF8}}e3RFJD2BATiNJjkn6)GhG*D;b*tIZXft^f#_I8No(pUB+2@wt(TB3f8p6xDctVM_0Em zMcH5>jrQ_{Ofmn}y+a7XC&YbBfe-Q?oA^_nHrs5udhGo|A97BZ?|?4i5T!{$k-2lhL3Goq^&pu1JWkS!WAfv<{dh@v}|U@0wB>~sv{`(g-S_4nR%?9-lbk>tkrM;ArcsgJtD2yG-nQ1 z&c*A$i}UvmyqXh$6tCDIv(cE@*~WBaNhXjc{|QxTp-EbBr!rwRZ*NOW30KjS3xjyL zrNu({AJL^Mk>SvGU*f;%*)}60CU{>Dh$-qC~><;U7 zskBZpPuo5(4_c%lja)dBCmAZ>T1m5|h*|P3f?Jm5AbLDth~(QF$6)g#jWZ*mdZ-Fu z%N#bsL4!HUa>_ar0~qQ7g*|M`OtQ-u&XHue`R^+bLoUfqbC*x()}Lo)`esk3hN8OU ztb^ZCbE8;lOm{K>Fn=o^lK0p@YUs81VkG{a9gBnCF)hquNY_DC9G zZ_oDK&VK*^1!X~-NMJ{MD@`;N-7y2*Xa4-&c$q9w_~^b;|H#>Y zrFWJqnFnG_6EljewTXz&SwG~wlPN^YK1?K@U)F6@vMzdZpGsf#yW}37#>=ctIc4(C zF1VS~ZLewXx9ZR67IqJ8UoFwvinG|#|*kAl^ic+B=)YTyg;6L zJ*JwLCsN5(78E-s;RPOfayhm^OHT1MiG(upZl;!%@{&yE-jAY+h(WChkrG+xy}FPi zSenb?YMlBj$767mTdKeoZ}lh>%@aiHrN^nJ3Nd#Ka@oDF3qd zu$d|~L}PqSZb?My{$C^OELXxdh1g-q|Et^8NO=yNeg=2t;T3 zcfDeNNf$8BEKpfWDM3v1tSM)`-?CgmX3J|N&nHSGCLPeIpwR?vE7+btSGi2#RLgv$ zwRMa6PsGR)wUT+8uMw7UzUfhN%I_}TddrvjD!DRZWR>v|8jA6Mu|nNfn=C+_A`snr zs@KX@SIf;|EEJDT_3h+~zh2GjxUkMTIVt0!AyGWPwqj%wG$J{2m@k*w%`yl?X+k5q z#e@)s+0jQi*14oXK!|$xnmaCEVQ&tQ?R}xVrD4^VG8dhek(oAl!$Gp4^cfU zDn)N^WnWEUAEA9yiYP}N*RRdup+0mxn4zBpJ{bsc`8Y%pU?K3pP$(3`6b%XxH3u#G z6FF|m@2+L!5w0tR6r@_xVcfsX){mhHqJm&Z2@gNaBb-NGMWTA;Zaq7^_m_V)Vj(@x z?4cQ+K+WXFPUsDX;zz^iA-le~pD<o#^a_4J~13ll2@aRZ@9CduV-3%bvEM-d3R#Ov(P zeFv}WjV3GZ$|4fI4eWfr^^^N5loQVbAjt+CkTO(%dn$!G>;-7{Y#g4iI=@%{8_X9tko&XB@L5)DPR^F0F{9c@_$~8JT{B1 z3NAsK4I4S&gF3#*Fi>o)0H&y~0K4ifnTs7*+vFFDX6CLh2YREbG6?REaaXOs6cO)3 z$zE!s=B_V1InpUBPsQT9XvG?{_(Ph!9{WAiwf6|_#YXUbQ>%3T$R{hyz0>MfDw?NU zUhSh|w`b;RtL9s`>`v}tlmqa`{M(YOeo%96Yum8;fmw8L2<)+H-8cUe zW;;K+ZE5V6I_08zG~OB2BmHT~LA8s5%9WLd%R#Q45thElXzmReWg;O$S)7q>d~hk| zQR#X?IAkCK^3^80EY5hbO$G1@WRlaTub2$Pwp}f;ZGzZJfIpe<#%fxX%1Z1mDp%Z? zPP}Bf=r1fHMwpNs( zZI56kg0RzQkLT>;F>3#Eec5G%G_Kka|Gx3wU@ayX?K})EEpN9y1w!2t-cXYhupw;N z6So;PFr48DPYrX%)wZpue099%VfcI{wW>rq)ZC^M@1Ur|`p+4_wPhcEzxZLkWNP9r z*gkf~D;i{49yrh?N?Y&VXH@H;0@p0tbd6SppDgQ|ak9g@C=LU3!G9#RCW31mn%&<4 z34qzurHk+Y00m`1n`~f5=k@*ad37&&NS&9mMKpf* z1gp@y>)+SNwqO7MS!=Y6+`+Pe3ENn(8EE~{zl$SOxpgu|3!?8R}@ zs5it4GF+~FeV6>`?|EERHj#2$mU(cDMiKF{Sewart$e9}IADGARiDcEEBR{|d-8Hy zGFDzqNO-uNb|1T}Y@X*SA`$6RDwBIvG+M%RcfEgQ5K1lbIedt+XV(pR$YBeXr!}uZ zK#KSLZz!6?p&eN%63Y53CrBlrh-%B08zlIdES+ZM3d`EWo4=D^E*YCImbNMg3l@{#3`y~~%%K!n*A9zydfjVVJ`yiP^(<(GTA_v%?Zf@(oACHY<`G5{G7bLSb|bwx1>~DZQ-)iM5+oiA5iM$ z`KR0zD!(`OizmuIQ+}Jp{^2p2OVxVuI&i5tP%Tan;xdAWmg(0=(r8EHXQZtO$#YYPGLLdaZ3fcPQ~X(Zh=!Wj{79}d`)HYONXRp zHjCYOUnUyo2vlbI9ySO59~Zu%mgWdP9DMT%YeGIDGZG5JeKuU%i*BipBbK{1Pk?D70BxRdz>LIPZ} zl*NT3du!fJlh9=#`D3&rnx$!|cx*VCURLy}GO}fAqsf+)zppPKyUXR=5rndCO*qqk zh5R$(K_3%E>7q_35-=bQ0Stx>N+e+~mt3JT!hv7k6`-k=T>gdFu?ABr4ga1sPUZYg z`udw$t|LL=>)c3=Brza_bht;qF@an#?G#sfNGGr%f$e#6T%RiS<)3v*vdn424~5sL zBh_R#Y$<;JXja7<`hEU9q>5Ma!8F1aAj_KuhEk9YD#?7porF3UVthp!5bTl%58l82 zTj#Fif0@hrjLL<-6kjMUUGICn_qzRYURaPppu{N(UQF_Ct|oeAtrlAM@_)@-&S@aa zmg?5a3k%7Mdh>Yb{KzUuROW;?|6iU5pj@HvOgin=*D>4!W1g zJG1wW z_fT+W7X280E7dl{Bp3!S{2|V%hmj%wvq$3fql>FQi$2%wY`sH5# zX_v8l%C@bzAsfm-&u{<#`M?dakpW^*Sa23}1j66O=e(Nd&)4*EwzZva3gZ>WHzMzM zoG-=?0+mCVZW2>*R3UDb5=Al<11b{pb!x3w@he!T3PBM-zmZ1|Ax<~jY6=7+3afSq zddWMck4FYZqDjDJl~ZWA*-C`TqpsgR6CJR%D>dn8SvxiolFsaN1a#Xim;`mW4mZ$& zXzwwh%NvsCv?mvwkf3+7^IAHS6Jar$fwcD`5LIPGcU1={-EeKq;Z`nd^B9E;u0whz zy+S5)*^H1_OBV=*VDWT7)}qlN+b~}dREsQ&brjWAl8wMr2*hCv%Pq2*T@C|l$zb)} z6tN8G;3Oq53^B49ip@)tMZ^`#4r-};)@prIR-(664Aq(w*wE(>03ZTLC)>s3wVJ?1 zrESwgv4!AR(|QV-1H24Y^l-{&?w*SsOc2EgVL-qhV=@LJc(p;y!5}8G%sGHdu&vp& zRQ0Mo0*vbe=@&B(jm=L_+JPLi;8VES@jGrizPz#6+eR2-rdtC0*@NL}|(#37vO zMBhq_N21_B*%_a==r9>f)QG%(zit`#Jaqk3-if#xV$QLRRRME?YKeB{t$MkJi#2I$ zgeIPe>%Qq6ZbOmOMwqRM>*pR?DiL6`ZEyu0`sA1{BC4rg!m`=aGSE+N-Z9RgksS7a zGqF&Vod$Y7ult16>Z|9TGCYagzX1utWCJ6K|S%MPsOsVwjnwK+E z+Xy`U`ilubGE+lbTP(jnn%6F?{;{RJOim(BAWGG1(=Ocpvk}#6JCh7V=S8ZQU3*;s`DJrFRW=Y{>nnP$s~g3hnGuzd_tC5%UhB`GG*By!@f~(H`;3v zh^YeQ|ALKQ7yjXJ*O(MV3-w*QmDO@gEm!4<7v#dz%1Ik7c@W3FAulYY;$NJD5^OIf zwrnukHAP%k&nhS6iWar4a|r}G*4|E1X0q@|J$v{RY~9p>GA~|yyt?It9?H0f8ygxk zDf}gt9@$4>^N(AMnG<0mtvyRx1(z*kkzBnOm~G)}c<&%Yn%7r1z6kdThbB_XBl0YW zE@%9ka)}dpAE%4orv zUU_@xF?mrXqW_$tSz9aaL~W<6E%EC#1nK(U2=)lPSDZ`EO@_OE?=?0rQEa?zWLz$$^HBCF=*faRyE5$NpkL3W)QgLAu=>) z7&V~+XBeSPCJCmLoBty$K1$q@D2%o16A-w)e}rjqH~9&Mr~PcQw;u1VoZKlMOr<+-8^LEjr|AaBTaMN&h?CHCfv|NRdS8vKM zbqDo=6{aI!5EG@JSgN5Ohc5fSd-Nq0yH&1V@hOmBPK;gC@(FZqwfQ%{lwWNd5TkoO zQFyqohRxL2!qEb=aX+{$pjIhW^87YwoiOEOnFd__H%7b~op-ssO}fYY1X8DzsfeLtJV?r@9MjOs71S6oLE0B+X- zd%VTLZk!4O3CR{Kqo^1i91Tnl8coG$0k{_T6G}mz!2R;kR)fN$oMf3{Q7u&=qn}&O zB*9cOoFgm^x=yH5l%h(3|iel7F$Fet#q?uYB zSlQ}VgJXxWAFv0fJU(cFIZMte6^YBMcoFYkYSh=azG_9MkL1FcNyI6Vi3&torr|AC z8zvGx-T+dNWKLub=ngA_D&AO;i@X$}5m4fg`aHI;UZSP^)X_!`>#ml}%rl##q~Tgo zFGQm3n0ovu!2I2xZr#M&QynwkC2}~N#He_(Ww5U_yy>sZfI{4r6=v6r=7P6ZWzDZ; zfmeWIWWoUBX&DW20UB9ANcYSmilLC55*B8_U*qZ&mVYYud{4WcT8C4~&;S9z000FfL7TK-SLORg(s%{_pqV6czHq>EhFRUO zfB9;yQmOY4mKzb-Ktg|$DHziK|NmKhgiHUfq87w-9)i{38XdBTzu1X z`;HoRsL|}Z`o#D~OtCYFGl9mIml4>5BpJ<_@iOK0v|POl^o<7C1z zX88nKbmH&d5>p6HtMdk`_@9S26VG!<+gY}~?3-*!RyNl>*t*2Y!6b(5uf9!R#0y35 z8AbCE-Gs;@w9@ax;Qxund$h%NY#jU7>$}1?8L2+PIKNlL{}>}$>b>?@<{?|U=FU+L zJ?&TM5=5))Y!C#G7dXEc;;6O6!WN}qinB;>AL!fevh2Cyu|6W<4Z?wrFf-!$Acb1` zp_69W-2xG=xVbVH??X_^?r!}qvEe~8@( z``#J^{u8r9MhUm|wl*s-K?o~hF-|aE)TWWc@~j=kS~+OG?1duvIwfLi^vjprnRPFl z>=TbwZv9W*ykTQtUoqDjAI&GtugmS!TVWAU%DipVLha@E7vmBKO0$h zs3d6>M)KBJtZXU}tSfs3iAKsWMuG#YE_4Yetx58I`AMHVzj;|-s&m(u|5&0e-4sgN zr9;dZ36(-K%6o|gJWrNk7)UbZ3*1PT*>Z1QUm#08QP4XH6Azb@y3NyKPf;1yVJimv z^gEnI2J{(gdqViPj+_%h&Ua+@Tu#Gak&tEfY(7|q0s;k2!#;c?Bw@Kp#1It(ImkV} ze4w?j_vEb*bFru2E7~q*bVm$+h|tP?sVcvbr%hY^<>fTlX@RShHyi#)(7j_~89AXW zu=$4|gBst)!PxRK2u1t*Uj?pO`N|b(f!NQJz=%xm4<%L z^KTYt`8$G4S7y$zyTSm0u_*#b)Ksn64vKb?T)>kXP-+2rQ!KH1 zr`#dBewr~si+?b^hM22HAxIB?I(qz9R`qVOi^Xm#Vy6+}t{;omoLxOY000GpN&U}Xt+?-({fM*bW*UDfvDv)*4`UnT!9l3cv5d(}j_*z&KUZOigWv3#{n z?>szLFiq}UPQ1?V%UhCD`>35n%MrPnl(N=SFq~pgh26MGVk(F8uhO9c(Zrrm>5oDd zOYhH1Kje`N9os={re_EOkJ(Gz9cS@3iJCM|iD9TBM|laC^@);A%Eb&gG5oNc{Vs7C zjC55_mWph!WXTsHwyWhTJ10xz5i~UZUO0pFCuHg9?E53JkC;*Rk|TFMV)A^1Wkhon zE`n)gi*cKvggC+<^D^=d2x?JW8`S)$;I+_N9DT9mTV&=Nri-P zfv)2;Y}bu3Q)5f4jHsChi}jb=ozlqex?WN-^M~?C$u#BhSh5GI)?dw%LjqM^WyrTF zL?Y$RA+KH~L`o;gTagJp<^3{0-!EKhev2jwd{=Qn*_3wI6enUhC=b&3~Gzf}<^Ee@@1*R}jvD$2!GUWidpGg7F(Trqz_+vx2+Lq|PjT)H7K ze=M|-*Xsxql2;p<$%JRia(y|4|0?&hV*jFXTkmL7Y@c0a@aG`NS76jD$Eue7XY$F3 z@v>rT3w5R-Y@D}?`h1S7;###g_($j2yy#dP?fZJ7sQ*SY1Z*Nw6f~k5Jqfw!f=9am{vScWIW{TSW4BxD$+>UI|AJkDNr9mC zNOZ2h2y&^nAi|EDDsn5HOtx(Th(61Ce5T~D;U2>^C?rfaD^TF?UzkHPPsv`oyi%V1 zmQyMyn_n$ulOH0+9&^&cumG{)rTcaXU zWaJe#_qBQFV2!=&#gsQ5%Oqg55PuWr*Dn%%(1^X8UDupXuuv}~uNk8r!D4_X2m){d z(116o?Wmr&>hhTAX*}({^2(Rc%&SH17j|?dBKW;k9c=vhCzM>OUXF?_r&c5(mK;c=OdWN^f{{sDEf68F`PH2! zU7cIw6&9jge&?-xsT4PFMH4ATt)sg(C?OllT719v|G7X7(TPN5sVpijexD21?f0MC z+lk!s&S#zF-bbGkBri3dYU}@B|GA-bxRS2-{hk6?&50``{xKQ2(pKZ;SR~LK=>V?D zB-|+|YOZLI&*#yXmCGuJ8EFEg8}xe#yI#s>S$klE8m%6zp@P6wd)*n;F%KynG`G+j zCjuO!h3bTc$Z9X$+vidt7WqUlLRFIZdPRc~R}G%&r9OcYx+E|xf`^dyj_K+d3{9R6 z)yG=b55O+XR$KoQNB+F3l;fYLREN3P+9OY_*-OPzCQs7iZlxzZz5|gRZd_qd|}c%OXl8<15Wr zX`4KaZ``C{!8@&0i_`xa=sevy>~BF*sA$=_6K=gvN&>A zhd!I*_k8RJob+}7*FOHAuP1mrX07!stOfwt_$3kH$ zSSmGq`SJMupO3fW)b4rr^WwP6ypKL5?iZTRHFd}5LpxHj^m9AOQt71Y3bSmbZ|hRL z7TGMH1S7H*A^%z_QJEyDja;Mvus~10!5op%@%kGhcY``Zu^*@;z|P^SW|Dw9`HT-U zgpQO6XaOlw5d)`HUS1#4=@PRre98-@{dZqmeyQ~M%%c*wnj8tjl&)SwRBbL_Xc>Gj z^W~uxkOBpRHoO#Lia?1#Z#(om%n^r+oPA`m9-%@q8p&pv^eB)4>`ZK6kGo$_tBu~G zwg#hj^l~fcmFO?p00r81)HX^+<*jSw8vtlmUrdVJ@tMYP_wcFtaO?E^cfY6iZ{4@A zlz;+%e^+1AlRsYLajo@wdp=Rp1Du4--^c4`;e53yIO?<6-|VhVu!ftzh)JG& z^JV|9W0vi-7g;|3Q4zS`_@-t&wdLxO8hCo!?w9@l{;MRFyiMX|$rZj{$^4$Z`Fngx z`FoSC`3#g#b+kv5B-v){E#LC5dc?^R>QZtSl(&AokH~45OeQhQ*&mbsQaS=3L%z+> zBMie?X>#mbnxb+O#Lt9l2+xVBPqki&ck*iDYbMMmuhe+VX|cHdN7JT$sJxO&!J#+J zyDs@U)_D0(E?eB6(X>;c_7d2hFz77R{={8a={{cyH?lF2+xa!i{$H-)AqXKPVDC)z zL1!pOM`KEgVwOyhZ{ADh)vR1p!5F1*_p*5CoTy!S|IhW&di&ZU--@i+H-+P(hrQ@+ z-i1W;2t*!5S8+J6$?GOUgz{Ok#$+%>xx3{L)p375u^61U$Ra6zgo|aYjcWXiqBxASmsjf&dXVv$>dM4fJv*+vtPwh= zTv(Eii}T_a&wrFe28j2xBQKkxMD{talBOE9Sv`cuUgBeQty8(-b|ibhrSl# z2JCt;{X(-`G7^?Q;aOCtF7*g`L#d*lrvadY^0cD8w<$i=L80=@IK|g*^ zW1dwTBF5X)P@1CMxwZMr{M-h3ERY+~b>-b(mbfV2 zNas2~o{6DPto^RU{pZWiZY6||1sUNGVKLdqOn54aE^g=~J~#)|9eZ<%^fK*VvJsrp zU0OLF9z;jw|N7T*`f2$RsG%nF`jX4yW3b>Rg+(8G-!%c*g#*4etZHD$}?iHQ?Y6gBk(FxfF(_>ih2_9vET=Id_y zzoH5%Bs4q!Ftj(_Q^{Y_Cr4sy8+e_0n!k;#UkI-VEBU^!)I)c6GRx#yQ91dj;O56h;@^{8rRl(z<_--Em&AeqWfX!wgSJ@mJOnf?Oz}QjJ8s z{$s4a6&9ns$kIeV)FFvXNUlv3au4ghKA@ylSHABn8q`TjFLL}>?nU`=blKKXd#iV| zXJthpaDJ1qYB^0ZuL+IvD9EF@LUQD)QMvi+sed6G$+PF5|NnV_4YrQOqOqWEOA3ju zc%vHQneTNg+s9qCk#r4VsnfsyfBq^JsB450Q$Nq@6X`zqLUqeHQ{GLDLKFP9oNK%_ z=9J0uC4pLPm#AP>CqPs;_bPoPsX4d zxgm(%=x3+iadvhztRgQgvgPn`#~xIM7{qE;dK_BQ(|4mx0?Awe00000000000B7b- zkqOrfz;g8?Ep?n?a9f@BXQJzl@uqHTr-TBAH6_&Ea~(e38vpy}j(#MbI^dr%M0Z|Kg#O7Dn8enKJ1}+MD{KFl>-Vf$s9; z@so#^BH|TG|Be@g=Vokb;UsO@sbvr#zTGO=%mf7%gFgF}#b&^K&d8`^`Iln$IH%Ul zh$yGR5xPb3kMNme;;wQ@OM#&*y=3-#1AiL~G%?4D26fbVe46#v?H@N_*X8*BH}CKx zIbLiauA#Ehn?!P$uA(uIOBCckEt46*^$(|{pi6e5T(CIA3piUS^y_N5b6yC}O3xf+}j z#&o&7PyihkADHz9i*?%cPy>v~*12Soz;x-qyA zL;wuuIl`0xXaE2J02*Kb02BaefB;_|2{6c3w|~1+cI(0`epufJZUR{s2B(R7Tn&9} zqU&CPlmG*O000IGL7D(ySMZYU>Fx5beX#0F7z6s~o#*p0RFU5zUssn|e=lk=!7=%N z|NO$5fBX45iDs5#H}c9~maia*6Ig%$UDrKEI-mQVPnTe(LV@#p6VD970zN(pXyTQu zzU9ZQbYCR9-^{?q z#APJ8*kexR<@sMpYC=|4Hg+5Gia6J~y16VsnXH?jmz;(gJEzNt#LBsS3yFN#k~b}1 zK|g6;fXLo~BJ{nvdfjE{P34Kh_MC~t6Z-U9?G|oc$>Os9RgF1?K*pjymOP@85hRc_ zc`;Ju)VD4+N+B0+J5K~D*(jHFVs9l&Hn-;DqCndzYpaRReS{ZmJJ}uIy(#8%2u>h9 z2+E^<6EByrnL2rvB=Y3j$Y|@okQ6$qHT~6F$>d|=WTfaO-&Tt9NTkNp#fZY5E6?ZO zloZt1t_Xx$ruv3tEJ*VFXIJqhOwInUb0P_{E#~>+^4mA$AEJGPhyFoIuJ%>DzV?Hm zjAnel5G2`iWi<9_OO&A*=4;1%u@ZXt!4ix4I`aRSowQ%~=pgE*r0ZJIL)N@siNq;N z%m`e^H7+heJgeO1HiiCxI)B5-8-kE;p_C!PeuM&m5Ey7`3@+i(|6FFr(b{R6wqRKDa5{IG=&r_7Z zg_&o|31_<*ob{GlTheFpvh5ZElGi!O>$#4p5X26(4K8U>$V+wg|;bOu@2H?#P+LwXx%mkH<;sO3@W z^5^|$Gk5g#5;oED7a+r8Biu-yC!P_Ajo{WXYWPq~$lLJ$3#BcvXOs)gu}<#VD&s2?rAdN$Facug!5 zriwhYckg7$2k?eiY~31in9=?AY&TDwdV;bbfZIgqZ%DfqyjSJwk1CYKFq^-t?tK;g ztNauyzUe;lKM3-dvVuV^zW;mP_=a^hJF%fXg!EPk2!a>Ue(nj$7nd6k*Hd|G;tee} z^oUDCtxKcZs7IeIY}wOh#gUOgNxv70(=~c*{R!#Yi)i#m2#ZE*bO*La-myQ*FJ!Rp zPD=hWvK%70IcojM>jbKL`;W#`YjtxBj||7y8`1g_^cnndGQ`GSaeAwAB$~CbP?bU0 z8%#Zm9L&|E++4*;M-VA4jbVQ$o6VQW$uFCsF%VCR{nOu`2)B2?A_a`N?KHK%_uQB( z&jbp%g&?@I(@y^tyENidjwyWz)QotsX&1kzkFTS2;>~bhveCs}q=bOzb*UL-w@=KVU$)A0npLF;4NeJ6K9oG|`MG3j&NZ(*qe@d*$0D zWk0{;(|Wx{>A9`7tJbuyIFFpW%I|CG>1iYLbEv}`AMbvB@E%#HzpUBrxsBb@0008D zvNgEV_>I3c^*^L^k7GZr=8SAvxIU-${kKy<0(b*(X(|{p6&AiKdH41HKd09;ZIKeM zdPNzdUY+w#P+ znr*d&oS{#+0!v-0T4Ho0xZb$$uJ>=mbs{ysHpCcK3Ne%569gTl+5M~EmilmuEdoOj zODia35@a>Nkm>*dERY?R-H(k)-~Po+st?mN;3K0c!AyY>Gb_p#dxgy)Koaksu7>1OpMOJYUWTL&mwtO>)ZX|m z{!8KkjNp#kfT#;fE2A|rxZbXP5C8xGK93mz*YS`5t;u@o<&S5=UHx&#wo6aXD@Zq> z1t^1hP}%rNhv`LK7z(0*E*Jm+05SYTRQL0~{@i16>(@_JW(DH`4$q%YXO_Bq-MvW> zH$VX3000H;L7F6BSLOJHh;;w3F`vkpLhSY_W{Z~lpw|Ns8fva#a-v=6T`;`~C! zJa^>Z{!WVD(FP2C|BymFU3{4M=F9#01&nLfR>R2t<=yq$kLhMyvShzmO(Hs9yq@m*4atGnNzl-b}ZG7(+ek zvR9LGVt;s_EYA%1ge}5L&KsIgXN-}>kYoH2MTwIuq`aK?&6X~N&5h;worOup(0ds& z`652Ks}m+fD4@}M;8Sk#C*~s+SLECA7@rea2tB!1-nq6DNIF>wZQv2|TneMRMUUttQiGs-5id1_Ntkj`8AMVft*rTFQLg?`g3pYqLwd~Id&b8Ta& z@8qreVVP-6njq^m>lG2?%G3KlVlkqXHe1Q&lJz}u#UtgH^bo;wxJy1K?O}&bVsQpu z^38_oy_QUHwyLv!#sVI)Jy-I~n*I@1s?)94)X^gM=kNSf{EfDyY^N@zAu|5{K{kuk zSxNJ?Whmvj5y_rkav?zvMKnHP{6N!6>*V=*j@F8)y;zU?5+-J(tKnA?tIOr#8pLJt z*7jFjN)+?wUvC?i@e2-b8bFtPkcWpqEW-Uz?sQdR`F_VU^JM?QW15X>wN-6k!a%y# zYlv7UF8AbOeD5!jXo^!p4uI@B?o7TWu{W~&t|R57ZWCr=_)f6%y?KIncNyjsD-zw6Ek>_(y%Mf*vA1gJ;{&4r}>cv#IEt(Q;&= zKH`4}zEG`1dfXy^3Dh^ZjGE}4`B@Rra=1R`>09I`fgwnjzg}99O?s0euCkkVMIsgT z1T)BJ_#hv>VGD=y<<;V2G7wldvhL+!S}{Gseug`HWQ!pM=Tn@wDqddV#!ZE3jr0FO z9@Tb{6gkwoiAScm4w4M1KINikgu*^(t|Tl@2p2Z*SRwF#EU--oG+A!D^#pCk$USqP zh}FgJn+DPzhv7Djkck^3Tt}6J*&v^KF7GALK@RoTZM znqcNb;6q*zY=Q)fWe_9_E0VtJ-7uSsraju^Dq3NDo3;0%FR4_Df9zg(XxSIC@+}ba z@;IYd45$S{%(HH@qIH^3uY|WHY=lIO5ssx@REdb!RnFmIOWb%ElhZ+9^6s3 z&*Jx8Vp`m%6wJd#afI~tanS&WecvyIPcWo)tZ~AE@mfd{+Gl;U(Xyt}uZ|cYUY64*m}P`hsjqp>K)?j+Jr(Y**d)-Yz^;-1(xk?ZsVW zDqk1kCB$!3;kQA_(TNOntgDOv z?@Zk)*(pBh4YqoF!39xjDlESbw8ga?h+spMViCJvv|L-hY>hw-82zpT=b&-ZT2QFq zFr45Stv3aSj#7^GzQ*t8^X110j^n&DPzDZHb+`8?Vg{iA(O1 za}Wbz!XoHH2uO3CHRra)!Wyz#3f}#hC5Q^33aes;6>h*3N;TE36*w=xJ=4eGioLR8 zFF2ofK8|q+0zxoQ#v~Dq z{XV~6?DJda+IQFE`d^257Rfz6B1+Cyf7=o;$c!Af zD?)(RE|yuxna3ZdFoV{H<>(BWNpw|T!_o|%MF>u8c6Q-D6_mU49K)>Bu@=B4f0*Gn zKx+ZMAcL|r`@xIRev-8zH6~(#%0i1tVH1K9R{`9no=uzEVKJ;IfwOqcg}^f2n}G;c zlnYqWlFr6#Q&D~|TO>vy{qHZo6Udu<20?B>02b`iGYvD!fPa26_nyVSBmc~|7t}tl z>=*>FCmnB7k=e#M#M&cH`a{QsiY-k+|JnZQy}xOLoGs&9;iK#JEKT)7-}j%O01TXl z4u5+{-_N#VhCut7jS#B{cXoao<<9{M3_O=J(-LXA{5=-N0>l6hNbEV^ad~U*e^=r_ zMth34k9*7im?7CE^>fQ!^0?iS@;&br zm+yMsTlXoXQuW0ICWd7@0fTYDKg6Kbf z-K)D_CyAdEEMI0%U`+&CNJn^8vZTKs<9s7dC-Qsu$t+{+yqX=YBI0{bLu=VRd)W%2mIg8X z4ufevrP9S-@?ICY0)_}SOHLMq9yRMNv-z4SOY;xYUPq%YwXcjRaPych$%*%UzK?adu zP|_AL!_Pmv+fLu)sYokBYuPpG^X0gJy%*`Jp;Cobz55U?YO22(tK$4$vrq7bF8gWI zRQ^(mwO$gFpqe`|eUPbEujcQmFGz+ZWuF^968V8j*OV6~gx8zvkf4RzR@rj|wN;Dz z$ux_)(3#e=b?~T1mlG-LCq-K86u)-dKZ82zW!$Od*)lsYe8S z{L4sAMK|*nH*(+R7fHTa2o$~IiAO;oMj->9>ZwOk}nOFF)*_Mr;$RrxMb zW&FmJUy94{oFIJVVu^=-5Jsb~bWXxV?fotuffCK#hW=afIMV$~)vh9iy`5 zjv;=rc}tXF=L{d0A(keg9t7xBD7dj+>CS0W1_LaRXwYhq5D8y|K@T}OeL8Z&Hyz)v zN_d;!e`SRpQ3u^SpOl>Xh!cA6<-cY8ofO&BXdKrN!4OsZ&loPShZ0dy3i`iu<~Bc9aEMcfd!YL|B_XLpy&Cg{~y!2s3#Jtp2R`E|tQm(fKB4}l9r2DRV- zEj$1Mihz3sa*F&``@dfPD?dR{(Z8Qs)TI+$6TN~VO*9vkR`>GnU#&}(6TGCw{lY=e zz$t`9)5ZCFuDB(|9nSnBC0au=;@#qX@gx5l8Pqk{3^n0-*~RX zK`FvAit9{Qitm^3x}Ze`V`uAh-*U412nZ7exUbu9M{@W~Mo5?>;{Ep|!3?zGv0f{; zvPi)?G9oOt?|pm{Z%7Wr_ro0zsFvbp;JPQfeU^$l~%zZ~yrq z4b;NIptO`m6=wUK{=E9rJ*(gMo%j6zuNO1FH7=y8oo8FQ$6-;!C52`}0So+0k3Y}v zot#T=rXvWsIRqNgO9GUNLcqu{)xm7|om|kRRXXv0!-aikSc<}Mw;L+dQ7*5jf~LKuBvk?Wohp`u#Y$=#>F zLt4gAD|RYbtWW>|Bp?}wlswNU-1D@PRQx#0r|6GT0Y_aMsajfqq%#lzFhnTj{7@Dx zmDD!4Q%t9DR>_R9W6}~+Fk>|$^$oZv6oL@c(@qK$&u$YTkdBV)bx#)56~1<20AK-o zCM11ogr)#4{zoO%y~t?^rl6}OJe9%-Vk^G#&gnz~G;NzL^#*hrj72-30PdY5eEYB9 zLO%_IN?2nO=vVyKu(RuF|m&*y#l*K_BldwA#h z`+mQkv!9LgS4~uvQ>^QEIP5iz^kKp}P3})sR8Bq0#Ha{u_{KiP;6kq5MK^NXa^Rj? zl;21`O{W?9n{0M%fz#rjEtSGbr7DocJ*okV>h6f>FFfU(lG;3zx4iI_{1+>qEk}&8 z*(-y>-Xle~f`APuCkx)hKC1F)tu&+7iRj6A*z85v5m+PhyUek*U=Eem*UwR60IKZ- zB)h4zY}?t;DXT#?$p8%1Ya77l$^b!z^%F8x2fICdHomO`awae{zP4~dR$`Uls-=L^ zYTW{9P2l)W_J=>8Tm&_Jeu&)OnuL#EjG*JV>yA8QqjBA;#o5^&{c-OFe0o+Zd+X_H z4jNUBVxprkHNv>D(OYt#=~i?~h!t%&up*1WV8QA_S%&4BB)uE~t4sCWZD~PN=njAk z8$^Ij^YC^0dSesct?xtUJaiYn5OrZ)y&kLTl;r>b0N?-s2C+e!Y+y(63*QKwpP%3U z6B3>C%l^pK58ED3zKz~iDxZEvnA5`n-u?gj|A-PeGW3==L!j#^5>ggyzyJP443YhE z|Ng!53QUB8{bl(^o6`Sg7eSsKd-zLD0kL09Mq1aGl(M;Hm&ub{zEAE>^jw4555F$g zE_93)0_)4<3G5NnP;W$mw<(He0tdC3wKvNVk||3skkX@Mkx+k=y#cRi;*&4zhpdj7sA%EUJIgd9v) zl$r*H*WKv6rNoEQJ2A={%H;y&sls6irgu9>*q! zWs!nGYggoAQr1sr{JwltyUVF^N=(rFoTiy|`Zp?S`|s7|{Iw$*2P#!-vZ!~LHv9H$ z-=&Y!Ol4C_kUb1Y{x?lVwyEz)@Ok`|_Y%ZkB5v$GALt3u8i`az!FyAqnC0x%^OTNX< zsl8Y3BNsmX>6bF|B{*iW-I7lxT$MuaE!TNFGy?%aLsvQ1$)g{M)a~@0EVJof&LY-sML)jq@Lz~>Mgbn8 zu@?x;k{#EuTGvSnt;1AwDWd zC=b(=b|-?p*y`&0o?UmWpC`=Ry*VO;C@suudPqKp?!vkUl;tZbcWnG@){L2b49|>A zhq67TH;7te+>r8gaI8H+2)K4b{p?1Bg)#!urQPsEyYKNsJ@u))f+10cB4vsMIeu9c z7lORxs)P$NSWO?Cbe;KDLoY=9hEq%2LU?IziE^~1{nk}~)`VkuY=SMCG_K{!S!_|a zs^5jUkoEs~ge5U`G$8W=0$~5VR)FXm#E^T@Qq^(W_K#0Q#bEgYYZ=bjpo)I_DTI{8 zzN=O~2=}t;e1?|9dh4%V83;9PYeiPOmL+R=N5XNOBOEpm4~-222W?-mtdyj(3p*Xw zT@q+NiD+{vLtG}1{!fo*^oPb?7B~iUNk6x8yP@~$OheJ5-!QCmvE?sEIc3Pk!Eu+^ zP2Q1%4TSx%B%jN#E|~wj!#4`+iXTbd_axGa`8Ek52a${V3C`=DnUZ-HL;wMv3$;7_ zV)h|mMnN)`GDE%+$Rk0p-MpDXZrgJFzuWXpA20rgwP9Zq%qN&5z9k5MAL2o9mur_V zsAfYqX4ed(zWfq8k}vcsz6n>mXBF=LUw;vzw{~BdD<8}+7(Bi%Ox26ov(Y{#R(4Ld zZ2A|tt50n`NT8#1=u>~IASm2h7UHxcS8C$qcjDSJtMPlckz4EdyjCu1^-M~ypoFbj zVC|B$Of&fv`FOv`5%bpSYW(%AqSE+Tre7~l#ppKE7AIYCaup)(+cqlX1sk?X(-dj5 zXO*l^oSTaakQ55FruTnfnbq#|FH>O=o$BK%UR%4p5J7=p`9*w7^u-y!k0?hKt)~=k ziSk$BKu9Bs?*77?kx?JLM!Fa|T=mOz(|?6A+Hji?j2#nhe@0l}e&YvsdINi(&+XUZ z@mS%8;mse#;%O63FZ`K$e;M0`pbg!mfncb| zPh55O<9}aib=P$B?{>zOtf`kcT~}AQIrr!k$w3J|PMRr~Nr>rqc_c8D%trIi9Fy~; zZNi}qKo5$Yxn@o*S{0R0N^!Cn@!+azhsPZn6_mWu^fnrr*yEO-6aJbIaGGe4O;r|I zjFcZIz|~0_u?&S7W%H|m0O+9za<-uDS-C`YMSSV5d3d5SHa`SzJI7K@C!Z zK-eReP!NLbX`A8kj7e!9YrDR{>LG z10uQ21Vv8uc^(;Az|^9_0%9W-SQh|tPHKI$Av+yFuMi#T)Z@2HyNq20KoYT--mBd3 z&P(mlOw(Gz057qH*k4Gg0a916+1b+@>fPPmOxC5PYZ{GGT&MVS*A7h8#aOtC01}`Z zs}2IjLarhi}TqJc$*}0+&r(x(OVv&pMW2 zLUdu6BLCjl4y+W!A=vE36Ac?Ef4U$D;(l$W_LjNMmjDdd`OIyKpdQ`#+0?qor!uvt z34fWTfC`Ryyy7UHue^oMx@d}P$p*7hp1>A~Z!I`fhyhD;EsJ_yhTHbX;&j8yr)9hR z&Z5ik{@WlRhZ9KcssqeMo*qaPU`B{S7GnZeM-Vh3>AdcoiCSHt9vo<4IE2vR-kSBg z4y?A{owCyf%o>4$>!Y-Zy=8jBjCJD}_WN@@x}%OGzBu+qaMa_Lt@E0yC@*#8j;h{! zE*Hy`<*r%ZRPdN@9=Ut^dHjH_jqbJ_`5k=s*T=KJw+!R2t}B_B39C5e9PJN$V>H(L zDq`qX;(!ML00yc-nvh^e<@*qL#|Quak-b&2tJ#P;ll}H@5+GzoNW{e2#RBBYK}MFp zFa29a6CZtwtFAzS#6R-aAnJNr#DD*_@5IO<P=ppz0o@tRhKUF79vqROJb$I5ighI@{voFC!kGQ%Pao9iIYhZNqKT! zy7$Fnl2G1{WK?Vhpsj2EFJO5RwWO;;-a1_6!JI+JPcMm!%U|99C1s0pk}YJZG1%Yh z)U64=K?dd=htn;aLv5FTlvTdv;&$RoeRjv=_^x5CO9c11{Qh5;UQv@UV0My4BeXVM zB_h@DBxd<@<-Hnn{H!h!%dK=1Bf*44zNKx>V!6D%KlDkMAj6B&EtyL5|5T^zEMJkv z{wA_=wkUs}eI$^)kCMIY7Y#&E&1GXjzmx4SSUU`*3&_YWc}bV@IFO6;$(vbv4}K*O zZ5eX3-Ed^?*6&val`KtQ+8~TY@S{J&C*3Yfgg}T)%wp-9zx$HxBE*+@-0CK_$-`XgSSs7 z)%)xIMfWZnq+1g;7gvdr!a!^uR`k9>T7JLTWIk<(t!3jp(?yH^Vg^>L5>a(q5J@#s z_ace9=y|ulIDc@*61i!6&Y_Bd?5)WysedP=Qg_)mrR4qP^86Ax$S(T=2$-A1@>=)t zx5yV-=0JupU;99y6o|OBZu0oR=I~H8V6PHk&aGwUzkUgTbt#qhIF6qE6e5dG>Wd-P|!^pvxye4HW1iB zv||$4kI7Y{6?D?~%f5d_5R0@x{R^{aJo3Z8%e@ih7e7arSqr-SqW696Fn+|nB1`0V zCsW4wR-!UIAU$TNhHGOtbVjMtUqMz1U z<7)?B8@nuV!Q5 z@Zbigt=1)ER5~4obe)RXSB#qe6VOA0Z$o`PLwjlXwqAvyL+N?`BQm9j6?u2$ZO|!W3r}z7=MSolC)tkimeXo1rVPp|jy_Ql#oY&|P1z(vf zMhttutMM9Mug8t6mLceWSgVyENcZt8=xlV`@IKdW>mR3$nBWu(|9^-Tj{LB$t>|Qrt($Bbx@cLelsn6pRg zUpI63Yl2Ma1zD?2{#>azK3C)rutD`Ji^2Lu#T#O+okK7n-XL}>z3-p$__E6&RGSE4 zuu&_wiVv}u{lk!e*Pc<8x8C@HfT&lO?|a_-;zFCcy(>{h_ZPE#zPY7{6BVM|SJ)%W zkwlGXsPDmE?~2_X^mq6up6t+-zVbgEjGHaqo@;IF#H##XKSn>Qr|(fq0m~RQ&||-2 zP$3)0P7$m3|M}nz)s+Ees9zqwxA^zx!d~a|{djM`s^;a@CtIa2t<7D`fKH*E&_%g& z7x3R&sR%+RCnc8!m@-{^)ucELI+ZyH9~%^JFvH{Bp?*t;RZYf<$m+(n2OP-C!XXz= zouGI%oOFT~T#c?Ds#Iom00?x!)YZ%YXB|KogoJREArTJ$Q;sA7Om>xh{T0>Dk*X!5 ze3CqsV~mxh=OpyqXti__J#xXbK}D@wx$Jo#D6^dOC?NgSQ}nE{t*)UbYr)bh*Wu5? zVPQH!rRS`{u8OIkDiTN#5)c=2&YWgrFjXXRl1F!&8YYNJhFJpmG6n`VMM!9s9(SIL z+$Kc|nZSV*o&dnyOu+23Jm1RJS=1@w!x<-1#f<_J&n}NVmxhnE?d!S`s?+*u}Rm&}8*b zR%3ZD{`?IbsA_oI<20%~DJ=jpLQ0f+$QShGfHFAdQZIx3DKc}$saQu!0mjWzu~m?X z<*`bxa-YdOCXYcSE+z&bHv|Rd5SR3=j0o=o6$b()qY<4-h&usM8l3=0sc(dv1_X|4?oLnw%fZehCobeAg^%u>_j@0<@k0n_k6X~fQho1ZH6o1Q zTS=?Xui-(e=L!AevjIyARSaD{9wYR1)kr!Mvx2NukqX5^H+qIzn(v=y`t9((zm7WV zGu_6cdF!u1Qmi6QeQV&{MekedTaRQfSl*)$oh~k~7@a_DiHf0{3tVPqFH_O4l){~Q z-R)cUW-l0tbH?}Ah}PwrTB{Q%0N?-s2A)Bhv|v}|`BvoLO*=4ugqH2+WsVEgrR{Sl z`G4_B8uM@Mo8`;@AcdIlkVOc6m3~&15%>S+@|TuDTPAp^qsJXOmBroh zcG9fB|LcfH0c4%a=)>Y5U&V-ssZbmw2S7stXUr=R7h+>Neu~hcr8ZQg)?Y84ZdqS5 z9eeW06d>Cj7eY5L(LL5soSctCYwhSO12JT|`E@MY=zP9ky#g;PzW3U$*=6$O|D2kW z%3J>wJKslko+rvo{ePR2rAWC=+F`ZJ@`%zpJM6uLiL2!^p8h9qF$YA|cu!)WY-BrR zx8JdUD^~_mJ15NN%HbALrLMGRkODR9jD{^n8SzV9z4BNF3YiHGD% zM!re;W=WjH)=&Bop=D{*Ks^KL>{LxUlVU`HqH63WHMBO$8K&E^R_iCqn&%Ape-(}L z$avAf4JVV9W)+f3AiTvek3HVPEX`nDP?JNy#eD2jr>xT#)K)Gp`8mt_o6bphK9OFR zEcrcXJSs*R$Gw<3qRz6B zu9612O>)*!>`YcN<8Lmnk_kfoYN8j_{HoW4d_haC1BTeDZmW*0qQW{3aB&+pb}H#SShn?3*gJT5`*r){D$4>yHV>ZEI2#p2B$V zeDnOlErf%el8I};MGmQCgUR;BXxe<%Euk<>#hSX$O)bIHvT z>*mB|aT&9eq|QBzIPAJ3!ff#8kAC>7`2uTHjD49!X#B`=ul*`3lv8cAtV_AHCPe^so!kBFKqUj2upgfet~iM+DP31jG5{;M#dc_pBa zE|Hw{X6^O&T+)Y^(d-|uRyL*k@bDvv7rnRkmy#VlLOppM-NGT;Ss^g!wKSi3eR{ID zdPIMhSNk;iW%9FzMn%B=bYFtzOkjTH4fgx@r_I$m$@4beyWRJd>=6XeadP-25sUGE zY=FKLlu$maiekP`=8_cAzXT%Rk$kZ}%dX|ff={_`xU7F|2s;e0*ck(V^?!X7x*Tc+!KXliGnCe*LzVALL`0N-@|&iKoreOHgwQY>90gE=QST0Kk|Q- z>Qa7R9(DYlUoY3Z)z`e6e)Mj{jlNPmY{h(;{JtimL%F!&5RFtoo)8G{3x;@sbhu<# zR;JCOQMvO(I{w!nDDb{g%6NY!_Vxb=Htq7LLCZ(ztKYb(ESkLHG`P`wq)$vyu?%;S zc@5zDzEgI~Utfw9w*B2V!a5P6IE%V|qOBh%lq0b*F#0hSaYdtI7uL#9$be0|^=_4T zF56d%KKls9F>(sU54$~Of)Vhm+wo#dGS`SGB*hpyyF7p53KYPNzOHnoL3E&K9Q>KOC4vcuA^)*_o z$uXl)AsfmNL0$Xr`JfHeoPuH@Z{zxXb(`_+z59Ie*T0$G^>uYOCTfz8j~yh|!cKSU z=y>ENb7C=MYuE`S#UZkMnUo^i_zaJrBq;0+7IDZS-Cgj_G=fcEM1{907pRY~YB5Da z8PV0eX;C!hyIf$6cO75L>|MoU9Av^SU&t290*4<`B2rJn0njHfl@UM@min#bS&O^{ z2I?n78@gD*dQ@?K)(Hj>>BfLJVxhp~AP1$Cgi|;R*y>_>0zlKvLZEjDA#+)ttZ$q1 z{7LO@eg|CM7T$-5!xnfkOt+i_9(vm*k#jpI@v0I~4eMXj)&~{2Iv-&)X-Irut$337!&}%s$C`P@WjPl+ z9kIk!#{s504ume9$(Z!C`=r1fP{1^JRG^D=YU}W+su2Z4IGrN8Krop{RRbg)q}s_m z9FZv|YwM7WATTLuLpmVk0Z1}~Fd#=(Cy~%V4FsJmVA;%|M5Q=Ynum9J9rV5Q05?F$ zzqFN3ln9MP6&KcfHnFLy^*Y9mNAC<^={*pCxmEkm?J{0M=V8KxAR*HMP+T!i1hA5zi{)6+*_HZuve7lGSbA zVga;SRDlAN5WTr_k8^-9(SZu`kspOmZwOX^QM-l}dE?6{KdI^)zYh;=MNFp6-QR!! z00-wmn%H1R@l44r&Hi4Z*F$$?$&J3dgwnnbI*^36K0=DiQe|AV|Gkh( zGY|dKyZ_kgo@*~({fIH|{EAt3s3qM##JIes5p-TjN;u!s&>I9mtp#kmW^C*BZz!W5 zipn^Jpgg55KYtPAS1CSbz0`#A`B?7Ol(N4h?0{kOuj-Ve_I)2BxvFZ_+L+G%> zu7zip>xQQ>Nae3Ru4`-dIjO%V%kD1>)?X4po89qQDec_8sJ%yp2A=v>Y@MB+r0kDB zay<986HPzML(6gNqUbV3eC5Z{eiQ2hL5;5i@|H)Z_tQX_ekU@_4C0#vgn-aL@qG>G zO&9-{$?Rhs9at4eiheg`@$-K8__tr5F48Vpkhl&kUA!)%i}U?5zHW&63rh$gzd{tB^ja|_m@5yq;SY zYs5<+ZxyaVka;Ik%iZUNl38`8q}P@D7rI*++vI!dsI__kOto61P~0 ztL}g1lJC@0s?~Kwj#eVqkBw{-AW~B*&QF|N_>3TqnG=Z%ehN75Pm?OlJ7=mbSpr!lxN5gIbj{hCS)`k zYgz(m;mFh`jenM+1XAVpAw3?^GkiyqRnC)KCf>^L<*3bm_Jp2oNHkv#_<(;Bq1clS z_w!}>G>H-wC@J7XkK4-g8-aZUn?@JpLu<1n05G2iNVFrBj%+X^{(ieWY}nmiI-=+p z-@R-Sc6ER82a}gzXjXS(Uo9TKiC+B|b^c4%{I$gCzORe2_EQWQPs-q0WwTGRS%1p! zxsmv8pRk(8KDp2toAQM7qRdJ~HVd-oEaeyRC|mI*x5yF-jDQiOP13iz%kS@V2s-6w z$F+toBwgZAnxHzI<$9P9a{ojLZp4X$8$|LHxpK&p17+}n@*<#v z>7&I)j@7El!o+3d$@2vR>tW76&`m63zTNl2a=Qf1;{S@;f0_mN5t0bI&++#O$#QvU8WT>*8HHPl4CdpbPel>?T#YldYdo7O)uw&cRxcU5 z_tpL&Yu)eTqy`2fP{3H+$yRWTg8p#;lR;&R^ED@*c5xv-)OOKp5m$Y*Ee{t6o%-gJlum)`aH6z!wv7Uw?0 zAV4^VhX^YP{IvAV=Zif|)r}L%6UztWQLp4K=<;PG$}3+4A}16+FYZ8`PAR@FDDlR@ zng~VLTzDb7R0DC@MFb0hSLh@vNGFC?v-_Ju&sFP{qG)L+li?)>=rSx*6dMhXzr6t7 z!L1jj&b!?cBX1;*S!*rj5+!PtBwXd4br7(R<_X>L6?ri~7#x96F}aX-G1xS~NE?mH zV%&+QH)@I|a{U}-6YDRN%53(FR|+UF+D(D9UR~Lw?}l<3qxLyWYuF;0fKUvB9xwfl z$^A!T1eVugDeg9ASbs03-gCU7G)h|NCK4|%v6+VouPTHtj@k(6>zN}oLxUo6;#|^B z7~atJ%)RRMo?K3%L@yiR9w18<@2Dv(5v!#2hEZRH!Ykg;tM8mhkDtE!mT#0@+vEgj z{U8>KExUyDRQfb&{ZuLLh=$O$6}mKQMvl8MBgOQ6tdLRVtWlGTIxg~yOvL*YZA#A} zek}PHzAtpmT5l7pHI!cM?zU?vwmU{QGe@H{J}*&RW>)9r-{#n2uzg>}%bKY6+3FI= zE`axoF=ybT%~?`x$KMENr*`PvRs95a*@#k6qd}j=iE?vyM-(P}BMH=~K{~a$c;^8=1g#_KFe(?`^ZMWhG6qUMntX3_WxS;#-|QT2M&rAqN8;xdx2tW=ihR4DioO5< zR3BxCf&iZBngc>j;s5~OcXK;<7?%b_xhktQoQ}8RPpsZ!p)wB=U|<6p=7oNEHrfkM z;vSIjWX#EF94T=z!=J(_0ysN#Q+tOU? zjdDedQNcj7d_CZ@t(^~3ljC#O@p<=B$}x-xAfU%T9~umWqG*9nE(UO9an`G&3RpzK zUz4@WI*5f$suFjGvfiaK)d1lvtWV0X&xXW1v;BlggRG9sf{V2LHH-OR038~0Px-m2 z1Rme-S4!YiKS-`YK&41c%Qj)RszeC57l=i0s8oWd8#OHl zq>e4qgS3I&DkEipCV^~YA(_IV2&~XC>-})JI2;K^Gsg{`(cQv2W9pPspxmlMntZ#t zBpaQ()L2mv7V#S1|8w1BmS9Vl2tKtaJya3ejPRBh<$J@Y1+sA1jSO&c<5l@dA!Q2+ zBWrG`Q$`f9mf*x~_Y%>{Fvh!!sWDfpA8%X#WW1lEF;?m6ic8Bu->LoQOgHdmt(4<_ zILV8X_MY6aql-~F`r_i%dXVOn?63wTG;hn;zi+mC*@1E)qr2BbE}$J39p_-by|woj z^%7&EZFKCm2K$^5kpDL|INi{WNTKng+*VP{;@SI^g@{`rrYayXy~ddBwg{(ZJ+BE1 zSBoq$8B+4;=rD811wU$oqfIGdF6!pX+DnIkYsTiS{Ios_Y)E|M7KXhYO)W|2kXlCrX14;TCMGEAZ;L3jhfW8|FZO8 zBG9T6eh2c+3t3zwuGLB$sRfhe`G~Y<$>G)q?5wg{E56$^QYjp?Nf5qmlMshw$Y=0pyii$1q zpVW8ano6`OuG2{3CJ5t9Z2ZMo9am<3ty1hn64bF>hT77#oGDcMKuY@m68vWHzivLY zR}jX(Uk=98D#yooB7JHLULM0q@%@x)Ij*gN!GUqA$5~8>yn^L@HMO4-1_S&~8fXUU zy;A3$7XZ{1cC_HZ2_2|tMsqFR&zRX*S%ppgM<%6=L6s+5lYA5Y`c?xxuRGcJm$|CK zrp#{gP;$cVMjEAROg6?goxijfpq1?1Nk_^oT`38+>$G*5SpscljfC7AshSC%PfTa~vs9GXD|}#k`<%C%NtRXO;UqC^w$2$HFt(l)hN;e+ zkk1H-^!}Fhu7esp7fA!`71nGj@VjtyE#Iw%>B7<@Xp8!;l-^DrJDFijd+5KYBXPOq zf_|*iH9)h_cG-65Df=+FJK`}~nlzjNb(@CCj@23A=aWb*G|kzTxWIc0%v_%FQBY~pfMbpg=05F9Y%is4zK!ec}eMJliKI;UuDHCQb zCD?9&l~%|K-W%qc#vVHmjZ8+Q_>d zIq1>EPj%X)OZb1BklFsDdmOWHmmbTv`+(ofl^%Ml>+)0DgoqJpnMlqi5F3w95fJq| znC=*^1wjs=H}SjyQNu}gf@Ak@XVgHCwrp=0%`)&?7Me$vF)jW8n)enPraEu`X^tQ4 z_v@9sx4q_jE2NObBbnum@_lmaa>zC?kuD9r$Y`8uWXFwM)m;7pq>&{=dl5;RsTch9 zz@i?b8`3c10k>^^_(FdHbVPJ=#7HqzI+u|YZjiko9sdMZMw{Edu__qvZv`ULTZ6jG z=+#A$U7ROTsYAXJ6CK0eO zn-C?`)omk!&P3?CsK?JRLEom;n8shfdO#}NlI-=-U;-szVRO>GDgjzKN?TeAo6-dp zdk>3$;l-7A?oQ-UpDO15M89TF-F3|s(X}kf?Z0kcl{A(c`BCawbd8Y9@NCuJQ?}k! zF}_~YXCkABuy*f$5^R96v60?xT$xxvEw)kHT#*uKEvsc1D;@F?FS<*PY8>2_imf2% z@JsPcsU1Zsi9=cUVwNiuS>GDF)cqPZZ?3U8qo=*!R{e8MpN)Or67#qnxv|`ww`s;e z(gYZd*FqG+4Bz?vdhr9kAjB5|Br&w)tj*aAlPG2rO}3Zje{Y%Y|4T>qW($>{UsfWAY`0d@ALCfZy{=mw6?))9NTHi(NKLB`jtz3g74HI7Rgy_A z=q^d7^avXVHBC?K*9e?qwZG!BRg7A;PmIrA;xgQnD7u2@{`h}@RPlK*} z?wcJ|;RO9}x?fxroj74sT`j5REUkO`-~PxZ!WBz-ii(}fYcdzNUXcDMh)@rxKX>A` zhta+Jl>W<#u<|?YHiS8dttkqimRE^GjjF>?V`(I3HqTvCyJZMj`pPrCek(>TD_v$G zRE}i!^HF!6=t}GBD!BUwS2Z$GRZ$S4N=%z`Te?bNgi<@A zal4g`UX$OB=1Xx5+rRkGZ6aVlezGZU?B+siMqP>h1pfM+rf@X3vMgu%n?LdSw$c^( zUjNhXV%naBhB2$6k1OZBD~-#Om!MOujM=c+S2(eg+?<9^?+cr0?o4*hlJF9))+cT? z!~SE~>2$`L-=w@^>21w3Xy;XH6ph?b*%-tuy6ak4>ix8nIWtq)vM*qI+lPkO*BP;- z6<4XM5BzaYWFQj+X2GI0#%D?x3b+Z2y3bgLV#X3R@3z2@soPG=n|pCtvruM^?Z{YN z%nzY3*>R9R2H-&JGEq8{0R}9{wf7|LV*vpA*Wh4NFk`Ko^#~}52`UIym;Mp!&PNE6 zJ9D@e-xG|;c3t7>3$kScSIA7${J|ND^pKLI1-OE88cb03YZ!W>4@Wc$wjOr4|2JUK zLDB~nRyjP^ICRN}SBL-A(_~UueCP;^v}^e(glLH9&a}OUF1x}nISZvVz2dcE-Us#3 zvpj!XT@V?DD$UWm34<&C32V~!5O)uCR>#T;+=j8Vm_O;dyL%#z3^P$;Ns&SRmXjUk z!71$8SlgCSEnGWBLQ30s0hcjkl%I#F^zvu4@oq$O%ejN94_M zb)JC%2=Yfc`J}jG&T_n9g)>QMl}|nc4?2M6vT17zgd`-mMvG13mA>^ROX#$~ z2$gQPc%}If;iHUKmQKH=tZpk25PaN-=e(hu!GUDAx0NKh>$@w)TjCp8`!QUbb$Z!L zk5=lfFYk&v*%EeiXvs`hJt>SJZN9uBCgf!j*4#n$^0Lh<9KXGCMOvRDSJ@)IPh0bT zxxlEW)@%B)>^70j(XVuTAt{6Nf2S}1n==$mX{Pt9d>II}EiscxSHWGxmX~j@#n*W~ zQYl5I-1t(MJHmwr*>0Y)TuGX)`!_s)-?zuz+}^aRd|8Nmb?9U6vZv(xrhTeW3@@Hq zitgWPqUNr%b{yz#p2;)K5=wBUvn6%?+xxZk!5tGzkD=@V>Gr%D~N?z z`>8uuUgWmO4@j&p+z$F1RDN#PKcgEP`BuWblq?hdzU2O0=lA^G2#&@dt?uv7S7mbL z`D~tZJQdSiMXU7xC-ToTI9dl(2JV^rb^8&alZeD@H>%Pits(2RiUfTn5HR4FyOx=l zdGueXMG!(Yo#Ot{h9;{lhsO-twV_}X-a+wqr*65mT$eEpHw3vEx0~W()m|bXJtxt> zP-m^U*5kfrIu%9J2EFTw)GE=6MxTYLR_;ktH6xi$otg4E#XrFey%xHps1*1=f2%tL4B%WG$cl}5HWju@9uH&McnTy zhU+qgSa3m3=y}EkkR;fSL4or$p>29Bm6c49G$w?t&O#DYToV!T;-_3NbVA1MVV03;o|%pG|2L+B^$2T>sUiYX1?ZO>Sn# z99h8D(?iuY^c?Z^EH^83x_6jl)C4yCMn&3Gl2cxh@v{(ES%VGjqqK#J-Pf}l9_72^ z>%P00^z!=!W)#&K83b+>LPh z^fT!+C2$LUt&>Fq)Rr>$&lIKY^VntyW&U^VK|k@fb+9`+m|JGxw}kPw(oK zi?_vTuHHZU|9{0O6ZO@3TNOTPUG;bId`V07y4_a_W5a#6eVg^ZJ9j2zDBAD3+vPL~ z=Bn5+U3&>rfcLSx55W6JlUCNBULTu28NDvu-<`?o{U1TBtF`L*5h8ZW5?}LhPzTh{p zRQ;2E_DlOdgR3V z<=vI>VIg{p%)Z_jN8mu=FR24`Eejx}-OEEP&x`dlhMtOdLifx-tz52#4{}f2|&2dX#K-47{1EKi?y#@tge7Js9$wPEI)8a9;Ffq zl4#i)eap{gyl5bqFfUmMX*xU*$!yD)B~67|;vWA1Kkn+b#nj8ZB{PsaI!f#DW`ytg z7(Yr=asyR3SA*JnHW=c3doZ;yFu!=$sxl(PZ$hc}p>7KE5qv%Qf`!SCWv|!VE&SU_ zneEN`9=`(d_x-0bT9){kU;a&d(Y?r{{8cYCgmoS~h5|;~_i=f%x_IGDuDmr7jYPDR zMpIM9)fM%c(gR1RoAI?%mbo3RXS#!r#3N}N7_pJfpQbu0{J57ea2-QTVZ7a+j?+1- zXV$|D@|*kS8$Jui7~x00Afm_j8Qff;`4r_tSfhcq43HSadPEcF49^iO&fjz2p0EG+ z1u}a!5}`_J_@BedQ~+E&bhZ7*W>M zWQi?YR~UynO<&b_%M}7M1(Lhmj?E-vww~Eqy^^2=Qn}o1mDJJ`ka;u1K7U&aeb=HoN3$y7B z<)wbxYPxVOaGNVM+mgh_3pq~Oah#MSI6fVS3w3?%<&0g%=7604EqRJGqDw^dkGjCC zr6l^ur6%ko+y#P4$Jyu@KH{nrANXLQwfj&j$i-=+>~%p0jb2h$Iw3e!KzQcjTvq z>m~DRwjnS@W+w&1r;;=2|0>71#dHffQd|`ZCLXpZKwm>BqV8HVngP0b{Z7o0yD=GSU_$-2)8DxGB7T0CuUd-uiCXRT^&(bLp`}AVa~?UEVcEZ~`FIJi z#w!y3t32882q|3Quv0c*eXaKUup5w36Hg~s;`-+H0Cr$m<4gmJQ{z2D1G8B#^X#v! zd#Rlw*dCRGP9~!C*4yp#0=d*Tsj87>fv{J-uv@~R1@*7i7`aG z$39mCxK;&ASMbXAuxuR3S*X29okdl(CHX%*%P%KySrViFWOg)WRuen1!-__fXA$#X zYMT^QY1O=6uXR?>t-kBu&=Aujzhd69<$A~%ME&7p2s`u&pr3l*m25?N@eCZE812Q- zY=ZaiSJ&r7LHn=VC`}WVxTAgkKnOuZ)~Ee^SgaA1zB}WTcyjK(|Hmi`?%hB7-S{vP z6Ff$dP=5N6OFHsl#Zw$hLDs*P@oBQLzE6pYIKUDdPO`JL)6d{LBKYSsbw;t4w(a$S z0TcjRFl**vHz~vGFdukN8X1`=I%TnP=PcGknQj4CU2L5wH7;8v2pz9BHsH z)M(D{Q6QMdO8ld-Jqo<1x5Uy5^q){;-X_Taz1IAEqe`ONVke8bT+2R~&abidcJ3J? zr|^C2YqsCtx!K*?HHL{kskJOorQ+>4;h1}O3>atfw9)FT8pV)~$SzXlyjAg?5$KNk zy<}Wj3u$c#&x>oFOKMXchF>x38bqt;KBLHsDEU*!L0J%25ufm%KL>W2UgDn~E)Z)G zrCwSMP9sD*denhms9lf?7J6jFlaDlMTlF4A_FpPd-6a5 zi&|G8_SIqnF1CAJMVg*GpX%g@_F^73O@YSkMA2!G<4Is*H zVpG86{Ceu$u(alo;UP+)W(Oc z_p5g&$%3)y*QLY#i|965CL66|Qc!=Kni z_YLn$ZK)RH@B0h-&09e_*8b%o#kbmv*SE8Vx>jWph zp8s)z1eNIj0#qPk_24!$B8J%wMUnX|Xp?W@a=z#wD>ed0r~($ZeFa-=!b^I4f_Tt_ zi5FscbwK#;<-_|jiD*SECeWYT(0wwvot=148p{<-&6 z;WAYNHP}nEZ^%u~=G)s6diL{_(+szC)9v5pboL1f5GWHZDA#2cnxi+bFFgVvjr!&) zus}!sXAhTurV{0@QG?jC>58%t4qo<$&2k?Rqf) znFoL~@DVl2}bZ|S@OJ;xYl8}%qk^zZ{7Zb@yn{3N0 z--?bz)Gw(!saBb%;AO__#Q3atOThapkouva=YGAamZXdCc_ipU&BGeY_Uw!g+U+qD z(!FruG%2bP%tQ^;vyFC4rCzD1p&K;}O0>7>7Y*K4eWYlwSjY}~)cMd7(q*JYmT5NU zBBgo$rSOA5yP4*zG~5|BJyu73dx>UAHbkJzZt1dnYkSD!FO?fL#}>7%$w=rm(sY+LQ_t@)bfmS{HOJyK;%s592vVVB zyis}fD9B>EQBwexz`%?oL&#c^ZVtYUEP1*0WW-khbrDeFskY+Z1iT0tMq+nq$ZP37Ae)+qQcb27P z(<3Jzg=u1UV}Nc719Z%yyLYZm3?Ta>FTiGF;{I4udQTV-Kkqp60J@P(_c7CCWDTDE zH1M-IL_NN*!`@%xzB|^A{diP^T2F8L{^TOa5wT9cuiHO6?Bep?PL_$)mN5Bro08zJ zyT7x$eKzzSjM)3DMYReuf-E9S&R@LW)m>pC6Ca? zZEJhb4z!|hXyOc^?R{L}?|}Wx$a+in3@~h9_!qk!S#62kYxUi5L9w3Px%bdfSu`8T z$ZXa1!d#?}S6V+qDOj1T+$F$CAZHtF7FuOKlb0+riU+h0ZFiIM4-%|nW5x{0XtqXb z9vT6_%rZ&NdGEOW-oyRm7@VMRyybMEM-uhZf;6N$8M*jtnLQT#aKjPoOW@IgpiT|RS# zg0IuQx}uDQh$52jiMqnEU2pIOHWiI^d#}J-3>5lW)wR5Kk@a-exPm)kd$3B~gshFIZEJJ$mImXE8`7V0k7C6RG5pjU z>nbw^s%%WcjZwfj@bQO1!CDGS4JtCo-UYZg(ldSL(wN!>PvqXi%xKnxXa-XI|r-5n=W za%Z>?DiWxJA+D25*7VRI#7ePO5#MPksmaa0(&ee*9gej$zlvS6 zTjJEmjHppxHd6$kM}g!_;i?a7N}8T>KC*GxUGAE0r0!c#J?oc~ImusOne@9>kt#a=62ABP(^+SU*YLuUpWW0$~3zK<9rNUz{k zfhv>9IsKL3QiuOZT)`sb*0_C>ho8qM+v6|qv|sax_;M$7Nac>)zR~j=&K)vQ(#-Fj zdbcn*$>bDr?JH8^O`8G%(smk?sNB9Y1$wiV{~t`a`){(Xw2C9W=?cq+(eFQ8&GH#FYS=-W)7Pq&&F|Y- zir##R)vEir!KjTN-OXw!p%)D~E=9_I2*ytK1y6jvlcw6W%LtE#TqrOlKCU=c z;W;%issPh6kd+=qB_{`W7hHP(p)r z<=oOE{mp7+;!>?Cl+uhDbs#>=6{~;Ks*N9Ft{6TR$xzlEHk)M}N|`BWDB2(OL9(3b zw$(8TClqhlqqDR#oeE4I+|I&}U~^#DLggMOUkL?ItyvQ^zIVp%tPfP%#dzA*Uhh|k zabP=(8S`tCkzcvk4Z1c!n8T5k*{@iM70H#F*Y+grKvGeU*W+rQIsGM+sQ$Rqr`<^G zSE_rz%+R7O1FQ7vt8E?X$S{>Nb**>ODv>F-w)d=?d*&n*RW;#@Vk!3Fnfb7tO!4GU zs31KCqAW5P;ewb$FH@ZA%~cZ9vE`1}$;Lv_X3DAoe$t{bsxSe>R@<6VGOkU9P&i=lgobB5-*}5MJl= zTMWtByS41=A$qr#(fIy+5IP01pHOeK*YmRog+%P{4-4&Jtaoi1wNFq7wbv~{6e#@V z{pD*&(_+=oEB>a}@evNrBwNUw+~iu~=KPG<7%gIdHDs5Uz9iMk$CuX>?!U7Z5E+F9 z1^;P0AMl0Y+__bEKkE0ba){#Lamz?ZE9J9`{J?;nW2BFRZ`Tzv80zc4`kLQR=o2HF zCP4MCs%$3``tRj1VR0|t*IiH~68wmXujbEQ{_(^YewH8T z4N=)#3?Og7G-O39GHF$f7TT$0BSO;?GNA;(+^DFT95;7r;6yzFyQB}N`5qM`Ij823 z)s2!{I2x_~qK2{`B!gblLBf{12eYt4B1+6E1lf-|H7Ja6EE7z6gkZ#p35DtZRtoPF z%Qwf|M{F*UH3%acpxDg1Dmzf`E38v34Q0fEKvm^Fv{cJgP@qH6s~j1jD4P4ERP4<4 zIWm=^;VV|Kx)CanG{xBGhWC(HQk0T*DsJ@Kf*Zu%l_Z}rYvT;`M#&`>*2wN z4~(AO(`N5m-w;EE#=Gs`-H7QDqV%3l#??i0?)!-X!b|=AxRF?VLf;WGGXoqvNH{|N z;E`AGqjonaly6$z_Rr#0ZcoCB-!dCG%G+ivkzuzNL*GACZ@Qu3PCd?K~fj`0nf?-Kg7--$%&bFaVnb^ZbiT>1Gq68gE#VMVQ zAp^?Jf4?ksLHj`-%(rR5TF+yqvmif^tl+TkdneMSC4fG{&1R%b+1$kt=~8o#G2TvK zJz1E>V#y^b>gsXHm5~*}F91YPR=L;RgGrXLRVGonLTY*&56z3Z5o?QRBqZ!lqDY9Y z6B?{h!d06`@-gZT0wEfkH*IfII~qC=5!({F6awb0Gfz|C^LQTa5OuUhLmlL&fM!-9 z4O~MjuPPF{2JdMlY$xpmj;t|HI)XQ>`?CD#JT>YJq~x7BB|DtLj*hSCqLs-jbsSf! z58gJN$qb5W37z`vw+9ag%S9=snPKhB+F)%qPKf>+WOJ_{1xKq9laS;vTIlD2#Mi4X z7ahE^mq!d>hO2ah6B<%9^;|Vus(Z`W>#SzDXhzJS9m5Su717<;q63k=%vxtmt${zq3Mc0Jr?MZ}Oj&gsEor zH3#}l6gu%Zar;hjb)8!$U?2v>%tXuuLEUhmqfK9Y4j?(8yX?Nj)F%1u0*ZrGclar&W zRmfOxZAI4sJx2|Bc-+U61NP(P8WM!9%f9;SX=%LC3@wZZb8Ke^$_+WAn6YPfOH3$n zc~WL5%TsZRU=nB}a{?qcH8RVsW;ri40*4t?uqQ?{?0AS?oQKJ(Oo-2=ZG#yK-d)6&tG4X?k&Fb$k8$TQ>bx z{hk3poVV}I;f!q?D9U-^{kW^B?0*ChNK3gpe=pV6ua4TLBJXC;B#qQBR*jCzy=lwF zC>Po&Bx{p3msdjxNw|{jKIo%8U4&sn3dpB8?r(JL%|bmr>>*OcBeOaEsQ05EStlXG zS7~E!3V45qtyhBkTl@R_h`9ks)|BfDmETUWGQlTbe_+?$qo!@u#fyH0T{rVyz z7H99?w8J<2RtN$b@Fulh+OGP4w%?Sf0>cJx<{;y@XM>OttENC0=X04uCq=ZayT;nJfq4&s?4Sp3HU1M#&28%HL7@) zGu(m)GZ9LfY3;W;TwU|royjLN;P#}fY`|H*TgOil7f;q&;{)s?;K}iTfOl8U1DCv$ zT^~+ZzRPCyvWpj_l=&^X{_aXy)eY?ySy8!6K{9bu`(ouZxD}5fTNx4Uib}SBJ!sKZ z*esDw>@Gd4p2@~`^fy;$VG`lwObhi{&Ke6BTz zjSQ=e^^5G9!*aKo!-8?`G3N+5_o}w#)VxH_UW<-Js)T<``tTBh0rynuS0eo^f5WaH zVSd8AgimUz+bz5Ua`Qn3O{n{?by?tuf^JBNv&rF*4cokQq@_q(#BD`1GGg}#wuAZ+ zcMqJUJWhwQdSUk6f|l$vy~r=!5wxE}9@j*gcyWB65fz}kTrVlbJuRNikahZ-ID-o= zZcMI!r&nXnEKz&gzkc=vAW%WV8S`*Ty7;Xf_FP##q{kZk0D?V4GmzhHXxW4U z`#WI~9#1?2zp*g{++V)GW;_vyP5#Yz9RVf?xLeaE@3SCRU1>fMm0N*b&vJXC6H4|n zw%oGkmv>O9Id5?u<-Ol8ek`K(HCQ!Lh%ctp|7xXXb=BPoBQpT7l-WwZN8&}-e&_#T zCT;iauJW@4j(fm%Oige^Em!V{m_$?bqC$P`^uzs9Qglo#9$yvx^fD^He!5~F`0mii zicaWrR}sOe3A5MONS8%ed|IosbH^FT-?w^<5y6pg_&Wjw7wdO3z1kO0K+)Q!gNG0y zn^`~3rzx7zRCn}@d&xBSkP+aPT_3v28@D|n?ws0t!2Rr+@$qek;6JKd56R>}>683z z$~WiNXmZ!}StH9#h=sGJiZI6?$|^+nQZ+LbeP;Eb|1CX{xpS1+!a1RtUTAwYaZAM= zu7Rzt>CWvBG4M|6p3*|8aUVso|M}i5>WZSP{Dtz~XU#ugKxXwkZK!LZr}S{GOV->B zZ73>Wh44~$7-IecxNGasvtrqYF9`n9ZG@VC3LNHY>d2*AeYwGyn6#Y;RYVWb3c?r1 zS3QIyMw0S=d(oLxqprp++#B|f-zW{Sh?RB0-s@vkA?^l}ppZs_Xor3wG*@RsqAeBx z#qZV0tL%{7QJ&m`|KxfJ5x4n$p_2#h!aV4pZ$KU7@GB|rw@o`%*|1o4UGqq^U5NqA zeqv|3<+ojL2U|(F^6SCEL#iSe5-&{fv8+BqMKyN?Ku1&N`D+#uXFPYQ-6c*Dbh?VB zw#6~?rPi|ly8JPp+6(GB)AN*R(tod^t(yA71!v@%^@o3`<}_Hj$v7P` zBbx_5t-9n?RR=2&mtj(E|X*?0=QZ-=niK4*QOIgfx z4Z$NYY(cYyMrvr&n{Xh9cRqOL0fumoC(BKw!R04@=9F;JwUmJdJuPE3LaPqUPXRT&`=f{<21)YJl9$CvF2` zUjgzkfE3+ckW6<)$eTnualOwG|FHzv5Jatj3)nqkAUEl!^v%5}*jOa+lKVR?@NeB= z1c4p(z!4ZHG5YKGUND#4cQ0S12nl=kcXt$Gy>kBI?|uw+g>}7ZU$Tm>`$%2J?oayV zViZ)66)KEH%Q?(LhjV-W>?GCrtyT9G-B(h^g?JL?iI>@#$cX*@d4B$T1qHufxhDvm zsqqLS6#m33vj4C3GYHt<|M0OFRo9$$V8Iy2Rd2R-3zpFrW5jjF+D1C&z!Y+3!U5q? z1md~B$pHoA|H!16OVT<+GeKlSgu&x6)yPS5uwZ-$x~Q&EC+D##5ygxi*oZZd60DqN z#Tt{u>d@nn3S&7fY6rI9m1)UGquTfle8Q>Jj9P0zXqOb(o*`Fvl*!|2*6K3X1bdp_{X1#foAA-0EM9vTzZq-;U}dt}oHzQ> zm15kLm{CLQzbl0OlE(3rPE=T>LFZf6AdNKj{bWZooVP05zBi)XPz_3|{)GCq>uujc zt5kj(Ny0wi&x2-~>a8nuc@zP*b#L2@)w&3PKQh?F$J%73eo2F((hSTVbqmVZAv;T8 zTiIIU;>r8gTh_W<~Z^QLb5&tkf~6O?@{;| zT9Ip(PDwJ1HaL_$*0+TMWRz={QMkyr?Eiz=NC=NkGJXB%sLB8oZrcg8Huu=C;Ab$Ak ze9iJhZ@ae&;KCR?Q{DasN%jD2Nv$>~&Vhk`7!@ZESAUGHymx39Vs6oZZcoB-YVSX{KcT~F$uJCl8bz`*wj=3Bqk1uB+~ zJd5AH8XE0T1i{m>`NZPov5C*%Mfjls@*IuYm>VwR2ZW{iYdTkQX{Z2edbJ8d?4pjJ1*b`cAi&qcz5tMA@Oj9uc4)bGF2K$yp__*E1=AO4@~s<@#9diAf%yTuBv zVsy3db%~rHQpLosg5B?0JJ^qR>w3N`7hh&5UMo#)-e2gMIt#+$@2_vL!iHY!`Xdx= z>wEsxVG-@ffLKtA)$pqr0AzNlweSCpnQ!37GMSSMp^tWELQE)m9ND`U65nfmVFk#H0YjZM{~{`tk7wOpJ@_zubp%ijCc*?e zed<%ePEbUK+y_p_dp9ln^%3Je@9_bW=Bi3_G>(qPK?q`VMeB?)=6+8#W@efDkI)ss zK_BSPI>{75c4*L>_qOaU+}AB(9$3}g&<=dlp8d9An1t9Dt_QW;_2-Um zWz#b-`N%HU`hC6dDEn)MOJzPaGcraqQ~?ljR8Pd6ujRIjpJ$0(INtr*aM#gs-jBoI z{-bLr8^rVOz}p+o$yB!)+kOz%YMZ44PqlVxiqun3=8BD%^AfhRVtWwy6-Bi`3AN`Y z{+OxYm&@A*G#$pCt=_(FM`kh^_2$3$4A0rHUr8dc=A~($jU)LD;Y?qN2l)49{;viuu@SrTgch z8+P+D81wOe*_fzUkkIe)eHs0|`cD}#7VB+p{l@GpK&QQbdk6{=JV(|0@jq)9z2)*{ zZtUt#cee@02UZPawt0FFyH9V@z(g^637l;E1GGF=_+hM!2kEVc8LISxRcqrqUiuk?S3I;^m(MZ(W^ zqPrqsaceW$xX>@6mIbLe!^0}Nf7=6JX1^y!h5az1%j5V3woBZCLYRo=1MI0F#r!8+ zur>RFYu^71NWB{63iJqd6;RO{$!}~-*p{zJ#fbtlc7fU#&HZwfDZlTnqSU#|-|lu- z$!G<3XByL+yY2aNf^#x<qXTbN~LB?^Iv*9^GTS%;W#9C1A|r+yNy#I zKz^VB_XsmWl`mdjWjq^1UltH;=;*?-q{IzKd&6L)Dl1;=@&2@ly?fv0GhyRXe!UEe zHLCscirxKIXCNdqzg@FJ_usa@z^fE>>c0I|#R41Gz3GrwSglql)o)+Q7Aw~M`Cx$< zw_WWuQ%(0ch z1c_4@3@xsk5~QccB52AxWkU!hR=Hf2*igx)Uj{V@YtU63y7*Xh5&@Uh&+ka@igHeJ zbQOVjtr{`|;c&rl_;j6zvnyG7lbFVJJU&WMjo8>t_S@sds&q znHCzUmYUYTr$@bUxw$t_N$`jW0{?%0rek$WN9RuJYae!e`k!*TFGx#%pK|zo&he2+*%tJ^fLS^Ds+{q@qoh|mj0YQS_(BUT zUDR*GP)pbl4r}?$Y8uF{DoGktsn#Ag{^&$T!Di7@sGJ6GxPRm&FpU`kRsTozb)aTDP{-2?9 z^wu{X)>UzGs6KH9ozSt;QeRKw33GBvC4HSN2_qZzF$kR3rT(*}*d2&2FWZCAtXm$w z!X8Mh;k=V>(=x9O$NB$Td$hK+d6`w#d0w6Qq2!bNHN2~T;zg~XLU@h6Yx%w3_cyCB zq*xd?Dfpg0_2oO?r4Tte%!~WEEfp>Mm+KYQ?;Z*3*U8!e3X>a>Ys<}=!0St4JbO5h zv$6;^bAaW3q3@Yrn&{#&9d9I#7P_2uAoi-U_o0u8c&U!oR}3-lQ&GoLWc+>^hZ~S; z{Kv7#I|5mk4q~-_cTo|)BC>Fk++VVR#WJ$})E9iNFfyM*yLCNMmyLRC(g4!v)Iv^~lIFHhvn9dA&YdOa-{=8iW`NiQQYbFkysy`Hjq|V)} zmm&*OK;8bUZW2c81z!h9D(=IXTO~Iq;i0Pw3PrWliX48+rkuNv!0ORxwa6R1ScleI zvxp7|QnhXm>1!A5F9CV{s^q0?>tC@aJMp9gy|!SM3@Tmd54leB!ccPCJMhoY6Ue;d zqS%5rmPJPt{|c%4ox~I`&tN$j1Qj7ij~ElwweRC<3#-pDD9EC?d;ZoYuNE!Wi1)ty z>Z~i(SM*Ya3a{Vu7EM)XKPURCt%zIStLuJ(I_uUe)m^LmxXyRHy=vTEROI3ivG=Xt zxj9f`{rmY4!lDHl;*CZ0>#g;rAd2_bIs;{U#c_IV?!Mx;y<#i^6+> z2jqke#rsY^(Z-VReO4E5J}F`Fiy8oLzpc79+~1a|#OP$13b^#&tyKslyWt{wNe|j$ zRc(4Idk&-$J5xF=DzHN>CZKQFVr2AI|8J}wMBJ;VlFoF!;bb-;1z60HUau7U*XoSd zNtv65L4I5LhH4uTtTuVeo1SYB%&)#mm9wR%38h%8y_%XraL={X(P#)&ra?92BY%a( z3{}m_+>5=Mc5d>DUaHTwqgn8>+N)M?ZuVSXK>^w;4sCEe3)w7SsnAHRy8{KtxTm7l zL~*Rf%wi^QfWB>Yro(zv+#ojYNRp>b&CW??q~@917|_$HfM~*!iA`5|B{au6+P4MI zBsiR|8k6cb$2uowIPG6~A+Ct_d2pVr}SDBu&etDrVNn6yl3{|ZpD z++NN1?DZUDo?@s(N9o?}EE0P_D|Ld4S3HWX;qnJnpnL9HG2DR9^On6&Hzs91# zAp6~9 z-PL;z-gZyg*R95^Ddn3q6KFiX%I}n~Ec>HQtp_t=!z7PLTFS2-XLH=72yBV@w0<#? ztlACru#kqEF8Wy+w+rt3QPft@@jHB*Xroo#Cktw@r_qQLgNa_P3*mO75HJO;BHsjr zcpM(wv8RDV9>EMEcRhyd}~DSyQGQm_ni4U4*{zi63C?Gm^kXoG(HBi&F%JT*ttz7 z1_!rxe@(_u4xh3zcLLE=4i_es+QutC$G?0XOP*6bQ&=&%8?nYca7d8#rpr`NLna)N zgOF2fGq{$g3Q`WE*F~0QEUeafX=*b_oq&P$;%pcfFhq%t3#Tlr6#+m^9o{-2{l


qci2#l72^etwp(7sWj$2M?`8U?zq5G)K2o6G-w;R3DUAXGssmQ_qb0zTrqUS*g6 z6|D7Fs_yIepqyp?DCg;~Q3GNJ->&}L{3Cvvuu^4TzjuuSLaqJm?-#G%xl#F8AtOI` ze!)0i{`mW`O$^^p-@)uhKQ~=n<-+%p&Bc5k2>t8VzsQhQ();=mOTN9+>#Xb}|E55p zmEN!N+)};+HT}XI(4F8LDoDD)D!gEQNY-D)TVm(M@f|6J-t`Wnj)z<22ERgk*W*J4 z=4nb_biRm>uY8bPW$r;<=T*n<;k$80&%4JA-?r2LVOkWMO+a`wy4?8-pf{C@?qBem z8U)V11EqhWPUM5NvZzsBIw=3kPIXj;5$>5X4O4btPcq{e8-C@z{;=X3@!)!o_;=3Gg|ReQzUGb8ZbDGlgtgGQpLFnZO3va#=me`Qo^mxfR=|? zDBP{80_EDxz|RP&DNxgBHPER%8Dkd~C47Lu2LZ$oNibM50DalE+in*-szn(Q_4L3J z``v8R5HPi`PAkql(+L|t8rY3%JdNGO_k`fGWiwf-6CW`1 zpF;{(9#y>;TF#o7y-EynRWsbw7}o?}+M;>%BFtEqxcTNq9yLm^~sn$asef*->tgu(GQ7a#7Kj@ zlVZ68MhfvwU(o`U1&yMNTu{KXuCpsA-CJ7UY4#W5()#$|xy%*4k@_sPFBL8^ft+lQU zuxm1WoP)qf!HbuUg3+RbF>S*cxkRD}3Av@US`TDq!Y#xR0SfKT$T(w8o1-yq+RYaD z*IJq7Bu+tnLJ5?XCiuP)8!yrcd;ZPbw+tUulr`|7uZKi`!;KNTV_OhvS;=rtF~R0J zDMDD&s=GRp?Jg|9Np+BFo%Bqi@ZTOwK*Wp4v_^eYe9oIyqET;0C_7%5M*qCopQ{Pd z?xDXZU?;n`A%`id2r84Np@NxMjz?CTEN)G=-1j5f!%ob7rtZ--9v2+pN9&@P-7jQv=M=&f>d%85_GN_wE56<3wfGOz0icC7b$ywM>k_Q`apE z^1t-n3HRc@erXkReclGz;QeM=#*2^5`HCvh70U%zat}pHe9`9Z2lvxq0o2%OsV^CQ z^d&S0@4qfd?9OvmK}GSNdpZ61RS5vj*Pfw7#JIym$;0V@HM)1*;5+*2C(7iaBE8^6J{p@{UW3PDh^M_1glnGDWWhWjnEMsi#w$+TK3A; zFQT3P%JZ{^OobAcL<=yq(-u>nJ19=^M%uboiFzs97$*Tv#PFO`@BY5|u0pv#XYmZe zKSJ4C^z4^3KNH>ww6R%7k(AUEtA}AD#nzMzkn_LtnbmdEMQYlDxvKOIm?Hoa!dC|H=A@9A^ zj%emSqBhe68tYrh2DfHY2_0(-aMla3>{kV)oAfx)FgVmt1FlMDTj+P z5MC>sZW{-Gl?L$k@|ZLb=^<$)iU zR$B~y^NP2+aAeVec~q#!Nt_TP%)g^HC&Uf<-1y{qdCzFSo7>nMXP*%j;p^2x1cprG zl;XwWuae>eAL(#O<yg=SS@#D~1XrRxzFtUB`OMM2zCIM+jzdp((|U0pkJs%$~1(HD=lJ zwW?6iebRv%ERG6~E&g=Ei-_t0S>9QSmcg3aC1CVeCz1Lh zYZ_-#Az6jLBpL_@>*bIYx4i)FObF7i|Ab#95U54Wr)J)Et--9)9F)5TKCp+g`o|WD zU->_OcO>Y)oU2AClp@eq-d;Q%H7w$|q@2|Bg&5c@LN93tsG68!q-%_|CHb?Ag(IXC zs@r?>Qk{Q40cvIc(=uoXtjtAY@r{D%w%V;C8oNz$Hr^gaXU5i3JiNdB);zVqq|%aX zPjSa1&c3;S{6YuHF)JDiF7gygG zFa3dR6J5Vv*)b7ct||RWV2nc}Qh$84Pj=V)oA>5MNE}SUb#%`J-_y~y6A~|117Gj|5dI@GQ5u}j*%$hg zy*+uXI2?3`@v7Z}eCyB3Xjb|SQI*D{#L=iCf;0T@q`!qvGuut48~#+5`WMaq;?wjo zo#7L>D^@aAIP@m7yL=Pg1CO%tL&0LiF<(JCugi3Sz9m=r||z}arA ztz}b87B|WAe-FEuz1%huh zx?xx^B&J#t&(F}N$Sndv)*J6lz#}&#-{(|i`301k zqe-Uok#Z@lJ>&e#8N*gY-(#uhT1&MjL3qc!!#g^q-gd11%souk1Iq(tTT}OcjN<Y2pnh*S^|xO`7W8I;FIqztU+E3}qr$)YLYa(6?75&hKQ$Zp=Io)2l72aJcYM&L zH*GpOt9rYm47$PlI-|?O5=6(qEDV6id(0KZ(YsqSwY54>tO+KhL=edFqo&w&ecRVm zxI}l^dgO<$SI{?kBA0MhUj}%^D1|(YSbpU7;ed>CO*tom4C~ob5~~olB=E7fheB~7 z@3(nqXqrN#DZ#tHSiut708*YctrfTNZOdJoIO8#|mlV}A5`xwb`7qUFvqpbE206g> z#4tqIeBFc-jA~Bjc_;Ox&#ZeqMWK7O(as}?c$)*V(hSzaxT|xDZi{_$`I)WS!Ti15 z!iu(wtxUMxjpdI_6|)8*j}&*Ij1?%ywT>9C@itX*$BKK@m( zAvqs#z-W8)axE)H$$3bpi$UNgTUO|#;kU&p`J?gX8#c`;DCoJ;8+4Wn$h8IP8r_Ox zTw0m#kooH@$IB)V@+$LSy{$LKI(3tN@WB54ywv8o0j);hh$d-92s261<&rZcXG#D+FPMLq> zGlfKt8LvT=5tn)O3`m#j-+lZLUib3wLmEp(O0CycZ;?I7Mz|;)s-r!Qiz5_eyX0pV zy02{^db{_y#a1h?-VssrDtdc=`&8$vPTKIbPJP#2;w%%_t3n)-$~W6d$QUF0v&YP& zIvp@H#~b$b?6z8=PpnJ$58ezu^nLU~xDd*!FA1`)q97EZZl6Yeq4?X9CPOEET0;Tn zbqTkdi#Op_S+mA`=FsQ-CmVK4X6b94 z!-uThtP=5@ZM--sr74CV3QyRZ*IXn)s_1&j-G5Ce%CrlUA0B>95xmW~DvakW01Xxa zeMw%evJez|W7M`uVvg|I``5K=e|CuFE71yJnqM*qACQ?!c64QTcCm-?-Ail?_U5H` zF8?Y;ff9`_#G8P#{IC`W1W1G0-|DJmHj&Zv7{yvl9ReS6JxWoCqX`6WOYOs^>#}aw zpUd~{pRe=yj}lW{)NBa##=*ZN(*^%xj$*9Ly$0Kxa);y15+CFoLEKTj3(`@)r5q#7 z&S>sBn5nt)Oe~-B4YhPawVC|W%8Na3Q48tA*NS@9H8($z<%j)w4~8pD>mNn^5}u?T zn>g+Me|jdt6JhkW2T%4oDBHu^%Hfy2Frh^nd9G+p552$p&wAt|mKw`9Kt$rs965CB zb@=mLj>q$anl1kgdeJGC^%wgo>LvPRInM^GU(!ohKhW&E`$qB{N);`Do9qY5Z zmEi_i6AjdaiHyY-F1K&xY<9tZdH_%Vf7Zxmp(oJ)ED*ZSe~F4;j{m{`L7LI_4mh~e zCd^LJKiPJ`IxFu{G6wrzA?$Te{LBph{kl06Bi=u`>Cn#)hqcyNzki`TKv((VcA#7Q zf}@yg3}uUh7(|*eEKW$r*1e?L|3Pjvo>fHqwT;KDR+*`ZVDHTo!9UR3IO3?{q5U!M z%S%%s_f9lPEKl}3a<=Ef4eBtrez5UyQl!dMR)n3L|#jWtra4C&add+g#pR(SMe; z_~}Q#kBun_rP0qAHy}Y4i*U}}erdUkM~f-9{EVpZK>ziE6ifFZq!v>r1+tEUyZmx) z+Wv>KfBhM34TGAU@Z!G&&DG^pLmyh||Br*>vVd%u{?RK>^gFH#^`2i-%qfNEScXqJ z^3kT=I+k`XWAJ_-=p}^wx0uuSV3eeiqFSWQ5xsb$n^XN3VD5i^u3w4UC&sMN5Q*_bwuof8vHpsT2f{o+=xw`M5?qe&$gKug|=Y{*(Fp}>HW`Ozqb3)=Ex^_Bj+x|od+6ELMEl9u-JGIpX z@S;HIZ$&6=L0GDUtKQ9MF$l=KR9fY^RH*Nq#Q~!x1RGEk5)cth#)S)xN+*Lp`c9xX z1#Zi@=Z7=nSq1$*D~Ydn8hmuqi^M?OW#Zfb6^A&O5-!`-*#MFV!2QW~cbWO$@y<_1 zOkv>=jQh$*uwFK;QiG%(lRL&TKKV}eJnu%h50nR-7>uamFZ?>7cw}ejhj8?P+Qw$M zcWvr7@B#OU8v(yvJ9RYw)68F2@!+nV&5hKcY*^i5zB{eUQA!)W00M9WYhqB?=>`f7 zLagJOWcJ-vU1wd{Tvc7=X_qTklYC3>L*G=);~eZ-&R?PRjbi_Ca@Ro0c3FujFn8r$S3X9X4qjgA5YAOfr7 z@;ZevsD4{=QEr!s?6XCC?a}(%K)>pHb@0Pg#Y*T}y0o2$doB1PS;DTOXdMu3S_c^F zr-HrF7l7%2qr}SAY?8;V67rUvr>(@*a`n4Q6_iKjbEB3#O#jlg+;mH7<}AoMiSTL- z>JT4*Ko0=({r~IsJ}%1u5GjS*a}Xv{xs}uisjNMb`hB^zKilYH+h7x*KWlQ* z$zlP*mvUW*5LA#AXgE6D`;Ax*4MlxLVl z>OU`*Coh&8%S)CktHYUBElb7td)8kp{s=tzV1q6A=qL{hSW&$C*N3+g!&zgQt|eV! z^$1Dw&z1$evDlsxF2M{#rdhp10%TeEWUBUAg0r z)Azrf)!J1nRVGWkOU^xDlU`1(QaFmFNueX(IteWNyIxGHs>ps#bYh9jHHd;|vEDoy z>cf(yCLFr3Rr8%>5Z&o#VnMp^G|z5s=aJb084|}7e^lPt=7bRlc$;1UM;_oZi%4c6 zk%V5U*%F$#)P>2VF98^_Dy3O@r$`!)jAojbURt(o)lL*&^pV;+lY- zNs&z;HLL>>RSZDLCV=1-gEe7I8P_%Zr_pst24=KHDB!bAAuIt-C~+`3S7R`oW(RBS z-}TAWft&0BQ+LZ+2VHUM@vJ_3cWNt#D2(H;AP)3&an|$E@!d^tyU~9+4Dk5RR(m3N z%-ap?9KL*aIQlO-s!hd<$m4am=P^#FaGt7;chmC6ixvC6zgLEPTuS2tsP3 zJTB^L_k~L~E}#Jtpc|YW2LVGV7-$#@g;&0O{@r|j-rPCM%GK_w^}SNHQe?ZtyyMmh z#zC4+z=_`05ZO$}n=BASDpK)&j3rMxL1uNwRc>yyINhGetKQ_z5^-yCVK^Z-TVCO< zN$D-qL^C6&*()uho}q&wS#B4woj#N63oVsB16FsUSI&9SJM-L|muv?u$fF#yC@)kU zz&igmL1!CS95FfpBvau15j?e*f$A*-Oluw?yApyamUBAfqlLEcOfGm z9RGihWH+RDbuo+s1AU;Yzxv=v9e@SMAIK2voLS-BR5_?D` zg=%udH#tEQg-=cVar5u+`R1_KT$extfB*mi`9YdUU}xfg|N8a+|NsA+&;S4bj?3~e zgG;~v{Ju~B59N#0xdptpn-1@g5=ad5hi48v9TgzT>VU5BNs*T`TVzugd=(vE>CEpMTsDR$@G6I z`z>N*#PVWrg<%-Ud}ik_xg<2WpVgKjPh=B|;GjGT2Q*_M7j0|ozYSIT#RN*~qayNL z!b}4n3QIr&U5h^!T4c+4YZ9<|A~MN>9g$6!%Pm51Ox7^hf~)k zy&H0L^@!Hu<#K(=)B6{RQafVIR@k>TB-02|S%|CROTL;iv9Mz>_r4GlsE{j!K_IZA zvw`iiRIatoQ%oyX^88&2<;8BFF-CN4?8v9RnDa;~>t~W|SEE@)>iD{U5-*>((=}nP zFI||w{smGE;D*^wwr67DRaS>=dddfT4Rl z7zP-{A(}8fr0y43=7aeqh_&D2fJ>+7Rb0C(F0$3aM1(ak3o;U>=f(NnOY6R_OwB2O zUK&MIb>06?Bxgu@ zAO`Hf3d>K8!kuYJQ#a#INmVk**(Ihz0000+7OG7rRVTZCQmpr&0AFPVtiZ8sOU}E?V|G=PqSDgRaWfR%qnvn-E6hKUjS0n4 zJU%>r8P25Z_WZo=gHv}aPb=r&(e(VecJkKX&UOF-R_NnpD9}tu6$M0|-?xj_yz}q) zzghMAaqaKT<;8K5U1do+&MR5<{V)NsGH#Sg{uG0Hfi6$VWx(g&;OA!6LnO-sk$jKk z{g9O{4ck5-X*ENWM=hk9I1vo0uApQH-=sz)u4+BZjD5^R7|IA=>d8ovahBt4*NZdR zC17rxH`v4xy$1Xg%J?3?Rar5|;cX@?JT^d+_WHoitRyOsR0PP)E)pip491N(($x~Q zDFwh(ooyp+`0axcoO@trl>r8-z~IxJR;waZCvK(Yd$n4P>#?PC-Z(0;=}I%*mL_f% zi{$gt)DPVMH|J|X+^^SO^MeMwD`rtWB}}SiGIq}vt&oIm z1xoJR<=W1Tr!fFehxe43L0~jW4}CN*5$^Q-NlgF%9Oo(m3ynem-a?+O7-yhk8M|b4 z)i*`WyCD=85V&B#B;iemZjrhaW2gwoB*ebwYJ%cXF+~y}pb_ALfuqGG06mu5usLR| zhsaJ!6z03WpNII)bt|tM{eK#PWz28AS{=OOVz$I<>LH)Gc0Z< zCohn(D!tUazc1pkJ}38=%QiMPE7sJUW=fG(N%6iW-1ieU+RI)q(sJdZk0%RVkl{wC@uOWya?6A8IN0AF{MQq8FaUQu$2_^-?HF(jTZts08OpRstA zB52O6sR7@YKXH4T;vCrUXCV^UA867&COkMgkI#aG@?e$JFcTN z;sl(`R%Qzt;E+q*_KH?BEjX@&xH`XWp1(pxcX`-NjWTdih@`Ws{qth&w$H`l^uk(!kT&W)W5vsCZHt6gn5Rvqp7z=Dp>13TBS(=V)La;VGD(=`*EGvWOoSKS0qp}* zs_DfHZ=-hB1ur+&8?vu?m-t!3tCljiuJ(X__qJ=(+U0SI)yv`6*$a>_Tvyd}&Ntl| zT(ZsYvNnuVT!9$O=j599wVZ0CxWOMp^h|q+)2TRW2sDz=;!}#q&2AJ9sTL6O&KqG# zEC^j#kGpl*4I{{WQS~kLeXh(f_4r$0m;WbQ_b=UjS7=lO=mzS|K`9VQPc>hEpN#u? z-&*z09^YoZ-x!H`t?{zBsc|PCn-|VcWt#@NIUet=Csqj?`T{&NgZf`1U!mFYDDx#6QBTMMo48T(6M}+YE&@`phWU|_JP5(35hu~BYPo+Tp9_gZuieJ z@NX0D73t4D$6l8=3Puqbn7lYrvXxa<+uG|ef+y+Uge`d8^mNH<-ndR6tAf5FMpoR{Ac?OZUhc&;Z6S z*Xoa}ujeIh{;!r*3&tk7Dgt0Zigo8)`u=k35&!|f0009jL7I?YN9FSW$?wgT)RM3={*g)jwaC3WA20k*o}P0A)lWa( zh!TBG6cATib9I-4?jZ5!PA}&Ek7SW0fL+4jkpraIRmuTHZUaKIswVTzgf{|=x z1ECbi(r-OuqP1dPYJedd$Rcu@Z>>3Nvx%o7K&Vu|iuL2qAD@Exo&0*9d@@cqRmSe7 zvs>3sU(fXb5)edmNLUE~=!x9mI5H*uc_hyMJ*5X9xQGL|oKs;Szb4rr9xo1fV39kV zoZ`vE(OVDFRy_WNEBYe0A^UwuPg{UtG1QU@Zp(fQzj83EJqy1vcr<5<-Z6gigN001mO z^zA|Jiq>21tWJ1nMLOX^aSrQh3sz77piPhhM8&E^Km-I*gbu#>5rhaqvC{3CvzZDB z00W3Q#i*t?`x8E@4R$=-7VHed-5q&#AON&5)(ob0AOwH`U8kHVGwV$87ewW8Tx#6u zy6h&h0Du4h0CT^b%p0Miya8g)gt~RQ$xbtJ%)B!KKma8`HwZ&bM)NnR`PUvkyf4Ss z=QWKlcT$?&)J<0@p6An_?a&P#Um{QXKzVbghW6kg6G706`uX5 zMf@t&cT34*@D;Ei)8X;-Y=wX&q|y?eT9`Z&{rba}`r%eaZt#8(G?2q0`FV5|4%nWO zB*-e7_-d3w1`mPgh0B$&2w6CfFrgf!%b*ZQ5v_eO00DRKfO$?JGApKeO8A5-(w(sp z2*S+D@w<_Laq#fD-IXgRIck;AqM}j&GgC54vdzc_I(mrm1sEBjpccRqI+9E&ysZLw z5gE;hrV5&161ilh2}Ugzbu*DtwlrcPa;h=kB7j{@D1ZO~yd|BKgh2rT9T(Ej4uOCN^Ly$|8UQ&f1Y}mgyCdYG42(DQ&9F9N|I* z1R2V*X~vZ#$k>Q(SwZ@G2mi)q1-)clPm5 z9*)Zi00F=N00VA8nzUd?<^TTE<5F0^*S{k4`G5ca;ugjYy#$}w-M{VfU=O}(<6r+T z_?5`N$>0C~|0nI3h2_0dntUY7e-@M*mEKiEWY9fCm*)`uUjVC|L$iHR(yO(AO z&0~#5c+5>_^1pZQ*C&;A@jv!ah7&y&=E#jEf6Zn8yA+0TE9vxH0~CV?vR`nPCQP^c zCnmCaZ)9zqN5oqYaW}A7auoZZz1O z^`2P?*?djNdWg#)zbu%O3&rk8Myf#(?vZRq*tN7fEUrTmI}G&*iK}(0bmXxHYXY{m zE?DnK?H@yq<;#^%f&^Do52#RrMzr6~lf^j{>HQhdHteyl~d zQa(b~Sedti8luVj@i`(x97xHh)rh%sVtl=qK?m_46C_A6wxUj4U#SJ#-k|_*75!@0 z-e??KXOT@EF&9#xG!M!T||1&8DQT_XsYQkHpGm46^o&C{S zv(YcQ#K%O5m1FXL_rCpo`8;jNFUjulcZuk&ln@3{0mX)OtdW_a5fL0%h@Ia*tMp59 zko<_UzQ(bBZ$xO!ATd%ZIIWoeO>~P~`B8h<5Fj8Uzpyb4AA8~6AS(!2NYw#`_eUqP zPIV0IA9H1?8aH*SAsf)dV+hsPj1t`x-83GgBO>;nf}an?N94=O{N5(9HD#$3lus*l zBK-2=ebk;+;bC&8s<(b0uPj^Cw{G%_?WeY%hy`eyI%h#0IvG?!zmOok>9MC$vaM%D8L3;b>lI|@ zs_KkX)FB(o0yBEI|M_qY%}~TcsvnOV`1kn#U-$R*t$OplU3!wL?o@HQ&0clAO=lkP zXsb>cKVN)oC-4*0Wc=O1$wjI`fhUyFkRJ&rz1xsBJ39=XtEQ7yZCR?du1_7+G8ki- zEH@8KX8JX-ERRR@d83H%J+6$F#W;g?{>tYB*8{aYHfB@=XhTFQq8{O{?vI(y`TbaR z!Y0N%n(CeXeH%J_I!(uR>@TjvP7YEfZ8btN0<9{?4HMmsYzgLm2{Yi2GD9`xN3+R*8=m5Cr)L#;Bdyc+#-ut1QR@L6bO>(eLW2+IaKx0EoRyZw-AKtNXaTLQMzW$Q-gF?@5<*88Wv+2ce9Unq*1yNz_;S63c6?*?Q5 z1lR`T#Y8YsN=`o?Z!`L9&)4l!k5&5je`}JnRlrKkUUj`qXCCk#5I3F=5 zl$cL{$%*m-6CKHai2m->7azmOAeU(98P{iuNq~Lk?xw~jQ+CTn$C%^^=c4mlB83vz zG^2ike+`vQZZI40TMU>DxB);1Hua)T-aYc#U&vC2zZf*dQp_Q z_v(E+^Gg}6@Lj6E>I|Z!y*o#~=*VIRTsW9AZvtz)6{7_WyW9f?QmbmUusxcnhj`MQ z#ftE?^SjVe3FuXP9@U@hG5+e*_O6!1@wA1%flHw9Gg;wjj%GQd{O#ekBk$jEwM0Ox zcUO0F|7MS(>+PNWn|o{z53!81*a9lcnDqDXlE^Pt2(7iP026WJ=;_|KLa+bKy`h18mrilKC)8gF!FaQ7gAc58b{zVgT)>$-JTHN~<-48Q1GRUOM z2;yrjW>Ynlepyx~VJOILnaU|hVlOr8(6)TbRH%afC;ZD4KNm+?e7?xqq!_}yrRUF+ zzxfkvV+c2%s9i2r&_T!cUtV7q<74p8mgFyFn!5jHPwv37WzQ$`Pr^fG#I&|zM6Ol!Aee{CHJ8W|6;vCkYh77{`>k>~ zjrk%c+(BZowL*1gG= zKk71z-Eyflo69^#@g+;&CK;;{ESYeY?~@4o6_T1r-H+I`=MW5JWof|f=D>sBFqqIN zDiU2+Fue51yl#ldxdiy0QFV#(d3>hb^!R^-K^ksmUrk_*DUea&7%jG zbW7Z-WL`udaq%Lc@1Sa^#F-3ixhr~-NnCw#fP%N?=Ojc(=`9N0!H-l$U5`*rx7FUq z)R(NjUs9qATGuM%`L)XzpTai??k~mZVs|U5B}h&8@5IzlMx|Vx^J>{^%M5~&&Q{cJ^Z*Klv4}I6isH57(bXW{7OI_0lg%c zMU zz1)nMMhTV5N0zcyTgzX~HW`UoM3Eox{+~FIgpT{ZT<4#TNyNq3w zFv$AQa_&xs+#72DE>x4$%HC4$n_|zG%4r=mX#AqS=-B8y7k;veg^I@&`F<`WHw4oT ze|*u5gnKZO`FfOCD8+4wHESVo6JcR(sO+rm$RJRchDAJ<@8Jwr;c-TWp05WvHA8 zq%wK0uOX*wIXM{l3WYh}5?l&j1z2hl%CQTg+%EdyHk&1+_028c6`4DOe)=`R1QZ_X zuVqO7Y^Svm3Vk3=;NxM*Nl<1C>UzPPT_mnYR?uiMGM#m^*7y=xx`bonypE2|)ZoG>h){+pXsGa1W8^WX^60Vl+NL2VuUFPb(+3?E z;cr0=N9Xeu;WLEh{e6|d_JcK!z1k3YeCZd7s*Pt96@a&RO2a|2dZJK(yxk3<1k4ub z4ailMlk)!XYwpR275Nt($Pr&53gv6c4t+VQ?qwa4alduxB`yGB86<97_oaytW+%4r z=g=4)!PBlgV=7T$y^!(ZeG}P?^5{**1zO`VIkX7e2Cg~-ZUJiTBE?cup(N{0M#?nE z1TQp+klJQ6K-w0u95ETYS1(!$&0I;(titu+5G#R#0Ex2#umnb4fj#_8; z|NsBwV1MQOLyxui*1yCyUDbE}iydF>NSXhauVna!7FVyw@5muM7sw%#GmbL<5X2i< zzf8Z#g7_rA@{tk6nS7-EaSZuDESauB0tXvw|1bQ$ZbitVGQ&6dm>srWwes$)i9=!K z#%LFOu17vBd6}j>nfU$QBD_{#FaBXNs5+bR4n|nkuh^6w*yLq4hSQIhrTmEdRpCp8 zlgQyLOu1qg>XatTp^CORJF}#bc@dYMTJPNetUy!0{o46qEGy$CoU&i!?1-idZDpOXtSUU+#2) zJI9nPOnF!y{6E7S_71uRm&B+!18{T!qmvKocHJK;SiXtVB*GmQnudQ}Syq@5I&-h{Cyk zE~@-Up(|YfbfQ$maSmShvnGZ1$Q2mEYg=dPezW5;@@e89Wsg5ahe+L`s!z zB*M6Z(+&qZS#sk@&z}=`k}b-}>SMtcdL-|clC#T&<-$6}Zxc#LPsEc~%gGimU%5rs z6o{pzDG$jsagRN^%eO5Ha_a&aHt#_+i$z6}YEG+kxXZ)78s#UB=(g-gsqloWm(ZzR ziE7kHdAs3{!cUD!#j6@wNI%koQA%WC)En0-i3e&(-R z=&0}3t1omtQ5(=Qu$Ywx+&63wT!Iyh8uZ(;K&vcdwfw_dx?z82n(fW5@8KS5b!`w004+( zWI~0FhCCyPRU57(ytylxGMM6LSeY{K5JE0~e~yMk_d;vPBs+9b*{@iPxmc`ZQpUs` ztKW#k`7hQ@SLB-)<9ASuoeg@ZBnp~0e<`Gk0ieoo=9ISj^?b)nLUq$J&LflSW zdUN#uG@`u=#qNF&t4;Q6iJ6kXrqtBRafxUa4W#O3tqzF#K@R1v!w`|}6{j>hlEP>jWgY*C-$ z6p^>^L%Yuo1hGa%tM&NLC!4)@4Ckpb1N*_m?a-F6r9wMUZ(fs7eBl+!0-?W1Eg5R6$p-sX z4^DT;ChI6Q6pfY%T!vS*($UJPsVRh&3@scm9d_#5&R1!NQpiUGEWvJe9|`3`;^<*= zZYt3!u8nD7zp7i^|KI#$E**U{o1d00BpKQL>OqC<%#$0bsaa&tE>j&#U*o{~op9$BW{- zOY$!PJ0eNG!5sbW-H@ zC=ry*3XIVgie7V|xC#g&qX8w9!?Wyqjx~fV{{s9hu_ZJYy*Vm>|6APy0nXV^f*#(O^_{=b>Sqp=aPJl4nP|GmF6!T)W} zetLjrD{4r;tpJal00$!qkc2LiwSXO5A^2M1v?rreA1240WF3VyTCEn+A*f+tN05w2OHG~`w({b2gmQ%{be9kur01f~E z1Pei%0ANS&{`ZiarT9rQmZ|v4NB{r(PZfzj|6QjTGy6kY_xt2SljXpFltLeMb`Tt> zUr#}ZlgeMU*Z=*Y_fwozfA#CjA~_rX`$h%8|Ja3P1nscC@0Fc<9}(*0eqVm!ALQ>B z%+_wGhEkp!jx!rJCR!7FwcNQSqO}R^eDx>dkx*whmgX*T{7l_i3{|1e~BpkZs56H zF8d{9?6Eld&*hhY2?(+?TGQsPS;g6QOQ75g(<47xJg0Y?Y)t!5E&ru?J$No-q-ipx@n<=2}pm&>5T$qX&@ zB3#%p^ZC41rW!7kymFYHy%*7UqVjo6^LLGr%idbc<@qOd%j#0p;`M}aIeLr;<;N&0 z0rAJjyg<(vt!TgUN$~@pJbgd(IZ}V}eGLrkZwS^C7Kx|2hg!3*EB)Hs2W8%Ur&}_E{Hs;FUwrRR<=G2Wsh3YhJOsno*|9$ zZGsb}Otvc%{;@Fu(u%NVq+CDy#C(zByWB696B#C5=Ph5d3W`dA(!HIsl(J?0zcOf{ z4jy2ZN^YSN=uQItx##0UD%ULq~G`v9ckUn^>#{V05Mo53eglBT)8u#cXJ4`2hI=andlE`JV z32QCoUh}Kom!dc#QW^K_#KcY!z_vXcEqe58=pzwB9x-DKS;&-epfHQ4w#F$Ipl*v3t>Lel&G)SY1=8%(buRpLDSI@8vx%8=#B7h&_Et?3 ze&?=c)(7tw8Aj(*kg66VN0EN3mKv712<3w+J3w4fw)^+#^*81MZ|B=j>Ff(i2vTn0 zu2Skw{3O4Hgf=9Rc9fP5NC^?&FNpw1sHh}5{1`HOx%t2h`vfex%E<)L)V5d$ryvF! zrM>1VRYGzkvZ9{Z{In$G6{9>*b!Bm>L3;C)=e=rcs1yJi94^Z!%N!G~RY||D8ML-W z*+Z#_4>!J`jEyBqDFT5}>dN>~GqT1fpaCl*IPXh@k>!<@mdPuKxo;ccjRBe!fM=EE zYh|$$FDIY*7&JGmK*p$uKyrvkgfN3U=O{*;K&Os5L>j3;D3x?;>Ey~HIj+T(Ra9z2 zQ2>o!gu3IGRGe$iqob(%diDx*WzjXe*Yu9RUqw+tdeoiWx(kJKGOMy7t*>+&(}!&L zRAT${*Q;Kj0KEy|4ar7}Gay9D9w|<5cc#5-pKl)@ZZ%C(lWWV8rE95o&FaQ2eJ+pnw z5F!7C54!$D=9XXiEoh7L5hARfqdcG5^ktTQW;)l^mQIAkhuKynCs}{xoXHqqOil8F zG;I&{CVBBbcxNe^9BCraXiDSAJq+~++v57ypM0E=;zo;}9j54Ass_2HS|1~8&5Xjb z<(nu;iOo*;qcVY#S zdpGNsQhydEhDIr&r}N6&II9LfqRSbDVlj8KOKD`0b@%aOCOu2pdkc`#FaNaT2Pnk2 zo6F;7%giLAO+-s+L18(ST3Lz{bH!^DrF>Q;4eu{2QdeM*5Y%JS$^X6 ziK~hc-_>%$Yu$|Y*PrF|D0QAytYoF+5n1&wW&P(XMd|Ug#Etoa6%OA&lcI7$3907K zCf8vqxS2%xc~v6o%PaVdT&BbVaj)OY?e?N%@9$hep$ER2s7p~eyT;3coeqieiYDG8 zyZI?eeo&LMH5GRgn+(Zh)TsZL6X72S`G4um^u0zg7r66qpgEE+GL~H-CF;r6;W=K) zHVa$egYZ_CL!#hxanM5$(#QrhI`)Y_abi%12Nk18+J=P3@_drV#v(tF9nT1ON6R)Q zviU(KEA3Or)mIW1qW>TA!v71&7n3i3^pO|Wzi3vy&7w+!pfWqAvO`b@4%CwVxiMe% z2%pdD5ef0(pUKgmkE_JwBw($tdZK^UU#_ciQopYV%PzCuu4Kt8P{?jcL`PJ(ucS|0 zQoz!=;o0^v9h&r5>2=*6%0(xe>9ztb)z^uWFL9h&xkD%%xtNPPd6?N`>{AA4WM7lZ z!>d@_l8E7*<8BiZMzsM4!Zpjqg3o*2xdLA;GFp86kun_Khf2DU9gp@6b16m>{yfnu zy37AW3SlEOnR?BM_1G^cN^n>>iOmJjczyKpeCzzOWfY3Uxp`^WSSnzcv0E>@--QO&KQ}}me0%c22tr8woPeYs0>3Ky8lqBr z>)&fe7C0Jehj+=AxP*R@(IGKMl5_1Bxx$+y5e#EAC^@$X3zHEvCzoT`RSOT}<%Zh| z3S4<_uT-zgU0!^W@0EB^%f7J};+4)!SJ`R^QC%4as`AO$s=({YX&ri$lFln_pT)_N zwFlqj7pZuLuud(5>cM!uax11IU1(0pJ$8Jb7@=qQt9acNT?<^b_EBjWbU9Q|uKrPM zs$^d3{w!4HXPu9Nhbs-+otE(iZ+|M8Sublmric}$j?Er{AZ34iz@(}pDU7&`g?O*U z;B#AN?zPI@$X5ar1 z5H<$|M1QRnA6n|(P2y(7)>(9m-lwwuOrH6A{(AJAUg(B(OQ4o>6NpeeyZr?88PnU_ zEQ)-xsF+40$txhGr|LzL**E2^wIoE*zSq5l_;#M4kh8wxvGKC`3I1%` z>OCtehIKBb9Pzb^A8O_Ou6pL|G?q)kc%LtR$;A-TY?)}Bq$HHAp2#N1c=6Qw`uy1u z6p;e&4D=a|{z6K|myv44lifK=yCHTqnyj*7O%l7TO+*)0@+-nJVM;+EIDkuN9kV>N zaX00Q->EXx0`2$NkM`48`t6P9Uu(FiP5AF@{wBQ|+e?H3bSuO;Cc z#Lb>;{x8cFiJL!!(ATJv%>MQ$I}pf!EAwp67A#(?TIJR8GM<#T6Gd{meuUK6j3ejU z6eLG*OAx8+Uw!L;eM;iKSpsWY9$`Kp-hz7GFU4i@%3qWv<>ETViL6{!>RyFuxApMT@iiJU*<#7_dG{34=#U!fbYvx%P*8l z^RHTwZr;;7E?Hdsxk}#d6%1Ddu`0aZ>xuCqH;EU=xo7j`=G&O0iILv$(@Q5^bvVq-#l z0-qvqKoohEN=Zy-L+;$Y?5Nn8+9K-{?pMohJWq|$p$3x|;&xwUk(Ch4WO00!+<^Z( z`Mr}>{{F-%jM@kP&!1ORyjV`g`6c3Y$hAu4_ZtZ0g>_Bu7fm z=N2>{DaQ{TAHCn@tg=_4nVb0zT{eD4^2$01euuo7H8lP!h{p0Hwtmq@-2cCemgex; zQS!0b4W4M8m6P}6DW~#u9IE^Bd|oSUvny5Dl@wkp68blP!A7O_Xfl7RIk9n8-^cM= zc2sqv^kHyLlX*MNS2ma5+uzti3`Z2y<@{5pH?W6gd6jWS*qZPKA zF-Dj_r4_h?cuM3pr3{9cP2OBcxdmYVil3gm;!TRwAJBGJ$_qDJ7@##RaY3gQGbg4a zzMmy%5vkMb&GPDh^eEBbm zUghT*Nffz|lZ(5cd(t`9HQLUza&6j(T=3?UL04?&663MPbwR7)cztA?ehH$KEuoO; zqjgXKylUZuSK3G1L_8kXpR>t)o_4Bqhc$c3@$5tyRA-&-<#BT|;vkZ$<>oNuzX{!L zm>}#H*JZJ;pu8=63iFC`!#G|7(oB-naXi2Rx7lbW05eW-l{-B}7@5}6OaLlwB&wH)O4bp8B@Bs`$q3E_ z!CkY`FeJzoQOglTk?Lt)xQk~*x+#Z53qux`>4;Y1gTFI}*a(ku((V8Shu!o7Z57z< zFZ03g$E(;oFMGZLqwa)VFU`26ZdDZLFANU8Z;r457Cy^PKw7zpfDOTFM?i>PzJGl8 zb*_HDPL+M?_b)igNTtk#oL$`qBh)qt$jK0>4pYDRUuQW^G_694FsGmMG@L&Bp^wwU znvk#@^~WBbWSb*4(=KvkSLwjV%U|bB`S2$U#jywqZbxF^;}<3F(OI!cqTq%b*%gCQ zGMs@JnWimb?9&l>z2;REbvL-y>n;(yru9ga;=)s88<`lE^wgPdqK0$=2 z0vB)ZH1z!)13)-JT?+*G3=Gh5vtYl+#D&Nmka4cT?i*X z2q5h05YwKe*9xQVT$7b%wsVy{SDaU?w;HX(fB*mk#6g>EU`OR62ISBG^;+-pCJoR3 zlY$Xr)csk1@~1bi|4YuN{deo+VnZD+moLbJuFI`ut{_pSi|*gc`EnF#Lqo#n|13sW zLoHc+vaVS&tX}>5max`Zl#(ysf=v@Yw{>;+q#qMzjR2X)OXLaiT&fB(F#aYGiOQw? zwU>w^pJ}X`+>YzX>qDP;e1Ra2cv?ys%gS0(%O+X$u6U z>k`V)PE#w18Rh&mk$1AUE=Z_H;zfy+$kP@K*$?7DE6tg++A&WQ=E_=pOink%_NJFv ze;b5r7s$d)*s3wj-m4Q4m$FFuFke4ee5A@!Llze)TB2)SuSQx~3E!4q=%EvJoUTsA ziD8-Iw?*<^THd#L2J}kt_?ndh-b&M58|CtOA_|Jf4SJJGON`GXYY?I>(WN1;OkCUe zsRj7^!YEsJ6bM?ADcw0F>2_~kAq!)iOio`D?o5?ZOm%dAh_qYRD)K^HvSN6Ejq(XU zPQJ|If2}EBttlms+`cwknS8O7T5`+17xH3cSI5hiH$E@Psd+LPkAuMeg}nqm#fDT6 zPu0+vq*C9?BiIaJ6R8(Pr7XT$iSZ)*T%IErCR(zQX&W*2jg!gc6Xuc-_Ir_>ulk!k zJgKi=Jel=%o-~RvAv@YPdE+rVh?mm{G4R3^@`3>BBuFA*4%(S8*LwHweiLWTHh1}D zQc7lx`6k+;kxKuq3fPDtD4h(VdoJ=b`ozf-mThtm1AX0Sp%g)>(L7kV_oe7G8hs6^G_79d$wSHWljpgjiDJwUV(Op$kfU2$|2+eR=3p~fL zZ%XVUh%~F%C>Jd+DUS+&BfO}+{uovW3XH5{-&6J*SlhHQN0{V}N^ zLkT@w)S2Yk<@J4#Rb~Dl%j6VI6Dxd_?=JGyiu_*hl_O-WKM3Q67f$x#jNJA7A<^7W zZJxc;-;3P8716WtYu|f*EK%BJeLHsd_`cceO$M4aYaq7WyWhe)rMZ49RA|hn#jh2% z)BY@5-tO~Tu&|x$f39gG9`(xVzTCL}3M6oS(a{Up>uZ99-^|3!_mmWN+d8)ge-CdF zTKJ?`yNcXapdlN|FniDc|M~z8u8PNjvEWR-eg1j=efLvUTU}IVSCe;1Re8k9)pc!N z;169VC#RFz->pRt&lKT2p7@^IPEBTk%uz*iuEGIlvP0P9(s(!0S1cKbPJ^g`Y^Hhg zL(Bu5Q59Qdm2@o37~wlI0KWnE=;8HV23=Nu6h<4so0ftXlsLO2ZEgFKF5+CPw#qDf z4pPerFW}Sl&(}j5CcHc(f?vtiC%vB(rRfNTKB{%iW|9+imYS4_~6IDhv zglG}GM&|D$MRzOk^0!#u{gZ+{8re>L`EvwZs;5}XWhrlx?OJ7T)Kh=yo{r?5a|zdS zV>IZ~tF?K|^-orbT~ksQ3N9VoBnEcEoeal91i*k3G23*W1M0wF057`W10#wzcHe`N zQ>qevme}l6&(9)?u)0e;00|V@i6ncGWeRI#?Vy*o(vsw{0JGmu-r5akM6@TTY9U{A zzM4;go_)#z6`~dqk_GE{^Kws7eZiCwt>60$nR@tn8>}WEBPAhG%saT3C8jx ziRT3HcL^1`z?=v~^L#LzBzsl337m3DFx!b$qo6dmga{V~F>DS! z%c8LHMmZD@dC+A(DhG92q|bcaEIP4Qb#S(ff|P3KmVgk3^B0>m1OODS>(IdGp+u<$ z8SxMYu$xW31PusW2ElT;xk;sHdFa;O7{xKc+A;#k`#uZ3b9x3T1$=Pl9o zN&5Pc2{YNdy8%l3Kqr(IAMP}!qGPKD^_$BZBD0!#^f>iUH>kbecMHnzRnK|-FR5j3 zqM)#WEZB~)M61~z>t-rhEQi2A8-G2%fwybzgSYi^P~I#sM~~5)84K}xIa)uz{=Uw9 zH@=7mM}mT%xl0wRP)F8VW6j#tWHZ@w3B{6x05TvT00AEW00f&sn~-2fRaWjrh;Z?P zd4J>(mQ6d8rqj7UiTg2PleXo4M0n#%lP{62kMH(HPXGT|L?{S;3jo#Cf5^%I|NcOh z+umQXFEsz;lU3=fW$(X4XwyR}`}b~Lh(rn(^71OnBSl@jvvLI7*OlK9>nFa*EiRS} z=xCt+jcA(XBc%4W+_U=hnRVsRITuB(;f&#LJd^P41^It$w``i3JY8 z!1_$PbP0>MG^>=H+FA2c36jzB`EM648HwbLYS*&wi(NW z%e&RySVIWJ=kijPQw~GuG)dQ*N@i2N%H{sO>Zn8|ma^7bVh{Ty`WhYFgOsI1M(n8a z)4#BTsQ!OVEhC1Na>5v&5>X4Q@g->Me?AeHFK~=r(w8Yuc`;t^kZ5JLzH}x0r>yhh zMM*E9^vaO9o5MaClcD`2ughwgZz*PLe0 zu#RrIg{}3igvF{;Q~4EKPI|=4B+Rn>qK*!~=(UTV3dx@}&?pj(SKr6{fRx|yDz{Z$ zvwKE)vR{9UmC7A3%LKuF5KyTYldzW2qc6*U?8^d`N2jA+o>4uS71VfrJ`-CFx=n-cOnXE2 z|CX^eo8-^Y?=Ga1QvO3SC} z$yx|6m4wi8N$=a*onyc2y#`YV{Bo zHa4>I$`bGey>)HjEWS@Djmo1zF**l%PcJY)=x|>T#C#Dr)a1p~ezsxUd&}jC(Bx8Q zG_ObR@<=;~3q-;n8{_6@6DbB64GTc{_{o1JUoQE4zenn*gl={4@Ssn*B=*?--d#z* zCm14JR9Ye_$`NH=K@*)?Bn-tTma_e$$(OIYeQ&zoo83N_qPM9(H5%d;9tyuECb7OX z#yw@&fT{C7Ki=1@mbrc9^d(ay5av+b<>VJAzZB{6#p`FL&ZO42*trFN7S6AfUMrTg zaW9KEl-dkiW+tt2$|Xpm%pTS8KPvb5z3Amg+BR#NVOsoXKrbFlWP<2_KmwRb(f8pR zS$YvXT*9(;@pk`5c#{8_Bomr>YTb!t1)AO|(`G4~v-`w^Qw6APiyTrm(9gzGFZ`nS zbH=dUQ}{y~K0t|0H!HTF?5}K!`oJL@$O>a$|NHsy4aJWJWT==*7z%~={Pq0z@4v_K zeq+^qceU|K(CJNWem<>;QUrLE65|RejhxeqL?2KI37n68sFxeQJoeg;87Ix}mV82yp(QQ9-V$&GC}LTrN~LX6}yp1+{{ z=>#mzAI%qg#483Z{!jvzRcmM*7$MmE6EGN=6JE2n zF*1ZDlf=r-v>Xz%)!l?G#3W@yRNy2;K_*7PFk}GGKmbwP^J*+=iwv^UJ#htNwLxt1 zOBYo%l*}5@2ydhkBwi7K5{55JQ!o;UGlVJtNH#tbsbUL~%rz!gQVfa5*Z>t?%jqk# zbN_hiwCHd;&CKIFl_eq&00000oL3Ibl>rG4V@Wc*Jj1%S>>MGHr5!Ufws&pp;hkV^ za>@l`gbMfA0HEw&XLpxh%e$s$?)xg+tDXHeG@B^+7av0zyJURYeAc|U`Ny@x$})CKelznih*_$XO7^W@t{@?p!deHt64s7cia@eqe~GnM+(6N#@M99cksP?UPsl+CuB~pjlQplE5?Z-6)-RQMMi5@4ver=#QsxK(WBSM`VZ0|Ixziv(7+xhG6Em@@ zddXgD6CJ9N`710&aZQdYJ8`6j<>}P=*Ign%EXhzXn1n%Gg^&BuiRaDLo9WzvY*rOUvXS$O?_N`F~jqkGKkUkKC*6A72gS+=CD7fj4<_*3hP0 zQT$D45oA-AUFG-DWAMFU88X&Q%3q;#mASCZ^w~P%#*HRB*^H)g`^)d#M51{`_BY1X z9q>~XvJTP6J$G_Q^4eY?X}7GSOjJjk=82R}^?r!)(Q^G0b=UIa{3qjYKZ(25lh?l{ z|B&;&l#DuyiFiw%Tu$X99N5(%%y*H6{T29)Y?{7IFZnS&XQ-v;H$H!R?Q-;8f0Y%z z$r2Iq^Y2^yp%fFRy-J8KPv#?9@!G_ae9~XlN%#2lClZO>T2|NCm1~pzdZ$C^Thu`b zi~dO6ArW`2HJjtGj@1Os)%}XqHg(gefd*IUZqz`M{PJHTD5ifT(n2d=89kP>`OwGm z`UH9vBBaZ5mC62BhOV?_7{V(1D^2r${d=DXO_$5&67lVn5C)q8di3REK{488mP$Qk z&}>h{b@LsGLsI;AB^lykM@r?B$O+~uymiGMf*!iYkCa9oQN0PGVHnj1%3j?rQ7Eve zAgTpuxadSBG^6TpbHxeRPRmEsXr~>0> z2jirVK(culCPyEha6z+;?hm!a_G5+3UHNxcJC`yl4Te#Q@?Vvv!TZ^3e@A-eh;6<9 z6(5zN!J^fb#GLhkpwqtj0yx9JK_qYV7359MM# zGA{5>o23Lo^*V{}EKOk9EL+^@7}FDsU; z*^GpKUmwHxh=DctyBLWbN&{LTN#e;XRbrRfUN;2t`F+iht5o;QD{Ts$fwoeF$ifl6 z&=p`&4#(@sTkNR#dB5bP?HH8F|9O99@=2;}tRjtOHpx@I+nh1Um&^Frkd4$(%Ni~n zfPp}aH4l`6mp}PDrFgFPLQ2Cy(ei|5!QQRrsxUr{5ISJ&F!m{zEHupdle^Y0Ep>~? zQD^;eG`VYFg?;++`Fyp(5-<9)&nTP5$Y05JUq%@Mo)TrNlvl^k`80_pEbmQVoG*=bzrA2W9#;1iv;<~7=7ON>yFh(s0S4}UO zA<970bm)4Em{;!2h?xo~J2Mp@v3R?)LKNwtbPDj-PdSM2ev?@hgY=ix3cfEC?V}X@ zAsfq~tL^{)xnK>|hhc)T;4Bvl3Q2L}i=|AyxADro zzhKIQAUR~X$AgGqY?8;9#=PR_IWCGaJXfYlmpiVqLw1ww>HP$l=F#kiPYH`?W(Ot! zEu|vQaVbdzj;?ImZW0`ukk5^l09dZ(?nouAaX1u-VjzDapcpZbE2vy{U0hfP=ZOGB zf&xQHC@dzY>Gh#SwU=cVZ`Q$zsxMfuc5P}Ia8mN-B24E~B{tgi%XB0;&ISrp8;o$W zF^+HnKy)gk3CY-JBR$DHxF8TiU(ovaZ;JZt(YjUi2kU^YVq37onsUP`6h zB9^K~L@_l}GRv=bz(fQ8}$y>+5qruYH6_&rZgek+5*rud7_L*)!DByr&Q#Ds`)ktGj`{du4k!$N&jI4b{g%a!^#PDK&*ej(oqY{r^5w z$Ko~Pzy9Ck|DbJqeIzbPB1nWRRNkbcD4#O2Lt(rp;l5%_IEsY| zCJ56%!zX_ug%^pDQTy-Gsd`)3s}ZkL9-)9taANn#6sVqSLw3bc8g9W*Oi(Lc;zcn? z409_Z$8_}SS{@r+#U*bgY8m(e(VwRHs6X9h)NA4gTh&c}XIv?2N%alR=E`6P&iOk| zD!J}?JEC~pEQWcjqw@O8w=Nb-=T%`BF>w%M9$xF@lkWlyR<`oJ?oRUk zm7llt2~zDn5nTUQX<-lLw#vWqF+xTmf3{pi$+yuk80aB6Ym1hhIXXY0yCbj3_>8_u zectgk_mO$z%etTPWvsjGB*y{%(3Jj*s`Zz|$)57f;&Sv-3VSy1D)r?QzMYe8a`>9z z5xBr1GqEa;-zUhG2|~mP&=D0JqLqySz$?Qupv@IkWJY!*G+vlgU%dE|OVt zaU(Zo#ylr>3QfNy$R_#=)UbvxE#;;qo8RRG0o<3O_3xNr3>4wHTtd!L2=QiLr!0bH z#L0phiDKM#IG>htWTqwdUz9Ho4rW|4Hg+SHPydt4%(}HH2}@rq?XM6fOt*=fD6pwx z%P%AlxbObt`$g^Znd0L8aTC!}nqMc(;mz9;Qp?G#u^8Vch?gyIf6e(Zdd6;4VkuHZ zpX5$SB}QDczNP(=-x`)fe7Su>G0 z<;r2*x2(5>WVXG@UbheE?>-1`WCRdq1`Gyf10Mb$R3Je3?{lD6VtllM^wa$%kztZZ zf0d?i!TAWI4>kr8p<)Zd0#HY!UHyU>ZUY;0w{-{y4N@Isqte!RaZlH zBP;`2wN-RBy^={fkv>RsvJ6{NC9JAT2n25A{BWvwgs4dTO;L1K;RkbuF9m3P-Tg*x z#z{bIXR<&xzKBrJ6%-I~U=H31 zM&Pz^Ko{j)zw(Q@L+dT^E*Wlitun)&p9Cn*U&~s^(QkKtSvBSId=UuQ%~mgo7k9>E zaDr@%A~W6Z8I?`uKSL)ui)%5y+x~|8A71aVBS-8Cd?YJ8(wz|ycP42b$p>A8Rf8Iz zKVF&EANdk5Ulz7iHd}AoT#WqRlO^@)*OFy~1jK9+Zh}Dd@(jv!J!wlVK3`t^;G$6q zKytZa+N@ER`m9IA>R!*gG-T%B=iuX3pONSN1UgMz9s9Xm*|Bw8vx-0AEz-n_Lw3jN z{9iY2nhiTY1fF`aIpnOO;stzB(X%g;6E#K)osSPBc4ip$rE`ESMKE6W z@1YICd<2ceOS0T`{``!d?ulY?IbLwO6yhgEzQ}7Gmg$BVPyq%IZl5d33A0iMnz689 zrj{&x-c=Eh-guhHK&=3@rmX;$$6N+3v_t}fwI`u)JE8$|UL4dA2mlq#3MpAc6bK+8 z0y2!Jgn&bWxh&E|0;gQ7c*H>^(}mYUo!1GHOrW3+hj2AxAw)z723a9Np-zI3%P8AO zEt#yaN7<(Ag6Z~m(4`14fdFbq00j_Bp1$t5-0mwpx0p5;4F^8T`nx_@&L(xJaJ@iO z?{&THLIJuf4T>+Um+RZ?^Y8J_XZYtUH#A zQX77TMS&owIa+7$1TfRxlamm19Un5mA+{c@BxQ_!-|I_B8i-emaWVxv%c=9OL(=29 z1aJTY66DYkshF}#00OiC_xQmtl;MA~wm>WH0Pjc!;LhM>dg%ZF;p5TBQ?KKWzyJUM zCEXntZWjr{UD?n8OaK1i0089gVK{AcuDX1rK%Ya>=RLENE}QCmTA|L=#}2j{L*)Pf zSnv7s^VLjEYqj6n3j7k{pUl`{=K2Jf&QvQzsuO-|CYN552v%Rf!X;HlXuCKfojL=-$dY)W`}g` z)?eBzum55&GGYV#5h%?HKJpPT#e+2oVK;yI zX3OPi<)V0!F{4Kj{FnYwwwmANQ-6~3*E6(y@5mES_-lFj<|-viV;vH>~x*1 z{-T62El16ckl``6YSqZ4mzVJ(XAF*< zbtfAVCtLK>^6$0CWP=e8#m}sHdj~pL}o{1skAco$f7uyU|)!6Ze<*@)uF|#=z1f_j?V8D;tz6i|0YCD zgxtBy=WY2cgkobiTqZ6_+O(Br`V`r`*XzBjnWDZ=vZy7NK2KbJ2|>xF z$;f!FDdfbe9#zZ9KP49IIOuxJvI8MkvA-*HDz1*O1=EC z{?{+jAK3y`s*19eNRZyikn;nax0%hpO3<+xkBrv{UXM*LF4;s_bh7j}%a$T0L3zJs zh*fXoTd$*HzmxKLD8AQg*X0~n)kzw)o&1{e-pCwTu>a&LEBe>Pyn4}rSSHCAy z?|1oP?pb!1li6m-8AIguI(+RTZA#PR3+y1Uu*(VaV{~2pe~`Xg>>=mJm+;q%;x))0 zE?k&qzngizcM; zC}rLYMF*n^!?-Htxm--Sf0dG7lu(7nnYdzM?_!`RJFnMoTJL%&reDb~+|Kxjj9$95 zz=A#+1Y~{Dt0}gbvN8pi*tBjY0zkU|lKe_qHzVka54m#uOP4Nzplj;>VvffDA%uIe za(*&Rx#9Z3Iv&@b*nmSDhQfPN2b;`7eG~DV1zozbiqXBB^IGXt41NG3JSKR6s;j9?}@;Vf8Gpe|57o zB7fU7b;ReQ1Due_GweIx;+>M`*?37{PdrgokCxvr%Dslt^10=_Tuc<}{K5=`3CB+R zl)S)(n+1Wq&K^jjBY4(>hV^Orq z;#{+3&c)j(M=}-}>kin4x#~%BE8LP#>8>xtwV=j0{mSb(0u!*&-1R38?t0VW4Bq>M zm8YSVn^{H3<^0_r>y=cYA%!)e6wH&$Gtti{zmyb6DAP`{Q#!t^{{V9Ron?b6_ZOdMry?}31s8vTs9Xx>~J`;x&X3lix$0FMiW>bLYbkCv^D6HO4N(z zXx|VJLws*6V-cw^8$GSTtS*GEQ>Uu$HH<*YwX4RuAsumad1iev;kdJfyL_F$H%V>v z!{4iPuELB3wO?|G#j~lCqbyjdrrpwY**Wjm)~%;Gl#eqK42;X|!a*lNjYaA@4$udr z3bsL^kEEL-&K7A-)7jwUEcCeYs92bwbR_7H#%#Ad2BjGDZbHxS78xp!uPDq-?)dTu zmtRLZT3Iy4u68Ac?Sj*vSuS+h&qkS6sFwt|x;GZHWj3j~974SpZdxmyqnRVLCO*v= zd`Z}C8-nm7$_5$l=t{w5pe*E~7Q6(Y z00000^Y>T)0000000000000000000020#D+0B`^R1+GDw0ASz9kLu;}r_1}~Tyn0s zgnuu+JLFViyTbwH5Z_G5r~gC{sb8)KxCQrVPv6SZ7{CAjArYpPZ_nikG2MLe{3M?# zAar}zh)GR@K*)uAU;qF2!4q2L@Jp&|RN4FFLUHEq@%*9~i9G=z+!o0xW%4w}*?#NY z6{wG$avNZpb`OwdhF`8e%}%4is`=_2GdMOhM;TJi{<>tlwn zbK9ig0QocKT0v5xIb*z%zjDur>{BzDLgvr^I`&^@!X#3NSwEL+mb1e0Yb2RXDxmE9 zthEuWyOVlWyno#J(zCMg3+ zIum#B&yB1z`3Wd6KG^evUm z9B#j12UUj<+@Dm|1)}bjPZ5M8M2Hm!6)c*F_(riYI@V|8axMD3rSj=xZdJWWj8fZl zPvD&_*$ocLON6#R_rVrh#Yfz-dnA-c%Dv^P)~g$NY`#1Hs;^cwlA@_e~|?xn1+rjM6+nr~aaUfgJLRmt@pjyRV47ef^i>rk!OLa+$XU_W=D zoTWH(gb`HXDdEA6+G-&nzQLCFF`E3^4vmY&F~Qiy2hRVim?tcUW|CP1MKOdq)|pjM z<9A%5pzin2Sh!ho`EM_~$x2CnFEGPkV*>+WSuDkg{OGXM35}{Np|N&RPLlAzUzALjZ5z@0H1SrN zJ}b#tMf3VMf5puEI%%`>aDTzatJU&%8KOFd;f^J}LyEw1_J0+7rx~C(pkc(&+GtNT zP=#XM8p-mDFG6qR@g-@$l&W(nL-Q%RZ&5Iav@9q}Q3-)SKTysz31QTbQCKkH8Q!wk zI$gJ`EN}3}r8RY{QKtBsapoFTYw(PStu`n=E6%Tw6%9B*7qa~WZr!5Ny+ur4#ppPzh*CJIv#D4u7m_1}4$>XhAsf#V|9}7g`P)@)4#Ro%zmJ_& z{CcJCUUfpX%(9}YLfXs90pxt{l4Blt_I&f+b2&-k$GU4r$x|O+vfP9F_9RKuMTEKNR8fqeH_yP(Fbc4GX-I3}^&l@Qn+6DulnZ?1Bg z_SKB;Q&cJzRrv(BtWKSsmDKb*-D1N0f?l@pV3$E44;qgKX(q=+L|!DGN0EKvL*sQ!H(?-dO_g}3~(B5h=Q(jy$J zX=z?AB(olQATzDQYsO8}6f3fDTOq#^Ra`V9IKj1kUJX1tV&6*U8MK6R;Ecj8I1!0d zVa#t1N+nU6h+@SH^G;P4I}6dCWfU;L7K9c|S*XZLu4T2IZ49Qvl-yc8I-0ewk?5~g zlyYi8=;|XdFzu(GfF3m#>?D=DqI)K#vVS&?iAMIj4%->^;zG?)-F-7pC0JJ_HLo)~ zP;sLHzV7KUo_6S`L7ZNFdwssWPB`^T+`Q|)3fD5qim3~0FDL-m?o&V5Yw{75`uJYS zx@QuPUui&NQ_U{21B^xt=9r`NT`4g($DX0c4jC2VfsfbHQ)mQ0=}$X~*j(!z#Dy59 zg*Vi?I!$Xz-^<2i6Ig# z=bsyYkHh}|&u$Hu8Thbc0GGrJeDYA|=os2#0#G^fOOP-DkO@El z#!CZC86W{XW<pTh+|&R6 z{=V|BfB*mMgp&9V=b1YRi|)(U=vH4M8(-o5fh?^)ugQo1|H@C8Tzq%a$plG1_rVCz z{-c<`Sv-YgW@S7~y^12GNOM{1)=$gDIqrPr%j?N`WXbs*eoVhCzo~OKq9&)r{fFg6JCe1wCm^wAq_`$A0jFwGa&pzSe+{h!_CV7CSQ-) zGCY;FBUU8KSl<&9hUd#XPqL!L>~_LoT0tXV(CDw>K1EhB_|NhLgex!JJ zq_>(UsB`pT=ImfnRp@?PuAGD9r^egz)9EGb z5jV4nr1?q_#*;oTAV524SvS@y^!Yoaw@&DWf^a*RMMO8*;UC6OyFrrIYvVu3m~l(Rxfp zWtJo{Z&C@ysdRqNU6sDCYw7bvdc=OU<*M?2N$uAmCdAK^`^7JiL3c@I{(8QP6^7(l zd-9@D{Q<3CtRwR=@NgaS(hY194OYFxO0?3%ZO$+FpIbNb#pCJhrsGXF2o9LGhCpIe zHl_lP0CzEPvrBm9fJ28WMj8cds;4Pmu$oD{`6l576Am#Me7|!s*URNFs0h#=2ei?C z{#}_>>h7``IAA%#0bHw;AU0g3O&Sf&pO`br=Ayh`_(&q`5ZGno1L~{Q{()Ob`2hfp zyvB{FVD47-U(qEnLD$5gbqV!WaC$?j!ebUbw<^|IABxH`(nQ3;{Ej6JA*{RQ|C7qC zQ2{w5_l)AR1_Cl7orXSDXdMTB)R0e)f`BcTkyE7l2qW=@yk=Gv=f9yU2CN_?yelJW zgXQ!RQ0Qq6<#az{Iu+iRayy=dQpr97OjIGNU8qiQ>G9B@sU z;ZX!hFC3lq+wW_W$W^qCz4Tme0qAvdxe=Hk(D{6zkr_9r3Kq}rC?U#r3RyO#<;&&$ zWduW;hFvWWyuMhd-10>PBV^?jmS2g?cwh)G5@0@90)za>TqB`dZ&>E;j7b|1ev_DuWdf`uun7FxlXst8WilOX{j+3^H!`Hq&7WL9r2#XEiCXfB;lZ)9jd4tTWG{lOe&RqJI-_H#4I@^g=s^T zA60Gw9(AwXCv6+_uj{P*Ie9F3{`vt5WA5Cnjc;F?PS#+2z}l4?WxlZA{GI-atLa4h zX*2E0dAEQ25+bJ`t^R!v+yH-eZ+9EOuvMokhKU+Xx_Pf_^7dDbobaw%a%flrR0@3aaY&@QcrIZ@U@}{vP_dOJC&3| zP>(^JjC%bpO%R~cJoOSFgITuR>bCkx#TRGqChKZ5P)i#?xeokyswCA)h>s5DDxd$< zMnp88KmsKcW-XklElqJAX7FGdvR`x9U&=W{5t#c^PPR5cK zys7GBrnQopNXmX6-W(z?2&&koH=_`A~NAI7#Q z!baDDj@m5(zE~)}XT@f4B)tQKOCXd3R7uq@HJW{M+jv_o)gRA>x6dlJI3{IP!F4N+ zQ(Zb+eYMH~SARY6)w$2Rw@!Pl&tcgjyEUG7eHGc6D(AMtBxplA!DzU2Q*5J&HSkeT z2I{M?2y;;YA;b$fLtE9RP%tS{%XQwbYfpzJX3C!f)lZR|Itc#!H@P9nG{yYgnM}p@ zx0m+ZgwE?L*r$6bkgWUw00%l{(fU3$3(pZ-Au4zu7i3gyR$V!};FU4P;$Uk!vj^WaRs|6`Jj&;B4$9IsUW z?7ave$YT`mkpi!p-anNSy#&;kJuLkdNq$hDJ`*We&`2)5kXDWW0oKGUGG@$+>@qPL z#a3s~iWgjqn9eU`oh_F=@;qqAwKg2rX>XoVHq$1Hm;S3&q6wj$ zeqUyg{R@1Op10Jcn|+n?kZd0kV18`O-GTCz#X%rqVLzqCe#$h{Nz2(=ivgNNo zoT_*9VJ|)3f+3RHx#Wg2im>PQ{ri+er=Qok8I(4d?MC!4ft}N3tgI41bM5jwO?ecz z#71e-q4cQW#&fJ1_)U5~jd^18`1w?XWEoDppipAV#6tFM+&*1uc+_;keZAe7;R_4ENeZ8fuFV z+bAV-1nz6*$g=oj%lkG}R$P=WDSEQex+i&8q|A!(U0%6D7)S*SLFwprHi=2%ISinf z>1QYYK`TRJ+@xtx5<KJIBn`&iBQo<&N^K&u>o2p z`|gB~yr@IGzFFku@=s-#LT}HXDmzTP5{y0!Isywtx(5Tk(cQ)^X<268(@IO44{4#c ztvG+eD?X&} zoTT}N+ilja(eM{@+Q9`mg|xvZGYVT9pfqr zLmiqj8sv-ge(UT+r7`Sd@DKSsGl3m;5EFy(c+>0Yo}Yx6LgDn7bmkY0g|0y2!IopM zEp*4F{^0~v)NFWuKe$6sm?#a4#iQWy^urG4p~|F`-40ZiU5;_WCE)HvB&qL>Bs!x?QN|+)G<3db zK{(bXV$v-EqhFJK`x%XlDRA5o?+AU=d~$~O!J-0ze5kMO75%Lp-QvQWHigGl_FWHI zrAII*h4AsquGx3>>dIC{*Iga{2w9F@;Y_9ohTxaj0QM13<{z+9uw67DA`>3{{7~;H zivf<#plVwqm4uV9VA>ndcFX$&+0`O|*qyS^?`SmvBnF)I5r%!U)hH?w$TUi9{1i=u%WE;4L6v zt&JWK!4R*Fy?u#GF35(v`M1;Pi0s!(FXVX$xp_V%<%12WSwZ-|+t_M^!E$;CuR4kx zSo;zGW@)MdSy!u$QDqPq`1m-O+LH+v*~232eeT`%I~PJ+s4*Z=Ky zKa=Ra<=3vH%10X+zIw!zXS`IRe7Dfo=z%z-N#b6YT7rgg=UQ<-{I9(Rq#XIgikck_ zjSas|oAuZ$%7%hX2QnFr!bKG?X0$P&f_x;BYIufqXizV)x6a%Ey6lG42aZQbSzcwM+kBa z98txt4%LEr>soWnqop|UowE!sB>d188SewP(UXt<&vK<<3JrWBpz+ZV_fEwrmws8L z_I#rGzU26WKnj5n^fa1tq`c7&M<+1U(9`lK|HWrQN)oh8G|~L2*MqwL#$v-^(V|C# z+Dsklgu`}cSF(xOQKP1rX(1cR3YBwz|M{Q|&7T2fKvJbw^Zh@c>H7Qpd)3mVbY+=gWsrpD2$+F63vi*&PhkmlRT$kM~YP?@mq_&~M1K>oxL}5CK z5}J!8y5dRp%U&&HA6;B7j>k&9B&Z{O_D_=GZ%UmciR84}+kh#Vh87=9cNVK>r0qZ( z?;N&EwLM2Ld%m(g*j@3STCJ;e^T1g;$n#j0UEdVflw_0CHMG4Y&P3}K-JZEM%4Tl= zNqjC)+g^#OI`*pd9YBqJ&ka4%P{{LfyR6?&Z(ne(*~Zg~+OhgiGWgg-IZbs^fThJP z;U-kXcn%n4C0KaH_~sNG%aowyWwp{#x};Jx4Kx%XdRtGO$8@q7GsX&*vB?{p7fk?e zjdTkM##(%O>-PG5&yQ5RytJCF%i2jIY9>Jvs8T`lZP-MjKRa6_oG~bk?7~&>b;O=M zC&G$NIh=Z~Q70!Q`fZ!dBr2aDV!NB=h)};!0|r4g$gqzZWQurM6qBn4K?n3rbw?c~ zK^9`|rIA{j&M{yU;2`UUaz5cYO;<1JL@og5m)nNxx$gWghny`^!0_EF8VE9eK85K1 z0DaZ>WlyMd+c#o_#Y`pPCH2U{l(g_ly%=UPuKd(NrdX|N*}k<(46xE&yAo=vd^>kd z71V=ANX^p6Y@>DLz(n&;Q9R>Q<*wqP*fNQxu^zeKgqFzDBTu`ST#;1;MHTCuf}Cun zk}5a~P)SIc;Otzkm8QB?pg??NoF)Kcove492I_?bpol@GtAuQ+t&s22Db`aC0)cv= zFhuBr01AQtf>fE^N?UwP)zp$PIO-~Z95E-lplVDI;2FWKMccIwf*}Br@ zmsFsbhn^)%Y0#Hg0Pwra4S!V08Fo4x4c5-U0Aw)r1DOFV2mo*Z00$C5nrvX+<+3Nv z$6Xa}-=PU3=wp=s_M}8ttJ;~q^8a7tB4!z%wgxNtenjZI_35KxRUCDda`FgBAjcq) z1Rha%WeiV0=v7TO|FmEr)U%W7PC$}Yw7kFgfTJ38yqLr9!fZoXbnMx32tsBy=aUr8 zeo$1fgAyhPjOyC-x9|BLZ${U|3NS@^4}lcBPsNvgS6O@`oM5xgqRwytjf0DRh*hFi z{gg~#Try0vdfa5cCGOSiUVG)O6J)tEn?BGa@1hAoK3-omB+Ncdo{= zYDs<5_9M}C2y`UM=Gv~nm?I7#Iv+w?X@kFw>=>6`R8@Ss%gGj!$2|_Uqb{J`>k0eG zz9*H69~&6==geDWMI~hfLq<<1Yzzm!UCNS$%jEy7*v2?9*l&_fX?joWx@E}eHN?eX zpA650ZSvO2J)E%DX4$eCOTQJYX_p=bZz_>S99jo|Tk?nrkzz;Uv?2)DGHp8!x(S45 zQDfJ|FO=M{>-zerF8>aAW_)dBujCdMEbToJWzbBRO-f=uGVM1qnyiv~q6C*~MwJ@f=9382o#aGj^7A^P zghqrz=}%$>i`NwfmQ5l}xIxBtDb&!*H9fYH<-cP{BTMW=*y8CFgu*!-uFLW);f1b? zMELF6&aAbvI;&5Zq9jQKlSOXQ#C7qqA4SQ(*Yr{;z3Y%byG;>~^E2iu%Y9$VS$u&N zDta;&r#wDh%h_uzMiG*86E!v0f2sc=Qq6t(#pUwqSp_pD(^8aR&{2@eZAr=|f1q8J zxINJW#4#@&YpJc|&Cu785{s&mJD4dE#u2UIU9k7TbgRE>2N&}4H(*y$m(fSsH9vkC=W`^*>tnELS zixTH!ko=PEvIs3-cgifkh3Iv_Er@%39?Lm_ckahnnH*U zECtbAY(0KplmZZ>`F++;M39SFd}E?Q*fkPIw=by9$Wpf6Ggy0IquFO^kG)s?@uSZSl;T-}TA)#wciPIHlSHu~udKc3rX{%+g;T;sn@k?ffc5L|q8xhu~ z?t14)t)X%Xm8!N>k*37BMpNHRR?Kw~);rfiLJlWGS6q)JmHff6al4$byLQ=^W z6g1OjC>wt$%?87u@>VEmi)cmdrjMcMaU+#{d=MS#P0poNJYFxS7lZnv=NF382h|;F z#eAyy2jgdp?#Rj%3ZW`N{|EJ==pv^bJbB?CF9Yo{zyJUTQ$d=LVBO_bDnw>5e23-x zX_7TZR^MMltW?L61}cWjW#&*J%;|`X9d^Tt|3(Pi#dkLm&ie? zO`&^KCinD;tg@^k-2${#|4{;~dyk#6)=>csj06wrITl{$k+IIpq}Z(jeb5}}cSYLl zR>GZ`4Kkq1lz}_C;%0QxqtfNyFUpJ>|DdO2+Xjk3D+v{Yx8U;pPDI8><0p<0UjGSc zGO5f^AFXj(9Rp#@1UGe@qFTJaEV5!V1P%tlp&%L3KxxaF9~$&fR6jD*@A(qxP~^$? zDWkJiCSJu#X82aOT#7RrT)BLN*wXTliZjFH3GV4~&vX8~y7wg~ukEMAe;`kM(jlf> za>^5LMJSbj;H*Oi1ErNjia$xbzsvPy7nR0iIKfG(%EDDFXY$rVEnaO1knAMMmA0B& z6y}v8Ub1;j+DOu=a=GVArZlVf{!L5mY_4`5zvNYp{kL~rrK8g9TKS}ZxQsVg`S6JY zRV$WXv`+F7(><)clcN5z*2IK5ey`M<9P#a1)j;2WiAP7qlg#1e&ul+mW32Ioc)ba$ zD^km{Elfw)N2O($q8qi>m3Qn*A$vtyKyu$F{!xe+5#exK+P^E`N6}Q8e=VbXn-gRx znQ&~laxXMei?;KjJ;wL#6DkD_t8lvwmMM;>JUlVC<ca7RBn}VoB6jDaRMYw_GF(g zWD=ZW9YZN$R5}nk0*Mx-(V#R;50SY1#8Uj1EdqU$4I4P{_(liOi;Hm=kW-)uA7L64 zK0_(Yx_L<^P@eC)e|nY4^L2>x6mtqZ@aV%~sE&SOqd;Ij$kI{!+VyTo-1&Thf~5n4 zc=+oJ7zWX=vI|EVY4wZB5XxghvK=j1PR7M&(Cnr(NM{QWKnB2vkIs7kHKy?D8ok_2eK_>@jWqWorT`U4Ig>N6nl4*a**>H(J-!gBKer7Ibd1}qu{?Y!o?Fy)4GT7-7( z%3{L$WlN};koUV@{ERe*PiU_oL0z15hTli7k%aK@>9R}d`~ z?wNxJUnAJEl;woqk%8OAWAAq}RCnj?d?GCJZOKA}!plFbNy#TJXnjgq&_Da#GzOUm5u zZE__@HXZ)IE31Sm5(u*Z*gtl)tdenKnJWS#G!91n3KCVRT)Flqqi#vEr`^i+LE7cY zIiUQC5!gekzbTuxcXEWe|3@QvWbI=~G+rcJk;l#6rNJtSWGoM4Saoh9CtMLq^|asN zD8?j%PDn?~0ziFy!rdXEI!!D35X#1|3J3lwL`d~bnU(VzCGGh|bV=vw{GM=(&u%Uy z?+$JJ5$v5EyjP;D7x7~8aULwoh+Yq>b$yD>T_G$h7In?O&yu^`G5`C ztbtIytKY9*A8)^}YUZXsJL}Y~LRDlz!s}A12w6H&2>CKm7|yQf66t;nAr(Yp;E7Bj zJTB&M5Q%A$4O6hP10gDrZ|KNRy)$XP?K%{c30x!^F>0la*KD1eQCXXoQw1_Bbx3q> z2Km$qdAQ=~xTI0nXY;$Rpg&tYh>mDrITISk9{_WJI}%}AY5?U(T3z#X1vptjqh~~N zyDD+SH{l>E*i-F{6b-df9fH=$Zz>k>Ldw89?xdY5mM>0a==zsj#Rbl7_u`i1w^?+F zZ)g%18mvI@d}9f#Z-n}(#z|$`B90XTIpNNtB_t>)Y?@Vy6KY+fsNZf~|^m+rbL)BRYAi%)D96 z=ODIP&f}1DXk#8Z{`Qgktu7)gopj0)Yp zac3rcnnZJsG9>(=E_8b;yeBKu1o>?W4!%~0DxOwG1}SlK2!dl^g#eL6Mz3*>n`c%< z!ugs#K9_3D%R=Ateq4~=dS4JeZy^)~iKQ^)K)}DX10PciNHTGVH4@!H001iCq*`zT zebv=)Nh(^yRT50kfCjN79mRMMUZ?;7a$kj%7Tcavj_Popuo1A7rS8F$Fuqn^9dRN(2vNq_(V9YP9rx~a+t-#9#=>dH&%tq5v!_CCD1`dyNC2KE5l`>V8f z#(w+OudjSA1>iA#Uo7;`u7Ydf+s?J})}p()Z+F$9D&F@y^lMG;%39Uv00007>T&=8 z@9p}v*tlKa6Te+D9L8r-?e49~e4qf@fE)k-23SFwv|!(qLXj_M&oZAJv_; z*}pC4ugL4MPJyc;W%g+~T6Zs5FMdYIHB05PmAMP+gxDY2eai)+HlRPT7!|oPMdkAO zWy^Vf*N>g=gmLVsDg#XhgJ80bH}&j-7*u4oMF4!BLl0N~porM!(;=E&EyTxJHOg4A zT55J)c$k2VVroOkyv&#K`!`C<{R>%)<=ZB;D-XV8LVOP(cB4w52Sl`(y|9K@NOnBPjK}zRFgr6G$sKmpr8AkEHH9k-f{Y z0U7VhB;^otJoC%z#1un!U~J04&CvA(*$tqf2iJ-FA9*~Y<|I*kOlQgNl(Wgnr@}2j@mbh*`TPU?o|9BwM~esKZkE5(8OKK!tGtq>m4Z=a zBlrQA<PGGfo+d@MU)>XZ z8FlRtia*r8@P{)q3-UB<$Lld$s`d#rf3;-w7N6^rBl!nR!n#i`(G%q8V+x%J?oP3y zWabOxffz^4$`Nf)((>zM*7t~w%UNm5>mnpg+VL7unROAGMUo&PZ8c4*T%firUyHv- zVzGW-E~S&zUBqmXsZsorWh0H8HNSk&QS-};UTC=u8<(g}d)O@1BZXi>2oLg+FWT~@4$h!p@0Rg2<+d#b@7K}M z-4idDqI6hMiccvMtYf4N~b6!7Evd1KRyAQ6c45u)4}Z{S{pC7^N{pN!cR0(qa7 zXo2;}q9i{vf%Mnpu0|n-xPj4(oCj-cn|~AUe_=0q^5yr_L=YSyB|y@)*M7bHh1;}A zcu7GXoYIMlOY+NDK_iGdI1p}vK^+^6n12BZgXJQeV7O~ooBMoLi)js~!{z5eXiY|62_uk4NS>dF*lkAcYxb8o%SiFQ& znRGh(%daD|eA6+uCDkT5fAVY+6^B=d7VpZ`2Khc*<%HDt=oXA|0gi+Npo(I^Z%JH) z(vmE821w2bOd`Uz7b|Ywid!>9D;$}9>%WjgFF-zezm>ewzCv!tK<|FY6L}(5D1M~T zg<<2MptSl08Zfi@VI7cZfM^1l2czKxJ7ej|J~RjX17o|^Ti?G%6%p{sRtuhAgc=B< z1%}yWM1bA5B?@;x z>Gk)}lS1V9OU|UBf{xG0S#MYVy`ylOos5h9#N?G_YZoi|0%k^3k3vm|5@t~L_ z4bjBdP2A4={C^+MZC8wS&0exZa}gE9jtYYz)F)5H#5%R>cGW{rj|sFw5lCpd1&>UJ z0_9eA111~p1Y)(bB#?=tC($ye^z7-;N$n!c@wO2-6zti4pR~zTk^M$4X33(eFppWT zqTEW8Nd;8rN-P@qI9MUJPeRyo0+}z#udy1aszGTfiUH<#+9=Eb87heH3W^nht^u5w4v`unqp>1( zkN}B*)YK$^H%2*)il;JP&$kuptmnqMmYQMT$J)Kzu zt_NOd)qq#?p%eo7^k>$_0P7)ybPxFnKZExrKBL@w_}+j}iIjnQQYtmyLSiysoxzWn z+pa~qXsfDSlGin@OaK5BRJ_^euAM2J2&(V^uCJeBdH*guzP~OyM+{YUd~>87>fm+o z00&nf2Omek4^If^@fBXc0O#$F&RskLyF2f3*Ux*7bN)GL-?N;Z+xe^K@8J1z^y%^8 z&)@(600H@txPSs*LC4TOh4GK>e2e-xKd1OI?friXt^fVR62s08000K8L7LcL-^|BE z#i9OR-vmnxc{K+{-yQ+V~ zIe&h+e1kkE&b=p0Sv_PCD-8j#R7sM!>`m*@en+Z=g83|x>wbI7zET8Qf9|CT`7sR* zl@}=)0jHkw@)wx9EXDbj%E1Sq3G5YT5Ed!{pb7(z0|J2P4r02k{jYe8zUAZ;!6MOt z)J&DRckSn)q?D;xtvefUTH+aHw3p;kf0DAIcICzN17J2CHX09=6SwblTFOUg>M}aY z5^y(i{%rYPX)o{n9823W38P$|Iz6 za{>tbGhBeIbKPMd`5ab_EtBmgwXBWGffnUwF>6z59$nPjCE8nQH7U>HGR6ROJ%W zG0u^YkIvRGgm*CW>cb=PAD1uH#|TNke>SX-p1*3U{3h|@J}VQ8{oRU&>0c^?q}E6+ zaq-phm`78Iv2Pt2lDeprhx=Mj$(w(2v88fz26KN_Znf``T}!Fub;Jd;p7Sqn$lm)P zsVqXx6WRHFgwoT}mVQSJy5B6R4Ph|lGg~ChW|GM*nq0DfBb95SNb7Bu1()1im#>nt zm(<8rlum8-HX3Z`Hn9{|9dg&N6(&X|?p%a%ee2GNuKMW``F^6g1!%W^La7Ra7ht^G zwED<%Oo1S*K3|Yhq8JH7W8&jqUoD@!YC8;;{LyFW!mq^EgNp5(y%$yckkJ9?>82f&2$ebroQ*f<@*S73|MpoguBsC z*n7TC+q_2@9D&9QE{W{a3u&X}_(8`)gu~F5>F=H$MGl*uv?K=c;H9XJ!XS+XL(Byc z#IDLGQqZxk(3mV5<0`V_N*^Hg1ad+61(X?0<2@kygd{#C$Pja=u#y8{{5*C2L4DyH zqK;<}6HDdhIDp>Qh(x389X3Z}Na{U%QuQXXu2I;11lnDa5Ya!0k@JWMg^e$oJ?ORl z`DBWvMc9=_c>&OvF;ZdDvs%;Zxr!|En}2v(3unelwf6C3JG zoWmOiUSSJM$oTj}V2Q;+<@OWFn~G(IfJo&K9!ksP9J@#eRC5MS#R_A@lF@KA%4v!K z0Wd+JT)xGu!;6HQ?eAe*^6y_R|K$`y!wC}u@~C7DQ}R2f%X=dm%lU?7xnv(3!4?R+ zS(;dG^tJIg%x91~OXUyu>br329@p8WoK60lfJN&@FJUe5@ldo)Af*q%E_}hJhSV^| zYuKh|@2BrUG9a~g{)*d4yT8!A&?YM*RX)4;lpX&v^zV`9&Q~m}Q|0&NynJrO1t1&I zFi6lDU)Z_m&fYz*@+lPjr(X%Q8k=QMg$GjEgk0>)<^SdP^jG_6pW~EO<4KAgE3ASV z5<PxCHDA3FuMWt+d`&V zwL-~UP)<#eni&-Gm`Ri&xks6mi+rGrO;gLnggOkga4`i{!!vzL}vd|wiwh}Nt`4A1x2F!t| zSg0lnZ@DYq{CM{6r=qSRuUnNWqUQY8t3V|;k=ydh%a#+54*>~0gfbY2Bw0f3NjKoI zaHx5%2@F`}Se71>)woO*7I#^qrdKZ_+zhrHHs&HZo20rsp|fmlI|3HcQ`78XYfv${+@#2OR;rv2{^1phOS~T8@ghfDvo}3NI7; zZ#DLS?VXTk=w02+cCP+^q3glsG4g@bxVKUq2jO%E*i&3IRALr~Dsu@U-~cQH42{BI z19M~;nCh=-y;pU8e&5e^>T$|M=U3lSrBqzsn$>6oD43)XXb7E?{+O2!?&SETq8a-{ zrd=n=cZl-YARL`X`?cgw?BZMc&8XypJNX_RQ;#P@PN8?jCX@)|lvt*MyjT{QW@?j- zhM2B|oy>f-VGvEjGl2d>Iv?02`Jl`F@B^c@E#-lqv<5Os^vDISa6i33G!UPPsqPd&#Sa6R;MfKp~4Xs!WWNx=t2ui=|E0h7oOCuxe9l-+EUyQ?4bB5~Oi( zgO~c9&dt|o+j#%F$`MOe9%HZk={|YQv*#Lyzy{oU=C%vgcPRm&Sas|bzK{V^rQuQ6 z{yKHhTNSZh>xiknXm6%<3TsKeh-+P18{YPikOqxKP3gUW00T4C(g0TEtY z-Z$0RiJT^O(-c-;1i2eZvc?TWn$gc`(nW<2#R$yQ%8izf%!hOhmQ~Y8ZHGN zoG0jxnHX?sAA6Vhf&zw!X69N zRer;vV{E$0LD9i;>}9CcMD50y;1C;LfyAbGfXRDVe_ql#DN0-40yLZ7>`~!&sEd z_gNAAf0^+cn!w+RVHte-an1hvlX;6Mlydg}5p<|qf0{-{$9L`PDODvx^zHkZKubIw z-oOZJoH@jznCB2Q#=3j!tz#TExF(lpY&i)NiAZQAs?q?aa*+|wjbZ!UJEL(GZ-29W zLV6huL17kx7-t1nuqyg7>Nryc8PiL_iSKLPu#EeiO1wEc!{XNnBWJ21+h+WnW))kd zH40c7W=KV5y^;QuCwVPBDxw=P$tO!jYVP*r=Ebej8>;-L3zu=83c7HrRM<7AS%js~ zxLoi&>rZU7j<(C|t@lX%^;3X$?%x*d=s0h#zq*~-FiCfU5PN{#_AZxU4N9Av6`h9H z7iBfDFk~BVXS+19VqK*zYKC*G=FL%qqFN0yexXY@DmfhrJF{a#T_$VX?rKKGj|LJhCJl;9xe(`P`oI6&r!Kk6zi2OS(486IgdYdOuq(8C_CE1z%uk`rcWOHtsDxNA?jU{cws>utxHI~uU&f@z)p+|V(`5YN>d?x4 zR*EIQ6sd8%nDt3JJM(0*eAeZ<#}&It1xITFjM2$p!aY>AT+J0rBeP=bRsrug@H{Gc6(nlcAe2bnIco0e<>9f)SH_*z`BePg za8|QCMch&Z$h{JukXhpZNmjgdg36qr2dHSK0+LZL9Gkc*qW;>ueN`zo^}>OV9==i= ztr(_wE4*8AN>=y)5vDD8#n7#0B?;iPG-*l`H{KOX5R zrjVk5vk-U9?`pW-~ecftDx>#=GCxl>*x^SmY#4>oMcTRPs zGR2PZV;%8)Lxzz$=}nZTt(V32w*QY)P%!VFJez%=6K1)BPZGRGY^HSFSvwNTLU~$fHu!s-JTHS>Y_8RA6jbO z_UEyG*Y_8lai;Gz9VIoJz4jt+(lTbx%iDRT9M;#Z>cK5mRa)aa)u8XK;c^oNrqzQU z5nZ@k3?AbbMg4MjdK8&HA(#ilM0d~_x{R&OjM@Xz4V=ek9^?GF_(7iJKg-*kKhQbZwB>vo^*r%1!Nn+7;W7!97XUVC5H;1r+( zwGTpiK4*aaKDpZSq(Gx`(`<+s!X<9d{gD@Bv+_OsoKCXA9>w1njg??`p&?AxolC)y{#6BF)W zZ2hxl%sEr>TyM3uvP-&UdzRDU);n3D{n(`BCTQ%y(6OMgYIjksxm`J#zQx+toxx(v z{BjQ|5j`Pq?0f$;)jd&PLL#a&Zom0h922M{%(mCa-xZeQoL%HqqZHqS$>R%IXAVvn zZ73Yl`uP_(61c*?rRmcv>{R2G5Lo1}`wK)mTcsy?G3HjcRG4m=eL%Etj|PR@mfQ8k z=0$H8;z0@78`HTPYuNb;%@UKw6?CK=H9zFi!&6_1qC3j>l4xm=Et!-B1w%UW^Q}zElRqH_}=>G|LT>ui3SgsOWxntX*zj zvo{FRX!#{KPMr@FNFP`6%pWff!%?JN;P$Gl={;KoQAnOQn>uLQu z#O6?D%C`RT0cva8|0STeHfW0yTK(TrU8wY~jv9MMPUMnq)XneFY1x11AJ!a787yhK zi^RC+Tbk__F2g?t+hgAZ)o*Q+rbZ2!iYMOtgBtCOYSzW~D?-!)bn>w#y1HZGi zk!}#%+}7h1humu-7JJ*8Yb~xIvy(#87>u*q^<65sj@7aDo8_i*De@!wg^yPqHn*!d z>qwUS3h8}L(6sY3oSF}-DJN`Bk8Dw^cGXmpY|S9cN&)M7xDFj^BH2}S?oq-SZ*}HMp;o*#bBxiK=scAa)dn+BU z1Fm?r;tGHHk0#12;;;~Dq5D>)sjq6Fyxa!S`zUqQNkbsI`Z=SY8+#}F=XY~++n%J& z7YRC7!#3*MlbpS<6V1!?*=XI>U07nZt5_=S9U_e{96mn;X@9UJ|U;RYmjjY3c6Ss?6knf%dW6RnY^L+3rg^oZ!P;^RKYmnRg{MpkxkIpZeG$UNxY#)s!lIilYCd=?$Lw1nn88StzkJZqG!; z0&k)3n{VB>D(NvZu)iX$;D^GCt@0Pxg6D-2+4yO|ew|v)A&y+Qd=Pif&4y&#ZW%Ld zbsu!@Cn`YbXrW5>w$URntxowE*$YWV%liraLmWJ9UjH<4OF^=}TTrf*{qRh}SzSXu zvKnv8&@f~FB(L`|pCp=IP0kcvWx?+qI)E2Gi@}MS9t??BF6e;qM1!6thuP^tcBt{LIF?wuxn_2(D zbuUc*Nt~d20#;qrKoWy8EW$otKbY@X6Of7#6$|H@l=xJ;&gHm~<@H651VFI|j-*5x zOs~4tNR-*nIb!~fCZrr&A*WV1{cj6JtrdEWe_Ny-4&a4WveT_{n8}YwXE&NGX}NTo z-Ewh}SIlm%L=o<&ABa-A@(G^)Awuf2$TZN2a7MP^9v0Ec#y z(zt7SyBzDv#QV51Rn%GY_WJ1!|`b<+K*DM#-4} zNy#J>YVB-MkGgEy>vuovup-qHNp4$W%$eEiAMbA$+26DmR9*XRTWo-?@hqMis7O?v5LNXkyYrf{Q|_G9M-Dontubr_Yj6CYTYF?N!cj?ZOH7{H zU`|c0p}SCN>TNwP{JkNGH%`yG)BkWHOQet~5H%DPW5P7B;O0t2drE$MiNWtxbr!D1 zax8hD&DYmcAxy1uuqv81UDUh8i!XG3R*?e8XC z!-`>abB@EXKf>Hty1GOcAK*LV@iMGk6je~RqO{5frlBmVxRh>7t|qncEg5A#M{#X< zyDbi=1f!Xy@w3q}?}4hZT|?R4v8!vC?(A=F%mPd2Z3Dt;Pp5G(s=Jm?e2Xz#zpnjU zP8R~@MCG;>ItkFTWjNBVuEf-O+%_$57LroLRwQGA(QciZP@fV`* z1`!$<-|JISRj8IG)aF#-LjFtP|NCi_b1IC)P+SGTb>*7Jli<6xgp_)nR=2Ak$X-f$ zoi9= z=4Z1EOnP0A*)X}aFJ$2wAbnfg#&z0K`ep2c8CCANlNxpgX!n|k?M<*xHS|E990vs^ zV~K=$Ys_i3652Up77UOYCO0?$k*G*O0m`;jH?kairKQzg+-P0GiEKn=dvR8pt@tsp zXb8bFMAE&c98)bK8@XLcxsM_~!`@pPi6QN)&|T8&`?c$%7P+z|lu8vtmzXy35XU531e^^`)xf^)rtuN#+wX z{*tJMi^^+MFi^8kU#gQ5N6)J?BY4-lah}-)O)wHm-{bdhANlbT1)hOcgY!x_awpV7 zwo-W6b~|EZ`_?*)?U^JZGIRx-tMPi)oqdXq#(QkOYiAE(v*a#bDx8@&7sB-7G$78Y zXn>B&Rn-~pWe^m?uolL}_@np158T;-1>}+2565J#%?gF0%lPY>KKq`C3&O>rTIpN% z+^#(*r|5^GyDM#8Pf@c0<|r{zV<7PRD>CNFIFc)XB0XMoeg^WFvYWS zC-P)ZGzBH!1uYeff76jcb;czXQiKDiIu^(L#*_|@F|ouCw+M;Tl!yMP2rI1LJgcD* zo%x!X$lua3&$mlOp~z7{3gT0U@2@BLewK9i74j-SeIR!T9KQ=y#&Nx4*x2hgy6v{Q z(sF;^Ktx^Vg+WRsy{|QO$>}bmQ@-y_AJth>w_8GgKVJCz@IfM%_Wl?}>Ed2)x<$wH zMa7X*-mSkMh8XR5{*V6r-0^zrMNWyaU)skLHNC|5_vG}6(-qC@U%k@wvSVm|%QdT=~^#w4F_;o?Z};1~z$Zw2mKx-ho%;?gpu1kypSJ-?RDbUB`L% z%|=Go1-=V)p@TgnCZ@)#LX5Ph?|Yi!Ia9X&oZVNA!MLB-yDw_^!n00$>l^eVTc#3> zu#UP!6agS`! zzIIabpDJQ5v@5TwtDwi+ima=4k^=6Z(3NDK8|%PB1|;<|&!5LTG{M^262> zd@fd>s^9xr+@0AWG0S;`LXx-JYU2(|W9sB-=V#ZA)mXlciLTHaze@jET#R#!W)h0E zIsQY}uffnX|I|<3NkeKybc??O=rxw4cuUGO^04QOx$6o{&=sSk1&mJM?TD|!?W9X3 zgPMJ>epRwH2!0p)W6;?&9STmL-`i^&zC^z+irv3QiYBB8cPIYI+HgHrtS3cxON!Q+ z6J|L=0jPg?JIx)hin_Tzc9HdE0k}SVbMd2=U-L1BM9oMXp1dME|3Vy5&MkmzTS|7x zX6svQi4`UbLijL0y3a=b?gIQVS?QI{{EG)_Tj(p_JIUp-VWqdrw;uM(Nv$- z4(pjen4@*NqK=W02ZOt#bUDB5dUlsZu@0J}z274AK6!v%o>BnnBXs~XZXx6ESTfjf zqcbJiUy82VxnF=GWGzFwij#F|7e2WF4<^X!L0QAsz0RLUncvDQRgEtZ&utsW8rt8! z8vP}gbGw5{;_)+i5o+oRD^-G?wy`=bjfyUFK*G*0jU#-J?sq}&%ABQO?Yg*tEsv}M z0h=;24HkBp7qkf8j<2f$r0YR-qAghSj{0(8pX?a6(e3vjW%qBSYY`jlMmIAR9jv~j z$zl}Gh%azQe%Cb6{#9P;XH%eY-_m!aEB0lH=J(!ISIG7%{_oeV z#t3@$7QsH7-{UG?An;!3^W-;)4B z#(legN}zo7@MuV@Zyr~FxiHxsy>|MA+gs_=-JyM$&l6AU+;w#QIqR|AvK3b{vs&U) z{SB!H@LoH3Xo|i8p`3eI*!a=OJ+Bx=op^GZ@ZbQekw z{X0qXLd_ajDgv^Mb7kddTP@@M*p{rxH`R}2TK(GWX>oEm5sJJp*;!m(x7~Nawr*`> z(hn;*x1Vo0pt!478dK*+FF{`gT!oX@nSI?V1soBTs#ZPV*4n$g0HfpzPFVUXlD}WyWesZt8mwRx3z1)DAa+s=KiE)DG8F z2^Xo5+Ebb0+0~(?Q(zz8rlczzPrXzU7*jt(jYjyVPFifnDpFcM`4MdOUx&K|OAbM5~6X)~95SX&N#^ zCOF3sckYF$Fn--Qpq1pD4((CA(qRxP=ytnl^IK|kcsa|=ixCq|W@SZoZlZPW)fFr0 z8m3@MXw;-A_v`$592boUS1YJjgr zONi*|?ZiHU>r0K{(ofDmuj*2B_cv$AF^_UH)zLm6Na!Ne;#W7gw)oUADs)OnF4q2{ zWQk3u|ef+S1zxR?AAZSLx5Z_koi|+id^mLO7WlHg_hb%b~V# zbZyRh{<}!~Yfl+8-i`c&Y9(h7QN$BX)9widi=WJYi>P8x>*cF&SQ@@r;cI-CU)<(A zp;Cdzz}$yzxBnq3*Y{rVtxI`%9q!{rpD7ZZ9Ze5Od;Z=eF{XFU7Bg)JNErYB>+ZK#&DKo|nfHZG_!BTP+Pi8I5|8>hY@2 z_UcJ-V1msb8Cu@M^LHa70Mwfm2?h-M?Tl#IA$jYxaX978a z7oa;rM?mWGlq+5)Norz~E@U~2D!D80BGa6+h2aGcS6SPt%MYAWHBKhd+C;g#6AOtN zn30@^&J(gKj5CD~qBJkEuI_<&RH|GQb4o9T34&ogrv3zJVjthuzc^v>FMc2xt^J){ zxp1{GRzf^ZJyUee3%}nt^%N2+bZ4Wy;ceai<20MCZ&viHcbf#2zAn(P%-sDw-+m!t z2aCS}3S?hg&?1s0pq)46W=lWDF>M?zVVSDfD=27oYJuA3RXV~ZnGMDM=)#UB^!#c` z(=|_D25uEPbEc!5&&d;T?V>KscBB&ZRS>_PU}3C#LKQUEkU>pA2l(nJ*6qA z@KMs+BX{1Gr$okT89t?Dn{TTjyVb<@O4~-W8)RXgBtLxFpB5e|w{>WlGOn-@GJTv7 zwa4IRQJOrfzv9am*hV1a8$|lS#nd>x(Z-MECo5=uwq$CZ-J+8S??h+asX|5w%Gn+NLvXQR z7%hRQrt3=Rlb^wT~b7xv?Kjhuz5-+5gMUHx|U2dfzaC;j$E z)tHm`wfgSGmr*|Ne(QEC40lfgH^1^&(DQrK;_bb+6{u{n>aL4#r0%v}zLn$^W+1J_ z-d?uqxgF?)aD;Q;Hnu6kOqptvK6^4FzuRtkR(xgGl5l^m$&|0=yx6@HuhUO;QbjRK zS9LAFlAI<56ZtgTzBYzB%8ZscAPMM#&inSM%B^qfqMVy6nd2$hJxFP{I@2dayAksu z5~fs6&z3dahYKS(zRPW z^nX)DK$lN`R|E+A(f$soAzQ`W`nSfF)93U!`3M9EAT0g@Jo)$l+|V0@?^9{xsRVaI z0&;j69Qxqf2U~cYn-&U;ulE2j22>e^T2+jXs%!j--bHSuv53W8b%$kIzCnn%6!kJV z^~nuXldpL$>8JQk!621(Js@|pqB1gzexG&gvm&s){dsX=76}W#yL1$*y?=M1T%DiZ zydkDV%j>J_{-DofuX|Vy?QN}VGs?<&N27D0!-J8G z5%0ARjz;4GC@?uypKf$9iZk$Oj;2HPRT@P`C?Xd(F;g6n2Op;*>&u(0*(FVtFR-l( zpRsifo#txRN3ihiXL*?Y@3>y459FVb^AqNWd>_SqZSbM7igE{P*3ua!>gBdjoj*0CwzIWwajU2Hc%h%@U<`+ zoywmyi??$4E~~iFy$u_g53#8jiztei)m&YEcrW!Dx-U7_C)dKu6-(D}B}0%aylkU| z{v-P=UyawTy$dr_zu9?{FRHh-UbZoI8ERmsy1#)Gn(L@uH+CQXK0%XvzWX}6ac7B+ z>ifP3H~Lp{p04NJ$nK}4t)(k;#U3H{m>W!5>mnBJbqBugB6YZ%lhYHlDS0RUN})PMH!W|}eG!D_;iT+^iX)_Dk{HFV5M%-UFN-^DR zO8G+efa+VIaq^#}+noY5gr#F1GlJ-=z8?X9;{n~V zVh+ty^NOuHQ<($Be@!Szh8E<*hDetLbNi^x%;H*O&#${$-uocgM81d>1Qmo-er6sJ zupl*YbCXdA2*%Xex5FXbRnfSxgA!G0^Wxfne&Et8wgV<_vCFZd%>l!VS54rAw)Qn86^C?tvFj)d!Td!C*kRm#zIuNN?HI<2v>0 zDJQ1r=s?cu`nz&a2upXTx0<2VYX-~2%Fz={*STx9F;3VdX7?*viG*HB4Vx*h;WftH z8F~McqrYMy0DZ?YX%yW_wKIL^b=UecdjE^F)Y+*#O2G^py`DR0NDx_{2@+KaGPNlF z0N#>N-;H&2IeQLMb(<~q9qX@N109!g`gHZ2)y6GLAOkIlq@ZE!sJP8ut8j6xVa_Q0 ze0yuIBYPhIhV4$z%f5orGQ|`|*NX$@Y>4NG7K2 z%Nx+$@3whG^$uQK^Hc~9bWo@Mx*PG)sI^rc6ADVwsTDQpNYAD&cbm<9`mO_g8E%dZ z<4~fMDyNx6DvImVQTEwS{k~c{iD|^mIKHoL4`i9hI}wfA+qix5>dG*d^}0-6@c76| z_gdkFlQ8!m)SB29Cp^m;o0Zv!rn+X;+hvV<_W8r6HSjiG7Ouy2Jx$QmdpuXs$I)r4 zEnmA0XOZGg&6TQK7_!Eq57<&?fkBs8wBkGiG)jluPVw>YE15PM?+G{Q)QviZcIApf z-5Xn^O1H8Bt<+tt+s3~x!WWabAW{2sZlWYxyO`G8VH(?fLa?Ikf#nkM7qA?K9k>2B zV`9vRr5u)#C<42xq`hMOeH+VoPPXH~oV_&sXahnl&1 zVz-fWZfx}1J*Ot4Uywm7t-ZasesgwbFo+mcFyfj56@Q<9m!_6ZL+<$a`Dliz-L$Ew zY2i;;@{)#EAe>nf&ovQb!{8aKD(*a2CwyFt3x162-js~~eHYwr(A)0&-mg}Bp7*-f zy6ftAPkp`e7_h-_zizE&91H;?C-oPt&dWbTD-he!6VDp(D}gGlerCXl;2dw>Q{=%h z8)5ncd1sd%czjH%q8~oRv)>A4!F=!e?D(J|TwM}8q@20p90Z^5k)@@IcNA%iq270N zi;C60UOoA&E5PdH;Pi3(*rzMIt#!NcS@qxqPe6Nn#E{(ATltVG|`xXHY{ zy^yQD(HiS*p-fBatHeJ#cXL+gh~JQvWMKNI3Zl~+y_Oo?9&gK#{t?z)HO)#lCt?=c zTwRmXa`B6ezJdAXDPDc58a_QTQ5G^{Gw)1gEyu*iEyOI>QX+@G;vzx|sWi?J>e0=V z;yB`p-ZGmim#<~?KcI}u=W%Nw&ugevCzTRKZ6s#Oqku7A2Xs`}<8Z~g$ZT^Vd3w!b z+q%*oUpq~JJ9(g7S8ox0@1o-u`@h)GF3BW-ZP*sm$)tEj1c~w zNzqJDffk!KEHK7fW3a_{HxH;}hLi4wd_^#mHsfmXYWr&@c{KX6#46iAPX%QoDi(@e zovS*Q7hFbDPfSDEC^C-@Mj@MK!?ZOcoU>v6M^3Jkr4ogGdLHsQ4E^&`6>~}r+~gf_ zCduL&ZCmM)hM3#0WP3}!;SI)$$ziyBS#z+E<;kJzgT+Tx^{Dz-LuCBSJ70D>g7fPz z!aF(%-aSanSF&t|bT^VTbOsK;%(Hi3={LcTI;^;G;!)TY%L+9oh^5c>#E!1{Xz(}K z8?plfVI)Q=v>x}K$$grDbxqD2sXjf{I~rG{F7wb@NHr6{_b=U0Rb6i5xm;>k4|-K* zkRrT@Mv6HE^hj*oSCK9%`=XX~;`_a798~e{Levk3_sHXiJm(K{zq)*X?q;@n{_@yw z^4;r-MX!D0?{xY*+)jZEQ#bm8x0}A@`EI-VFePm^aW5Co(^%@4*LHjbktTzK5ejmB zY#`-6ja?=#x%QJiwi5^gplcdnc6o4GoolvnTTA2JB2aMpkSde*rOn+B2+gnh_^Rc1Wix%-bT zH*>uC`8Oc21Hec z1o?~48a6;*aHWV_uKt81k5-zC@tw^xdBT%X$z$W~Dt?~MiUFjFonE+vEQ7wO#fC_g zJUCsq19tM%3{|+ax{-r62zOWd+XYUDRVKYRhzsHLPDhhCQEl$vV7{lUmN~PXv%cK(&tcBxn=eHI;~K-{TVQNurqAx=6)BUMFC72@%Y-_F0ZrDo^$^fgN<7TR2$jiXj+l`yO0@L-QKwGX1n$| zY0h32&zAJ9@A5ehrtCqL-To+^q%+J*`EFJ}%Bl9Mud3_qdQG1H&LIn1YlB~LkdR0z z!t}1s2P-$A&$>>f`Q$7Ar=Ei@(mjpYcU$X023o%%^vg(Tv1C4&4*p#4sff^hbB2DV zSTjm|yHhs)qE!MVeVzJlk)yR}{jh-5!>cTPsa1d}w)lX;RjR-!{6y=C%$A2{D2MC! ztiAmDefTMoQ~6g)!onTIvN$)Q6;4OQg1>i*B~jl|#)##D#r4dFwSJe@>jSb?Rkus0 zJb$|LOGm!Uy*b{zmncw7`_pv%^dP|W<)phOdkGd$NT|Vi$Yw=SAAEmyu zwlH1!4@O9*A1iA(d}8eR3N$s$7g$xuN$)93daKVI>)yHJBFsqZD=~x{?7X;eAd0Sw-~{jV+f=N{0vzG7Y{ z*Ae1w|Cps`Fj~BIM<#jI(p0|f#_|8b@4rZP)i-zg#L+8#pmxM(iR1bZ7jIvLlyLBguz_>{Dx_R#coes{_9*MWB-5Z zXex8@b-(@z1-)(ipub-6Y+3LKAtnCSVUjEB-{Nq^)ln@obLf+mzK;W)%qUc5=ceXJ zCw{Om-?a3tJalloG=9X!-B117k@!Sj>bcd^|4s7WSrJ?3lc0l^r$MlfFB z_XxqJ#)g}HS_w;)32S<3ps4{8LOiUUe zfUQkcOTG1ef$S;|`gs$h_C9~2Lp|f`DVe56M@JWGAM&}nH=IrG#u_|(p?z4-K_mW} z%SJlg)%7m3evn5e3Yl>bh{Vwtk|BF<(u~Mx*vSBUQLDW-9^s9i#*?-Q22+aQ8|L#R z-f3r&Z9ro1s=uduqt=b4b6!)JcTkQ56nd;88?{i|e{CRyrGXr#kMm?ib*sL<30S`TU#r#Hh8oQGPp9;sG_mDW zzTgLlt-c}7df&i+j_cjxwNCZwB;{)gkU{ixsy{@{!UI|T@hB2Vc)2TnK z!yOTIxa>~Y!pwHL7Wh$6ZZM|py9@6QHQ~}jnnyryC$J$ax>(DSNGc$4A~N2e8_otT zaP5-jb$}$@%*A3wZi=u#|1>jWO(#5wYq-ubp{1po%VkGC=$4J3M~N0KqA zwhcwZ$3{NIB1KEur_Ji^B~$o_ZfXstV>@m}YWUGet&TN;VY0gJE&eC5*LrxbqZI>p zCnm8fP+}p)H3NPT3e)R_#&AK4TrwR1y z`D~ZCn$FFWH39W=EwO_UNf6m~)h+v^u1s(-3&p*3F?(wj^}}>l%a($)6(ZZB5DQ1N zipB$U^~^c9%SA>iNmWMsD$Q!~E*0wB=}K5j=F)9oIlnwNhZ_~-2<~XDHBv)&2Kp__ zAl_`=!WZRQ+9I_rf?HSUPv`7XjDghKXX_;3fuou2WUYbz#o-PgDT zU2+eW-Gmj+K9>w9`5!bjFL<@Igl~O>jMg)KkH*OIq%pejYBI)Rpz4k&Y>p&U<;65q z%G7RuP_5dlSo7}_+plF9yR%}csXYa{c-fn_h9_j>nU8K_$-{rz@R?y08zemgk|Q7={NcK2N}^;9a|VtK7s)Ika|)#J*&KNo~0 zyVdWE=*6EoteivMd+f~!Hx+c-$9~E(s*UpBx3dEnG)LR(O-tX>Xu@RmeOK996fD0d z6RH2SlA?Zl;_vTAcOVUbFxnY6gHllIE3UeVjW5$HKc5o=L9lP76(+ES?-Fvgj8o$3 z*rLkn`2$#3nvrE$N0k4m^!lcrE93J4$N^ukn{A@4YUw?JRD_*;+{SqicuHV1uV1RA> z4?u*s)WMv0W-AQI`rcIgNQEhW*DawjY`XLP$?o$8$`}Jwd_lTtHjQ+KUO*)po0^x( zN|&tt`SX)N8!iu#Lz3s7U`2iA{E-z4=nf70|ZLIuixn5{a! z{T_@toI7ojhpsX)4c)e2Ksu17-}>QZ5by7B06MfKw4;naiz5Bf!GG_+tG)4&5#Vg; zZ%TL{Gd9Xq2gX~KTljNa}5#q5xDXN>M`UDxK+JQIV!m z&juh^z2i_Gklk+o2kzQc+}g2gl6~gw@6zzZh}~Pa)}&JE8V%`|;vkGr+vz$_f1qYH zckkKlu@~#>rRW?H<@^4mMi<@FS^0OQrup5`GCJ|a^xvi>s`>7fAb0N^y=}TX^}HYV z*y^FK@^ug}_s$OxJ@+@};ILV(60PYqY1-1?yNa}PzUtdgKgBmqRp`ZL&1>}wwZ;Oc**3y5vCpx}s^<;aYgjZKiN7O#X^*c?t z%jaKHeJPsut-QORZ$_G%3EJJ{rbdp6)F?W{()*w8X?o6m<0yV^mSc|&-?2%RrG#4? z!u*oge;KzoTQ-RJEUl)p^i5MK_|R3+6pXvA>==TVkud1eTDqOJ2<7_&Si}??Rkd+} z9g|Eduuts>Y0Hlv3_k5Il-{&8Fpo58Y$c8#cr!$6&!+*(Hz!Zy1@%QlI{yX$|K0Ef z6+7X4UL42ITqJH;@6BRBu_H!)NkQFYa93 z&r5;*e>4_{cK_Kv>Pkx}P?zdNCp>=susg~Iv3kP;lE?HSUAu~b0_9F`X(UMR17$-B zJO57lZQFz%HU`BYh{7+}tor7AyCw`k-^s;yfI8|&d4W~~ZJ$`;<=J>eX=;>udev;X z$%O9VEH6cd2?fmI_-UGMnk^upCj=x|rI2gdXt5a;S1YT+_Y*=Xab8$=l#`a4y8b`H z%8rP3TJD2+k90%^gx&GK#@IVaMOUOr%y(EP7yvnI8Z2In98iQnT7MiiaQ@*IB|LMk z2mWz-{hWR`B9R|&!#l_b_s4UfWUlB7?qxT)e}0#n9oLx0dsx1<$(2TGG?|XfJCETyHE43!?1cXvSd;^CHbt+={f(F;DQYDCYS(6r z5MBM48J@j6#l>&z*qA5H`pfslEO6$lO6vTK5t^ewk?tL`~lP>pvP% zdo8DAgxnmSB+dTccrAP&a31iGS38@x`5B2pt}$|343)U@#oU*s-k)!J-9JNSK$xk% zUZ1hphBCgQ`>$Q`V$V%)UH+RWwfF7ipTdYJBJY2vVSx|k{d9$dN0WW5Wqo!18Hf}V zPS~!Qf0`RKP3Z`G@5;kQv8){8%!M#n;8r9;GhAFQfNIVr6O94SM60HcP|RuOj`cT{ z2x*;YO!){blkQbmj+TQea&}{_LVTRdL1Qh@_aHomKUqJ@ptY3E>hg3-1IVhv4Ho1B z6ihZTF5Mwgy=(ti_B_2yIF63Uc+PpNI+HHa^UiSYJ8k_{bwQBVbtlBrApfK=*qUj= zj*|!kb=t%~dw7leIjd?sLU*-M%vn8Us!x#sGrSmw3KRQ4Y9V0ArPKh~)%CbN7iXpR55!tx%rM`I28N+|^!J5htFj$POC zy-dLL26Fn#>O*F))T%nf`Fo#?T!r_$vg|ugFP1Y_uU)cIK+2!0R!-60{ITW35gL@~ zd!(yglIrZ8ll#(RMq&L9XG&VZ1t9%r|G>hRk+HKl0WmD^U0ncH@YS1##L9;g_-NIj zysWpH$!xq})AUl{p%bVEGaN|!u3b21`4YB0;=^Rn(f9*(4=VRxYtY+Q=xkI{AL(EjHfAHRQI0*C7+kpl1KtJ!Bi>`$~Lr9}sX3AQ| z+1~fsqZNxqf->D+PsG4l@0;)X+q?>dP4#`(2VWDQkF@*HERi;Vk|A|nb5`jUtD+*w z8cS>3Sj7dC_cg*!%#+X-{U-BrrJ$b!#Ow{zAv^>7VE`0zoZhhRyW{R8_;j`ZqXY%M zXg~g8?}&pj5=V_kt*q;9){}j*n};2PP0yZNp+Rr0%VgkMMD9s@tk-nG|NY(MloNgG zp*`v<{ylKe(A3ku_BT6*v@|o>wwm>~7+&aZW7!N0YVH62%@3`6vX|DQwwr8sF)}F_ zDSzgIE*-s(Enu{}Nbx`8D$7z_U$QB7!EgOAWaIA@{wqY8pio942p}b|@{5Pex(By+ zcX2iLX8h68%wEjw#U~Oi*G3~HLL{Pw3W3QJc;mqvdx08^)s8m^wGJ|v;dQMtQS8w& zWU1LvIrOmaLYc9tXF10tZb+s-n4QEypE~+|1%JXttK-7=!{zsI zkJR_U&*jF2>_(vs`{w9JW=@v}cJ{UxAwkcUh@({U3+82S|v3^*O z(1uZb@D>)KN+!cf%ssPOn z0Bb;$zqrC>J}+JsP|}(I{coVeST&_$BbVj(e7*Yq8Zb$&{UL%OFWR-x0U;p|)V=*7 zgzME`(}GcJ{xSxTaHW0i&DR*st$xU`32Ne`jLBh;(IFFCgyEAB1rM<*Os;~3c{>KG zYcEEY_}u&_V@W%WqSO)W3*>ema^?T%Y zZa0GQ#PBd>1d7>fRWuBno1ee@t?4v1tCba2X@7-xiwsuiEA5g$-xE`Q&ur_4g(9=Q zIumhz%O@$+llz_Gz`0VYDOs+nxGl$jsc6PxaN3u%rnx*6kZ92;^&7+dqj06hxrogG zS&2&fx%Ev-ewKyRRLUK$si*$qC4{vsrK}BI{z-G^Ub5fMXR6n7PLF}Mcd|F)l{DqF zers(0$OpQnyuy_SvXo&!!i<%Ro{84Z7B=TEkU1^E($b$kLP`N48X2I2*mbYZ!@hE} z@9}k>;TusRE9`%%PVeB&k@KhKVZK>@42>;6e4Oh2OGkOCmg-E}{byi1qg*>gYQo!F zTa_7+mf9}?W;@+}L)n6nQy`Os^s;gr9)Tsyk8cf`YZo>VYI;i1=bWwfxp-B{-As8B zYbhVP$p3fNhau0u`}rRt8(C%QYm>flmhLz7MW=iH5mt&Q{swegF_<*5q&$A^NrKXm}-^<%IcV^YuT0%2(tQpL^BIdmHcdcs|1@Jv7{09@< zzkh-E`8t23zm1*upXmeq9$82tWH_Y8*8|q^NVV+ zIy`;!pJR&kwkxY^!JbEZ!oGLC>u-OwASnF16Z(8rh&}5ThV}0gDzjKU*&d0|pLB)t zO+k-Zo_5+H9?WfCclQefzC|=%vGHHS?o-WP zA8PKfv#biUa&-RoCMG6kgAoxkGXV-qSh#LuD`y`B#NJ_-t_DDn3_Zt{d?=wB8UiEVf+5}|GZH$i@o}*^w)|gCUIZi zeyj7KmD^q4tE-SXZL>V!S?!+6uI|?VW@WmNllwD9ZQk?%_pcZ$eDO@fqnc5x`#v?y@l#Z+ zl1Q^rroT+y%Tp2G+_v+T_Al1%8$^Sj{6te*-1=NbOf5LAzk+t%Oswwgl}E!_l7AxR zgjhMPctz`%f7y2Wi8&f{JKM`Ul-9etiQPBFUnbirpRiX~rx!;vd8qQ?j*VVn428xvQ zY?UWJoG9|O)X@dM$lJ*nulS< zao(^=Wi-dLv7x+UPd8)qAJm?E)_c?a+QmvUtnvAPoSZf*6MUiOV+7ec+L74Yrf59| z-Iqs5O*B&S=;iR|V;);Wn>U%>fV|#v8P^^hk?UQBy&`;i_$Xx?Ztc;L(x&yl*8h&9 z36IO2#146z6h+=hE<}xYAsIIq z)>(uQc3Z9?JARxrlf+#KbH;jlJU*(#6SCWN^#3QYyMXRv$Cboj24WDEKa?cmMqGc>)w zEo{7Y%ZweAnsRVGD|&ySB$U~R1%Y*l2jRvup)iVw)i{F8(A%f`(@@lNc8oGS83N_* z-j2Z6+FOK`H2Eu^_9`q6c~|K&y^ zBnAkG*ou`WkxI#XK6Jw#lkO|b^HVrHN;7E>@e23X&F}OjI38;Az;DC*sP$~QN=c)|XuYRUW6hiy=C*RJfX1Z$k z`mTgu-`8AxXIZxN+J5(>Q~15}b?@);u$A|JWt6k#gi8PDAihuE)4a@EfBry_g>P5-Cp8=Rr&)pUu9gK)aC_e^^<3Bw z*^;e(HQFcw21JPD++kjb^*}(saHI@>_h%)OJrV?s*5uv zue~R3Kaz|i{a2)T?^GkPN@5*G6UrN-b!fXPoRQ{;?)5c~Mocf@&^k(Drm;~;k3mm$ zQ*8GRUo?L($UVL0jhS;V#v4@_)rkkfN4Y<*%*vOwY)*?xilpC{Z~Sputk*>~CwN(u zN1sx@uITprx^UEU3}R7_RsQ(Zk$-8tGbj71dV9Dp(@A@xbN42yd;Id6J1{79iK4E_EsNwA`i4(~VIEX$;>IepQLqOUs zZ^bJ#Lv_h)TSh$_n@I&W>mDsV1xevY+Tq@BkMV^GZcZHPOuO~-adQYrxT6<(_y@0E zdNhemIkP7#pg%$~;N9D2^_`k-M~l3XTY@K-p-@^X)d5r^|(rWLY2!h~8k&`-sk5ey`uZZUxr=L^H z%@;{%Y1Z63bfD$&+jRq#gy7WKx04YcrIMq+rNXtM@KLos{oJB2n=zM^9#9gh;m)Ar zHj=zF=AQ3&Hn1wpx#X^weH%nmaXfFu;R-AG3!QXUX6R8w#>{HZ)WvNCL(E^*GJc=T-Ugu<0EOi(wWQM zXr25`=zplyjZz+=t?10)%o$R-6BR}Zjo9e+Wg1Tn3IQO>?CIRx z8Yv<$loeKc8Vqbh`hmi2-WkTO;4-@WieUGM2y6xy5QtEazSy^_U=zQ2F$P=)p1_CO*K zr|*xJ7phdWYWNTh&>-N_j2P)Ldcd*iJ8tG9W)wsW-0fo~(1MWN3PHe*wZ=-+hS<%< zk<>wmLu2*x-LyZK;a?F5tVsjEDB29y#dB-dCANt6v%8t)6}AS4+u!g}HjWTExXrY> zQY^kbMq%8F)lrc++j)xa!#aY@>BzyJN`BR+EUPgxRWdWxI=qa(ZDeXS?clF?y!RW6 za*dYw>XVchhPqvU?%gC)>e5^;O$@o-p8ttYFY{m%5>$0k=3fb#)c>_H9Ncbz<9G4z zy&|e-_Hf3Ijq(Fn#&|}>6(U-Dctyc>RT=j0IBo6^HfHYRl~8QWVj@@T!N0%qvKSF8*bF zW}}>@k%NbLjHZ;=x?Dp?WLeYiU0ofk7^8>n0YZ5o(CU%vW}M5DviqZGOi`!FJ8hWO z=E#S2ZpmkPMFxA#{!JM7c+HZ_NptTfX<67+q`-%Em*Hl0hd>%fOqf<;`m4*%k?h_QM=xi{Df zV|loJW6o~Fb4F+QG+(Qz)K899=DUSA@5S7Xj`cZcmnHzQVA(VMzW{;hSQ;Qmq@yU( zkH_dI!)UkBMYe#p@kGCWLd@+VYCR{^-jA(EPs0j8?u1-pcG|$uZrW9UsP@2#&J{x1 ztf)+M?nIKsl`uDd%xRYbxKlV5EwnG7-^}cq7+7M#R-ivGb*9~t&|ji5nNx?%3w}HP z6&C_@PidUBK{K&*>I@gd94uOFK+R`hJ6xb^RL8ou%%TGuSPHEDCI1keG{IP6io9y9 zL$Ky!<|54s{7fF!Vr(9I)@MftV<&+O0j=xcONfkJ4C3~M4|f>;R+A2}e1<*x8+ZP8 zW~E~xsMaaJHGUFOQSjC0X}-K^O_$Vlu&T8nD&1Hf^D2YvI6Mx@e{-X9+D ze$zHM?&kwsJ+M)wicK9RyLrY?cnN;8S8BDmg|Ey1%_|-uZxf7KM$t7lLm4)-^tos- zH5@QR6UJs6v#WLmqJlp`wM*sy#8p^iNany}|IZe)r7l!IoPmW!h;?k;*XXVgOIPch zK>|v;--)BJmio7SYeC{a-uX*@lK1z22}OPRbcDLsW(Ging5tOAdkb#;W4bYoqu*Nj zGfXl0JBsgJb}kdP-oG#m5_R|N!3hiBnC2p<;$*HOG&s9cc6;vc+{h2zfmX@$A%En) z>zIee-P`!fqi~=DWk<$Ccj|gt*W=L%0NoOKJI#H}kIy%rCy4uh2NbQBYwwwlcia4~ zb06i}l+C}5bFAx@nM>U05T0}E(+=V~=f8GrhMwRI5YgwBnm^xkr z>&igKyRUS#;q?4h|1gC1;lzu^c^NTuQl~IPf_q)-NZ0@IKZ~M)&R^v>8=bxt6j)Wo z=0=y*u+!S)Gt7xnmCaRT1bMqq_*X5-tH~`WP4^JABYMtzBSL#My=0GQXidARv<VNw++Fx*R+~eGdAO|f!1lX7{_c^jmpn(m@OH#k7~(-7P61^Y!V>X|Wi~_EeY$;&&xsHlP4ikd{0Eu_3l$M890ieOgfD|cl?fDH%%~1^1H24J7c97b{ zu4`-ME=LeqYdy9iw&-%xm1Wc#x2fMXS*grZq8*jQK}RYs4zm@g`ah}629P|~esSq2 zO32&ocy!}2H2M(L%BgQL-g1!p%$Kk^ihH*SbMFK89w{HDpV}u%AY=1YuXfD;&6N?| z&cmxfKX@q7H$!*+O>a$x5z--@PMX`rr`6Z-03Pq3+Ov@vB{G~@$&=B6k8VUv$bXZ% zQ_78*k}C&$|N^3Bnd?eV!!Bk>=lvs(DWwSQcIO@=Oxj1?Z6w2j*F zaQP&(Io&q3+z-N*63=XcZ3(?EbXpws!I`3mb-sexD_=#jg-7L8w$%rIDvZ4Sk^cRAu{!T-!j*_RUl{Gv zk3#*v)n3&0P{rWMHxeYRP*z1p-@m#+8~dOhsCRcxYx`dpp(D1`vlr&bkh{x_yBCvd zcvk?B?Vf6{?_m94%ea(nA0E_;56E|@HpRtHIC`DBWHh9Fva;HVoh4$rHRefuvm&Ne zj8vQ@#@D4{AYAFTmoBey0yUu0qIB98=+U+6dk;W&T9X+A`Mv%}{7h>#$g=f*Gd0?# zhw9TV1XD}g$o}SZ)BP5);#HKU3bHxl9wTo_zY&wC{wOd+Emv<22c{EX@O|8fajl^cP zkbUB5adIOGM8rG^2qYCx4GqMO4WZU`1#heM_4e3SjPR>)ia8bJFoCXZHT-7zIjXhU z7?QeGid`Ps{smnocRQDCT1+5A-^SWWjw@XYqt7Nt{o4U*IGjWzvT}@hg+qIh0eFh562nn>z#)9jc z=KZ;v8*QbN23+~s`2+CRcW{8UT3l|6SpD~{zqn@|-o5qaH+N|eZFyjk{=5B_AIyjoifD{T_;}u!wKHX) zFRZ~kde=7y4BY!@mZLg=?_GH%qcIs_r&|}-SMDke;UgIt8K3e~gAoD&(27P@yg^N$ z#U3%-$#05*JlRt)rUmKemYtp>%lXlLwngVnjggmU^cNs zLMw5ppr34B*7<0=);EfpP&BGy7WVV&)4)mFGS9w`VWw%Eq%E~Gzcb)04R4WGCQSJm zd)_^%Go%{%9u8Nb+@lS*Pb5(S+;EUB*~tW zsP_%UKKt~B^w!-9kP%Hni_5H2eT(8tZQG7YrH2vQhQ-%uk6jD&-62Hh1`TnY_0yBddmVuaL&VJ zDa6byifPj?{HhS?KyJduMLNXGAJ!yETU&JhL^yxgTq676{g402s_{g{ckaF}4}Sgi z_xeJY>-b(7Fyh^fD!yz?z22^y@m}JMO`cTXudh`1-+j&%2&<*Pt$Rd)d#cCz*$BS7 zxeQ6yi@U}6m%J-5cAER&@5Q}|R0F8vg*yYYyEZuPpxr%mE%2d-$8PGkbBpy(G{$OT zmKXhwhR_(fQ+dD2Q#2ILsgY{;@+fx(PiSHz-d(+z5K!;SdQJ*=IIYRN=nre^_3FD| zb-QSxQ!JU)2UhxlwC_ph?|pj8^ngJdR$7^8C}3?KO#ao^>nIQgD~)xTjki*r{JCT= zwuQRHpJkSz$rI^YkR?`~@%G!b9eXYp0~Ol>L19?sjMLt*=erAP!#qDw{y%MR@&u{U z2|{~so(0bYHY9}&LrQ(x2Nz=c%D=d}#0ND(s!5!w9~8AS_XvQqQgS!e$v-Ds!%L-Q z+HBXq=qK73S*}x)LH`L9#CH62O<^GK2$Dcr^&IGq-sGlRh=n6hc}#E5nJImPu!7c{ z5(B9$e0t}-3v4zu4@qzLRqY}=fD{}mVShDYYGc+J!5FvxGe#r`B{dRbC`B%l-xo&I zxirwd$n%A0keVuJ5A4^#!0%b>`PT%VUk_Rf+*1}!5M`LpY+n7~=bF0xHYF_4l*=X* z_1_8jeczGz{1`{-4ML~%you|t>#M}nZ5V^J#rLSd%v%<%L)v`C#72ibe*yzj2z|(J zO^WegwI6zEKetnljatnY7xIyfjD8@BY5zh>y%*grz}75EONLvvw%08vsE@x)xPw@O?9Co; z-|`?~|G#j^V!vJ-!)B4X#kTTn=av;7rV06X@7MS8|7z(n%xvhK!n?6nw=6wlDfr4^ z?0xL|)?m~A$4#{zuKyL>-ZVGzS$HW=}eimvZdzI-cXa;+5or8y3SeD_y1O4q-L-snXvx5 zPu^6xY>abX8%8gd)y3%uWSZA8PHWtHhZ zbu92?-jq?`O2d@~>VAyZn(V(;%t!xgkEdH7A00`0>P#&+N!}6L&O23>hFib(X8mWg zkqG~^TI7E(jYV#2isK4Z&k_E-eUcmB{;mv?IR~u+RBS2KF-;3HhOyQ;kU4+ZxCH|p z6=#q<^PPtMVng@v44riIMi!Y7%DjJH2d%&0HP1_JDD@|eO04BP)0&Eu(? zie=(|WeJimtE!;?tkuY0hhLIYZa?Iua}+}O28)Rg*XXwRGwna@Q~f{WPOT3o zRmxQ$>|cvDJO75tEd1D)tp?xjpfndNuD!dqg4gxj~AOn+kxXLf)gr4TR-i0M^{ z0n(a%+YqRF!Mk44Rz07#4Usa>ez6D31sAvZ9E|e@>olI`aB42ypQbbZh>50D$aXRa zkFSotvjAKE@zkB`A$flKG-;eJAC7$M z!*%!kwO^0Yckxv!Ro5G-OR2?P`f>KqAUGs9UJ&66DpEQ+9zJ2IU(UGHvk;(E}^#wMcZP3(OhI;(~?)_l^jgD5%fV97v{!h$z^SW7xfb0q9wA&<_V!yHSty*@e58} zQJ`E&4b&uCoxVey=xUU^^#++D`yIu^Rk}{Q9AJ4&qB=WhyA`vdjNaF27dW=MA_U}^ z=l~`HQ>{)Y6p^aN9A{|(lw_i6s2XooGjNxEdMaydF#ssN002LRAH;9mjf)WMrd=38 z6$_k(uSKlZN5KDPAMFNzSLhuBsEU3E4?F~-Qpz_@!ZHQd%hSeH0Ba3JWr`y`IKHld z(b3)0(yvcX#^Q5(8-V>o{{23Zn8&v90c%#T*Zh3z zFT1UZZ>{Sn3{K@#|k5$KQRVT;2)TvioZlx}#6?^H&iXH+?^ayBh zgrP-S_UjlQfBOz}DJU%GE3IUa8z8KnZX})p1r0mXgj1j;nhlQLC}~z2GqzQR)40T< zknKp&po`jB6W( zSB;>L4aY~^G{b-Y>*DCP&u65{B6;9%KmZ0SYyb>rrZ!c}WtR08{T6gt`nc3RmRGCe z*INKD5XQRa+-Di+@6J8k(-`fo#LY2{c4MagIpx;Oir^gO$C=y*&p$8<_e=%%Z{ySR z=Ns6LKmqUc{g~FZuBz?-{+3Lw zb=j(b1?UkHt^Y2W?GRBZK|}*`A*$FpP5=ZT0d(jGo_lo4vYX4}JoUoBQnyC@sPCfa z1_($t1Q;OIYuC}fo6c%xSC#6OARGVy0MI@`syso8jS!CQ0<%G0`^flL`_^?Ziu07+9%jK&qR?+f`;(|DF>43ecu;zvY#s{3tI}y)mZW zIO2E_$yU|vi@s^9zgzo|{Xl&9375xg&88@`w(HO1Al8|Kx$aMU3^go>2;j$YS%zTY zIUMGEB@i1gOT@ses8U>nXf5M}k3A`Ii;%zo6iCj85CC&{q6v|#w5)cunEy+$4_KHI z0RRQlq9jCQiYZ`~#S~If^lV3M{O^WazkiQTGVkHvCvy-EhyV-tSF_>D{;o^kE6(+| zD*4>hUinOb8`uHq&i>D$umbvf&iLGb6}PXKIr=)eR@;u8^+;!0^biu z*_`$C>v6+-IN-P!Ay@*wdhN$yy~l?MMGnr>cWOk?;fPul?;bhECml{Q)}?^)e`FuY zjF>MnMs0U@ca{L$)T}BC4P8M{zCUlT>G3-6+4Bu}ao)03UFTf!y4M?Z-R76RMW8Yd zkWb^UhY8Z9m4Rq9majxYOe_9hBtiTq?a06hHR3C5R#r!z5s5s2XX0_Yh---KveqO#a!;^9s^3XN%fvVi= zq6*u4D;HVOjeVN?`a5$iN+bXo#|!1SAH&nx-;b6hSnv7E-`UX<+5%wZ-`r!rw7#9{ z9rM|lt$O~5;KB- zCLW^1<%crHX{279k1<8LavW|P|H}*IMena(UoT~~a>}I_<$h9ccj_8)_sf?pGRpaW zTFW-;aX5IfV*GYlIUJipo-4Zlg8S%HYbNky4vr0ZqX z=leZ6AY9=9ORDo%W?46c#K?OR{ULShsGPRvmPuXZkBAq%N*=<_CqJY0-ROD4vbTK) z2ZlmClTIi)=;Ofvc+QeS^U1rsBfP$49FsO*LBQZx>QM|EH6D-?bn2_tpXKmK3Y0-a zdITLrC&TA&br5*GsJ+?yEkruY9~3uk#v^K?3!+Qxl0*sD#pV6cdBpgiJY&~!k)b8s z{JqGhUl+UeK3q-Vd1MpEl1V&9E>{M-t@%G9v?RSW*vW~Kg!y9e z@}-}X<*nX-`z)Ji|KN&LRDP`H)i(d<7mKzftJTlwRn9F7>d!10b;*>c(YlhqAh{|J z>*&$!zenjd+>P?|B)G5Sls2^`iDB71t|UFF1(im8)H~jx<8B+pF8|mVD zJ~KL$n^8e=LN++D5&}NThtA5iV34g0oN3PA89(^D882q^IubM>FTu{;h6uxVZ7J$}3qk_!J51yd{naMhf zx?Oy5pH->tf36|ylHyKdXSFMNL5@ozEv4?j0``CazVgS?a2Rmiri?Ck$f_13zIvra&J|7rjkes`PC+fhOQA7xiX`%WlL ze-Vhu2mk;k$q<%W_oP}=+bXy$rAqGGX!@{<(pGRW-;ZU#De<_GIz?iPd=YrSR#^jE zjis%m$9JcG*ZpUO{8#Iyo}R8eZZx9}4uZJ+Y5)e2tHadjI9j_g$TYwJCIB}@8!bq| zkttny`zd#;{kZXOZw%HhRb4u4uCG0_H~jx<7s)!A@_w0;OCX{W^hEi8r?R7`#LJED z=`ch{41NyewTVHBSr@ivNmY()jV>Zfme%`GJjG8A$x3$z4^uH;M~Iy!P@0rFjKCwd z3F#t?fgwlR6s7){Ru+?HpZ0(`_L%7l6_#hy4&$G$yzF}WGT~+3#5KN~TAG(Clx&)1 z6B>fwB$d-(Tls;lA_zji8Wc0uPD^Pd&ju4;@5Sp)`5MO1HY z&RlwdTb1&4V^z4W9eFS5?fd)wIJUkLD;#_Q)%*Di^?dKIfOdX$`hB5p=?UKx*-p^W zZ1j*`K^TBx#DLf6=Pb26XETpDMfTcNfUYJP>CfC^WrP7=538W#4nJQm%jaHvcWGab z^6mKUdTv)-V7=d0&zDE->LqTAbI%zx(uJ zMaVI$-hLflpI-lm9zOwn`v3vJ000G3L7Hq}SF#+WTKe~uqnB3K!FgEPSFS=P^Ym29 zw{OUkJnmhkKNsQU@;vRtz4uKHvP~p^7#>P ztiP3t8?bnvHy>hZR%YK?SR%+ojork&l=mvZL1fzsdQ3 zzjx42rNTy$Z+K>D^JSA|irQDoA_5{4hB4jC=nds;YuVncuiT6of%V zl#-7x!nhUMCGzZUJQb*hnH%;!R~IhORu4o1fU$CVZq!NRyD#Fb6O9IFT^(X2e5;SNzzJu9gO#~ufgeLzS2}lfh-X;74zQA7$5s8PW@`QeBM z4paa0d3fzcVlv6IX&^bJa>~8!dYFW<(nuu?-61%Xsw649mQm1y#QryLHt7ZU%(R{hua?p(T!`ZmcXCRrDMLC3lOP>4(( z>nhP90`Y)GjNfpAkpYt$Za6~D>f*o56LSq5Rxm%93KxE_6F*0PFO-iRG0QaG85zcc z4hjOA40?nFMbbh$l3an-Im~<%Ib_VV_&0VXOM4D^bXOWU!T0M#mnL6=S9d~+jgBub zmh@bz_PwmA2!@InF(TzYpP67 zww*}1cjO48CDjE%uv2VRIt}HOqg>#dEoV>pvixp*;zOoU~aB0Una`(FVLY&__x-YJU99prYuQRN}{#p7dz3j6lCbj zpCP!b@+!pwg=?*P@&vR!X5jT))+EA_n8iI!Ad-;%I4-@KK?0FxSLGG=^fj&T*r_wr zBSx>4t#W+{j2GhRx90e{Md;%H!g?!5xhuXecibKS=H0#_8_C`0KmYsrE2}w7!cf>u zPZNoMZ;w~LtDiYZe)3eQQp&5fahJNk|L_0$U_#68#G{av?cpjS%Cm@IDG(ESq?9y~ zgQnAcV@UK55F+9d8L{ZvNR~b+MNy21k~PwVyk63+#k1V-yjiG0VG{g zRRJl1<3bq8BrPjF`qu8;tiHya05G^LqSbrQfCBIbD)4tfi(Q1AhSbXArn*dQF$S;( zqgT7E_J?PtVXbv{?jX+OfYrdaP4AcmXei2i8 z*0p_ryo%@be176ExDXA1pe$Qv=h9C9i%O_KQp%|oJ62ZjcZ<9c?0HMYLjRMR79AgR=6iAZEVKRiW`GQ(a*)9{oNo=?wEYG0p z_1_e~VO?Ht9wQOa`Y%oMuS(Hk*8q(G-4tx&69ocdu&AGICye;@>(5opTaO&vsZynt zS8C%t`m6u`|No`}E8ArMqvZH~FZ`_qk<&&azrvEz$hX&&c|O?v}&nmj;m z^#@iPklZn!U8n$1i%6N@b{)!_YgjY31)YlHGQbYoL?n>{LTT0JksfdWQ6vKcwQ88} zB@%4F5np+8A3Eb0G01e=oV8FV%c<)riV`Xk1Vd2+HyC+j8Zx;gXGT>MqBo#W^unM4 zv$=?L57eU#y+rHzwcu0#@%qo2w*T>_5eB7{50KOV8|_7+2qSrlPzWFN0Lc(>t$PNtC1KY>P8=yRkOjJBIT^Uksruq>~naHD1?uu2hE;`F# zxanDp@feITu=pi~^FRw>73{|6Ba5(859P4@p!DayXGF1tdcVjZEssd z@2jgU*qNU(gu^}IO3UILvjkWyQEsWm7&RT12Eso*aF-0eV49%J8-it_w-u6oSF{lh zhCx8^npTq1YA!j7g3%z%DT><{qCPE(H!ax+9BHr|{e(#ZSi!t1bQetDX1+1#%c?5Gg}aSiT&7qIxD;GcyA32KP=p~X6Ik63>5NoB0nBiUX* zc_V9R>{5}m$~^x1Kb|V6OWrKOMZ+;O68;DQ_%H&jB1b>V@I+DN(9Y@GS6hk)POE|- z_&{8pps`trHEGupQElVPO#VkeU=j?1qQyQ6Hhflm<@>h<@oyJN4L&R$iAEQ`T;T!S zA&f;lzL6sGc2&#!$ZF`lCMF`Hf*afHZ-zk3F^bcs@4P6ncJ-ITpqqt3IvzMtKu)W& zYnKa=E;e{_Uoc&s7nD$slQCYyqKAS2T7$34(|@=`z?4#Dd&~FDnSlhIw|Yz8uw^#l zvuBe%T?p&+%Qt@_uf)~L@#QPQ5H$)lgSQp0rD@(M-(j$TNO;Eoa(-n?+v2wD6v3z{ zA}il!5;Qm@M{C?ypnyXdMY(KO#cFTZOu&Hx8P8Kyz4QezBnl3jR>f~Mn}r0|t|`lW zxi@)a<_w5osK#X2f%Ua)XfqM0jl={^e!uUzB}Z{e5EgifaD}}mI`rgucdJ>6;)qD1^|o#z?U`4Hidfz0A>YnOB&|+ zW4^OkG(k(2wpc*p82GvQYi2|6+Z6-HRtXC#;V#4{{H)5VqDxtS!u31#68LIONO68tz2*jy69K}MVSfK*NI!C>uy01*KT zQ=UlA8NHQDF#ccH3fIih+(us{nL#+T9B^`{Lu&Ca2!uG8nNzG+?kEHa_%RDa3yZz< z66@7jSF-%K$Xvon-?HR2zX;wps`o1hxk)BB7P`Ab{;$ioDF*jfs3xGEP>UTE=7K;; z6vG4}kiDJELb2&e2$G~FSweaOu#O;Q6-7x)XnjWQ1=+M)E++NVUuml}iln{gto68^ z#Vl7Z;fZK~ou2DxRp`akbR0muByepU8b&QXbJ%Hgv-!yeoH~utfz@QTpw{=R_vH8G zy7?N!RVYqWvin%3NKPzWCwnF`WtI>hSRssJA=4O0_{f)*3O3Od6Tj8Er*HhS^_QM2 z4%Q|%p&1GY0@hqyN*DU7;{9m4Gyj!(^7x+;i{2;7y>4H^ z)sOJZQ&$lXTPb@fh*;qEtLv&S{$Ia>5lRw|fxsWV8cU|nkg+cRDYc%yKt~|HkG{S3 ztACextMZH9+cKnB(3cmB(X)7seh|%}U=7Wo0a2h>C>0Hbf+1zz*UuR| z_;V&r(~7I5=NpMLjq$wW|K2J?&+(c8pJaS2~RGxrA)KmAiS2C0QJaRMm0Let_(4+KDogmN`XV zx@e!3Ew!9oH$J}p>0(q|GR!^}056pA_FpOBAZ--RYEznTONlP zqE0b_%y>vz=)u*YrH2ydprEjg7iI*|35NKl057j`&+F?F1&H^qRV+v2S?3DP`$t$| zdgqXCEh9+mDsOh}Oiy&&TN|=!&a%;cVa(dkxCv-^c|T}&5D96Ds-^CxtnZ!Ha}*{b zPzpq{db8uz{m1~60NbGmrXqz3p|G$_E*$TC^;+Hhc;<7dw_V*`FA^s2jq$wm|MY+V zK1E6rIUU`b@nTfGOo}6i=Caa}XLy`rB40btmcF-aII;@6C!?2g=lpXV8>fg@ zp(YAos1!g2hXN_x;4!7|71o+!aKpI2QB?<=F+n`W8|F;>zAZx(hw>nz8%_2~E1r5A z)jt#N8;+<=a-o7ja}@$cuJ|8PZGunX7dZF4k=ENvr zAy$yda?e~6@aN~K8F%&+^GK)`O2o6=Xhw6G00`awzyGVd%B=e3um9E$0CGT$zxjMaM})4A%Dw;oZbWGC^|+k0rT4pBYg zg#-VrN|Jbw zthcjnRai?bUi{UU;`@&!(?MArF}uGmyrLA#Gaq5kZZnnn5ajt!TZNY^33igKPUJam zcuS%JKy3txw%c2fH@ArEoL$&o;;Y>`E@0NV z9K8uEyUXz^#>IlITBHmBwMT&BxWUGbZojhld>{zJ0f5VeFlw<=%u*WolpD|C>YP?D zZ$nOGo%1&RbHn=Tm5h+z23;V{JGLq`mZ!HG1VsO>at zXwmS;juRqI^CR=9<*$Na=q4f4YJ2`VV4L3%EV!etUkE{TQWC*L&g&&#Z327|6gLQ; zCMiuk+GBHEzi8Fndn86uv5_y69$|O|%3-j2Uy8E~OmI|J6}k`2z%Ks7-G7(j#06p4 zmX4qA#qs43E$;75n0~mB$b>^r6NHySBn}DtPr82yY8>J>CSCV7S+PEOSpq?G3KQ1p zw(MfN3=ljx&ZVV2EzNE+B2#@Mmm46fP zhA|1W+3!D-@!0<@ND|taiUfht`a(y-Kblk|#S#ir_l>bHE$s+@=W*sUcNOLuub1$^ zu(*Ip2no&kc$fF>9rPC{TrLWSH}TXJZ;Hhm@I(umCI7DsjPgyiN0%XXmHsOrvFoA^@89+3B;d14|#qO2?9AHMhVwDVg{p%Vzi%4 z>k=R#5)QwZl}Eeu4Fk~dLEXDluY4mcTi1AF6Q&f8HTPU3$sGbjEFY5gM)NLQym3qr zqs<(+@J1@C-r}~yVK6Cz08txP)$gDi@GOIHQxKZP!~^88ad+>qrZ8ZD=eu87tS2BthWWgvr`gk^AEY~$n4Wt zdf$4Nt@&ovm;2|uwIFo~>R3RTd<2kDc?U`;*HL%6_5v6(4dddS^>2f>>Iy+1ECjlW z#SY>;Q~$uM1b{;q745*R97XKEl3Y6E75r{UkcSt&kTNh7HUgZVU-j>m))A90m&D7v zi3#zZ5DM@_UK#K!gb?1~wCdgwnk!lKRxJ#Q5GpF7vcZ=#77@VHllfaGWs>EhVZQ$n zAx{`VAq9bevrE=SEns3%9>7Cp>UtopjCu8e9mqAa6z?a{Lq>rQ=%mv5bzvYG$90dA zh!A)&+Q&}x3?Gk_$D&bdJf1~1XwiR<3TuRTW2wVFO~h*#Dl5eXJ?#p}2m;Z3NyLc2 z?ug)-8R=(!PQ0zlt9=Bw23kW&_FhE!_cO99Jqp-#Nk;+Q3t8`AkEE44S$x;I@jCrN zAG(D1Fh|Ln>5y1OdiUh10Y(B%4I&A7W#E{7#+|C8C5IJFFWvp?ma{ zedPM`@_U&)dbj8E&6Z403;ZK7ts!FqE9<}Ec`is&z(DvA27q!zBuF5@=)v-TFOsD# za|%tU%Midv$My+fq82#<+roCEndLNCV+p5*m9!LrRq$RddntA z-{h{uq@86Tr)37&nduU%gx#_;TJ$b)ex&q%*^s04EQ|g<@e}Bu}F95-UHG z*o_3qjg#pL<`30I@m_)K>F9zwb|na@V2;Ugr?wel1O@ zKMIu&8x*2-6Dy?o7V5Eo6^io|`+v(CC(x?|FRAf9d3lH7zjPFY4W;hx z1_eL}H(&#UzyW~wz{tQDWS|4bfHD6(01jbb8DIgnJ0F<$`@@sH#bQ#S_NBn)8l2{H zpMlmT6XfAm+x}%7+jHL=S8$d6LRNXMt6IeTzuAtC!i0Ax5Ti#ne)S3~6i(f^+Vd$> zBRZR;=@T|jkHz%#xU>$469r=tfxD!4%$Us4qiv@E$an$FEES&;5^=)Ai7X$T#p=(5 zF}dWWsMiJmT(y7s8R$yO#KOi5Hrfm<0IV{YhG6<*%ySou$A2P+O>Zv`2~PYRi^{^Lcvz0hrdy?$zmpRdU;Y>r!GH;n zOo1e&7~KtcFI>P+C#8NM#^cJ_Ia2(FYY)%nE-e|195*qjDv^D5TGr9Z;iyf@CTLv4?G?y7_Gt31;Nqs---ZY zocT@f^Gs0LN{_qMMPj>jXy%Pji0kV1{bk9QO|oV5asXj2de0q4a!*ubE9cx6W~uz$tuunkUGtc=YGXcpLs zYQv!Wwwvnq>9at%;7*K1;y=5|H8RH(R`;t3RaNw7`6qkQ)+H8SmbY7}sCHgk#NH>G zR`ClB{WG9+P*N&{Afu6FxtZ(V+m8pJ)Pl?D%neR4g)L{gX8TL`mcpS}5eLld?-^m6 ziXNO%?i3Op3M7ZhGx3QB$AAG`U0FB|PaabIdG%Yv{$BvJ1Yr;$AWVTzi61()xt7(l zSiqQ}HTU25IHMK!o0x(ht{AZOweaqtoT#~E%lWZ3=a*&n!(E0)sh0_PydpxYT>%Um zhDU-aRrlB(cvBR`*G+Ds@mYR9=qL~YWDJ2uPU5<0iUZ$q_)s7uZLd2cO# zF@kvoJ}Lh0B5`%wzX)>p3BVu&Ah3Q5qx)~g9x2{na+g0=Q5E9#w%@Z=8HlySe|1+C zsJ!-R16Wv0Uw-+fA%Y>R+M^Ff=|tVdE$Mul>*bRy*?%WPJLd0Me?-}7MM1M1LBX(7pfK| z@9Vz^pN1vHeb^}^;{I$Hq3v}DZ3_|;8W990AcKFF{L)C&&PE8k1yGTL3HB04LjU=v zSv4%JU?({TTOx)&aAK4HA)GLuE#g#*gRm-u!Xb5Dt7%2>bRPLV z-v$vo-u2+q!$$FibyX5?5R27@?l+mWR9HPZg)XoW|6dDB^2E5ExRwgW?581CcnmQk zg0+$yyo@D<4WWnR@@qy2X6Yr_QI`Wk0n+($?<*9oCq^nQo%^QdfPSBLP{)>%rEdD#p3SqbcG)=h0nXK^IhQ=>b?9)4l=4iRBjn2 z&6*Ogujpe`Z#T$l_28`#E5$-vfPJZG69ox=DyZjtk{$mQ!Mu`V+%`<3v=lfu$RXx82cLT~Uu1vweuz(*?( z2_-}D7snnD1<$X)B(`5(Ub1DE6Ip#$CX_MxIkMpzgnJVok}5Du%07H)MTCXurvvp50YNfvBhia7h-(8n3zjl4{DkUfd&lZ>!`T9V)3IL z@KcIr%<6X%6$1aM&w7^Sd4y9jGf!>4=Ec-i)k1z+RlQ{v-Hq;sUb2~XIu^F3FMayU=JReypvm-+7(%*9bnsJ(8rK(Gv(|()t3eLZQ51*e zuC1f^V;6K}R;T&ZsUIW%Q7~35yJC%r%%#0$7pkX0gSQ9OVznU~$fiQA|NrRF4blvQ zf}qte+wjcVD*b0$_@4hB_pVZ@shYlOef@E`^Xmo)EQSltglp4`$kCWXiRJ5BWIH8d zZ?aDfV=A_1wI`yno5+NWjdou$+6&2v#rcSmELIBHSl54Sfz0qDzyv9?2cDzlcdAp8 zWHAm#^%1SVHbiV_yXyUyGlnL0iXq%i0;tm6#MSKfZQfYix)U!dAd_gt!b&Mj<^ZmD zKFs<*?4NUcO=%4vZ-GQ3W(U$;S$Inz5YT*AX|sOrpS_L!3WI0{dHkJGA~iOxeZNB~IyZjfXg z1%*OWAdE^U6^|btroDCc>#Dzbd0u%+rlxB7srU89YSu6!srt>?qEGdhvkUn!kJ=U7{YIrsXeH#aq?iJrcWjO(+7(*DA`d*JDd>65BSuJHUV_MX;$l#5C;r)YA%@%S%c?}ERb z$1u7b2~J(k1L_Km4gdfNQ$d>i zU{?{gp^*pSH1SX*dTdV@mU)Y!$Cs3qm&k1DKV(l4-v^@5dqsHB&;LdI#UQFgAN+v< zWFo$8gymf~N2w1Pl!^DOx0l5BPUIB0&6g>Edo?kzfOlKThNqr-*q?tv3CW`rLIwHdvD`~}a z-iM>!sJy?Cdo6R(ep&t{@K2f@0x+uf@MegQic+z!p=E{M`2}6TGi|o(%ztD7m>ce91N;*nZWu~9Z%k}jXFJ9CR+U82c?3;if ztX}-mK5*iI4#xD5>t+9+76apBJq3<6{@l;T<6$z9cr2-JNSqIq-*FGL-%z*TBA1(i z?*w7w#d530zefa~4G=0!Cn9loxqYJs{2j!< z6QL7u=MpYr0p|mr<5WL0{sT8BBIyD1SKL z6qw)uIm-hq3{w&16 ziiCqx^+(h!;bypsk?ZcieR;E0AXugNtV2?gzl2L=>5rIsV|r$+HLbo1u7i z0a=a(Zu%fCFJA7SyWB-mYVzQ&Ovw=AYdV8s_+G5@RZ2NsszOInW|H#OhMDVHn=-`y zI~Oc>Zfc7O12~iNXf&CED^`n^YbnU?xQFY+`@Qb`;o&H}xh?!yVq8r4n{$mgtW2!yvcZG{*qAW$brn7E6ZYcILgn76px0fFS{ z2;WG!+&SVL%k8;%(uOKum=%u$;6xdNP^J$b5InQR01Q^Lzy>4$2=PGj@mkB-d5CHhg05f!cVX+Mnh_xc*9Vm%g%iJI%m3fDF ztv63r`JqN4J@s#KcGI^1GaFNJAsQqRmvzH_*3<8x5HM;mV8fvB{I{NXQp8>}`}H@Ht=F)YJIC;zE>Dx>5b^IKBNFH0gi;7$!6Lb9cH?z-`8@M) zUBL)M7QID$*0qYSx4)X9ILZ8~V(#^EUjx8cD3{GGMa^PB;E#9xnlhv(ySUjW%Kq}oV?|zgIaV8WMKf1QfT3S%qCdAtK6P}089!1%v`Fc z`n$ZuCf^O4vk2zmdBy9F*@~iuD6}ua73;pK9{2hI@(9BK^c7;bu6);vkB;Kl(Ac2- z5qR#;0tcF0Ux?9ziYXg5Ko^n0^x35>fRE!ZC#{HFzT{F=8ZKF~$r4W?T;Y(7+%snA zTlEE#3VmM`|F~RF4}v`coxPNz&tY(_@St~i^~Va zet=^E>R_1SKdSR?FA1Ms{BK2tyg+|8hVo#9Cs8|#`vj1K0Xhi*zr{NadPW+r$y`IU zhD1EV>c;(Pv7tK353rLX`@fgMGf;}kVM=713AuXeysY`X@{t`FpI?wJB6X}^=MEEl z_$C$AVzuVDjR@;g_wM@5$dF2Z7p9`T+Jy-!zgJcKgXMeO^}hy#Ja9@WSABW7(AN+y zSWlr72^KdsW7395M!a56MayRd0iaN6*~?tb0m-XEQU+zzk~`R6el}hCZ$%a841uea z{IWqvH7x4A0c0D2bQp@_?^o_Xpe!FCpw^-R{(lwhf<%+40-N!F6Xo<1kZgr4Q1)0xSAOQv78Lf+$SvMXlwX$4nk#B< zL<1-cSpwC0qBVjG`oU-?G=lzWh}fAs)oOZ8;c$(r4S0pc1UQgGN^y+Ah{b0EEdY&6j6o|K#F=@lJ%T^FhhL6?q7}!S$nBSo zkKzPGJ4N!;mZ7$-Z!O|{P4st@H3*4KK%^hI5CDt53u_A^z41Vkybm}47}i=|Re(xe zOIc>DMtH2$x~Nlh2vASF6V?;H3L$4ju$(;u$>96>MaZq< z>dsR~!2m^i6M|j#m(Ly$83iz;B-yp(Q*k4bDT?yIKidMBuo9vN%IzxRIg0xl7@>2E zz9<^%C2TTqKoyeVFvq=X)Lf#URQ0oND-*Bd*6U7n)7>|eT$a;9RN1qDAsfrQYdrt& z`A`kfoTNf1OlPOx?DqS9|EHf{zd7CS&oz?f^)VBw&yHc%zHC}UB}X(*p_AA%H;0ix zzUoJJ#z}J-7LcJ%TBMLnPKF+B)`S*(t%-S09x|KcG!6#H<=2GnQ_f-*(KJbw6zP-+Vls)CwpdEs{1 zD_z{c00B=MQE=d(7Tf@!u9Vq5vPmNfHRu&MfmalsCx$?&C6HtSjzqO*P3U#YVI-2s zKWELkC##|j?GF3LX32@c+l+V2d31al#Y9}~ajR$O=%&6}053wcbj*)GbLf@nnRfga z+OYuEAcLHjE~#U_XjB~4TWBPt0iZymW$@$yRzcYxTbSqE(^^~!>etWZ%j;XGfZqM4 z4xfxer(8$Lp1(`ypNYD43xUxI56nK72E`jSAhUv| zS$G;VcYvqM!qTXd2nc6&dD3MHi-wY@*szsYs`wG+0AEe$(o`8(Fy@CF7@Bi>V^WM>i zM}1@eU;bPj9+uBXoC0N~d5WCC@!{_DPQNN%xAC*r--6RxX9s$N;8WDi?A#k3xXWq_ zKtfv^0Cz|kw?L&m%mmUVeeBX%I5|r6zOwf0oo5X4qND`^Oq6DNVRi^KkFK|W z1#Ejto6}*v+zODOw$q%=;VZ_m3XoLVxw6*|kA=$|0I&cK000R-L7M<*dHF|B@h6!s(VD{^ihC z27}(WSv<3DRnOuj%ReGf_uRhX^q3gaE#_+vy~)WbFC}P#aM~x%M$D%b7D7T8pK~c? zipwrvWKbO^>hwn`CFl^iL)q0Zs+RFG9Ss6K#)!{4x7V)|;Ty{ny2~P|ef+_Qbk?W7 ziXrAu&XjgPHC1zw z{kK(L?AjT@0dDIz;Sjn-=-$oQ(151!LqO>@sxBY+ULXKx@FGmUf<0A{v$-VUaj)PACQ}}?Fs)tkDWMRJQP55-WfrPj(`9_ zE5t-k3I(Ntv;YDCR0qHTD+IhevB(0afX4+ewHEEBhe;O$SS1`eKm?)iB_t~$@RYOp z8C(>Cxx{>maY6fQXw~0R&1%U@t@%8$jvEH)4Q$aD!6kc~7YBv{favfYJjx5q97jTN zP)&jf1hAuUyrOC!5|S!NITj9Ui_$A`m{@adFRQ;Y^Ia;H=J5m5t?zB}FHl|z0dP}4 z)U!VaKQAmEC;;MkI($*C`FtLY1S1C?V55V!0r+Yhxkqfy4ilaO)u^K_#V%aFYtleK zBqUn4e%vlXf&W+D|M6z7tUe|9jJlWh6OP(cIh(7nmr1WYp1DXRqrCNfRKp@X6ZvCM zbhsoBS5(_z@E9Byf;Cs|1Ys~xGB`?*nC2>OnP31$Eu23GX(Mt9#SO8Gmh&F|AtwQx z`cH}BxNvxjji=6UW*G*)gl>fd1%<+;X+Dzv1qeM4fkG5qR&37@KN7q9Ns40FuG$Ay zc3`UA?(Qd}AW40fwrCE*`m^V&KH~A)gpDVo1jAR~vjl>O7D9kKCN}ehLW&Vct!19A zj@g8jMMZHfY(+ez`%`3G+57uoBEx}nFi>@LAOWZw^2H5WEDIOnPdnn_kVdI<{=i^L z9tvfE8NdM3iU0&6hAUCf09+m)#5~{tJ;zrpGu{auuq21Tq6|WksG*y-puu_#LR5ni zzgtuz_r2yr6@efL!xO+c81ZLSQCqZZ&7B7t-~9w4a>|RB)n$ms-tFcEyiiC~$?eNt zU&k^O62VaCZ^Zn$PAk@C^1HmR2T0V5m&=x1bB6-M?B^V96-(f^fTRbZFlrR>cNc$r zPyvbn1Y&`w67}mb@Mc6qLoTxWkdZsQQnmE^xKUE&yX}W!<=(vgLLZ$EjrHlW%AJ=llW7tYgeg%Vkek=W;%YcY zqDepQ1h{Ba?k|h4Fo-1L^%W3nH2G3{v?q~2TjlsR0g4|1I&hd=NWpLgPjEX+WsS4< zWWGEs7X-$J!~(3mbX{`Bn1BcFEt-};=AbAvbsf6p?W|V3-|Yb0vW(Q=^~=QuF0rjK zaa;L>#ELiZUExXc(v-OFwNpwNd3%^e7tiSOu`lKEAXgp?P7nz5Od7>$AV+LdH?zNL0{IQDD_^&W^QGTnzvJGXk38Q;uXLjShQodwHV!jo73!D$-tE|~< z(S@A#dg}k|*EVP(*X|?c7pvm^VF=BMjC~CE>pv0X#s3I#Vlw&S_ECZdijiVsXz6ad8=@0a*31>rze6$)qW;*V`SPyDYo&$930s;5-oT6D6g!X(D0cnx_%u+#rj!t?o71hmZF66o+e$y4B})6 zt#LOxuWBqIn`BvQ+`L}dI{lgqg3*<}`mUzp|FZZ62m~;YLIE8E`B+mFIHu}Ow~LB# zTZ_#v0Eq$k6v|!>{8Q6hRiD3o;8lqowe?=SM-lEP6!^aorT%J?|ijDp~XTyYw-aTS9_cg1-WJN`Cf#~ zh-iK%DjN<+OF-kX?U+9*l49w9my}IxB`OhB?bq3MsEQd*QJSzv&(zYjJw7efddD4SH*~x^nJ@j$uT`u{qB30=!}e#*|J_`?-RK$ zwQz==!46-`K)oFgs)b8gst7zTd5(+1zoFH_;Su2hD+_+F(!8rJmeSsR7MlC}y}B*gk6+x`*W zWaH$_wd@Q90(p-W*ng=ivc#zYphy)*i@U`>wg1iLnE`SOrIl-&4j!*0NWEKva9R{j z&|#DU!chPSmhPTG0Bhnx-YbizOMZ2#Cnw&o35;~FUghcJ{Fmt&jF6W{DN9TDpL>%p zmPo8j-Vh1YcTmr90*r@{grFD#OUDS7@6XT2#uLB*JiQZ?zSz1D>OK6L<>pqm${w%E2^Wt@j#{B;gmLy*+euAUB~Y7W%BnI zEAgvUf1LXXfy%KsVr`V=;Q9&GK*Ie?mRj-rNz+<(2{vqkvI=MFXde3CxX&ooRift3cgz2{9MdD zs_CQhdPlFDTXoI8&2ejJP1w_>vU?XK-1R+IQqx&VDOi<`MlMk_i>sQsGMXS(t@SAE zQ>b#QEM$$69jc1x$gE%RAnHFXNqvmP9%NTWK8vf)thVK+Tvw*ehN;O!7{pgcNbo~g z2v<2ediMS=ri`k^YhEE6$cT~m{qOnfvsnb8RO6ogtLx|6z0Z$-KR+GkUA2g`t=-AO z((5c3BOwTo0`^6SB5(oIox_G_>EayT@lq5pTRK?>pV0G>DaEO%YoJ4ESwuJx9_{dT zT6nQWxA7@5th*JznNhKf$yXkWnz-ThssT`=Li{LY+l2E(!`##W5O21rqi{Oa&%07Y zGAiE{q=rb=3&^sRE#!kCDZ4#XqN*)Gz&-Jsy)``UCNzwW33AsK*7db>!8_Ih0ey{d z2pGu-1wc*S^3qi`gkfCA*VPDTqV0;(lJ3g{A)ElA4bAwwN|^Rn(>006Rt zA<4ubp6H!fWpa>ch>;kK1@=M=tOVxORQXzl0BQn;N^0|k2O=d9jEQkkWnmTGwY5g7 zWJ&~UQ5J3`2XW^mQGR4ps+wg=UvOh zT2#xDYSQa0FxPNbW8fDu4)!4w=)t|3EHLEvdK-=LV&eBa|@2#OVrIaNQj|u$lMF4FV8v!Ar%1q zTH%hsF0TrRgaP&fTJ!_-HS*`f0*fw;p2EoGb-f1ZD4Nq+wH}Iq5E3ReMw^^8tg4kz zQ=#p$Lo|g|JW+}{88=?~Un!H2QQwdi2t4XQ z(|<%TU%Uj)QVUJx5VBpzFFZ@kabUR@W-Tadu8XB`lw&s-UDWgCny(=KqF`>q+vVi( zqeHRaaR|bhzyKf##~Y4C-%`!_U;sl{J$zmIICc&rK;Q|bRn>9(joMOu)%vlHz`ND| zCu#m5R(Z~{U*nUPSXzAW`K-JV3?D^s|HI^+ZPy}2-}0qpIv9+yE^tmH976DDg-KKu zA<>CO%?FtQ5zE_;Nt-~YSKD7&-^w|}euI{P^6+@SkQIp2*^WK;j>>PVW;FxBtlJS{ ztgxH3$I|DH1Mj2g|Dz#J}QN#WwN77zZ@KFhpy7rpu+{HVbjc7qcqS z^WAk^t;sA|uw-sr9n{rQczw4RrZ>83Jf#!n#~@s{?e@*l5LlJe|1Qn;y7zdyd-kq9 z-QR9jVismeow-ZoJaUiw>HG3%I1gAe3J1;RwGA=xKehd{$S+^@QTGk24B0s;I zLI#fgUG>L)yQ#Oo!7xCe1`ih$0OKho`%SrIJ#!{FQ&yVgCiU{xO5&Py_S^Jk@A3*N z4>^xQkm`OaN0kGn9cMo;hBaXTKomj|tvTIIuVy@7%7?~4=QZ_#taKw*LQ$U?2zxHk z4>n)$xJMG)LdSug0vcz%JP%MpLI%6+);<&~eSF#IlXI|6IiG(qDGA^SM4+Fn-$sKY zAjR43ktuC9eVPTtiLb7oU_k(nivWOvkbxKqVPM7<1}GaeVRFoJSip7E{mVPzD4&69&gM1`j1{KZ+C;=qM#IzIz*0nmUS}_nbM?=UkPzH z1S6u2;x>@b1)@bGyw5!Uxd8}E1dnzF5x6GQzYk#`#K5FLI{<1}02jW=!SEcpO9L1< z#@huKQU85b3Q;_3OC}{gZ=id}xU@0gxD_k|9#$R__?W9r)B<;fB@{K{>a}00$5c`K z8-h&)QT!Kx+lk6xjFj@~dNyV4T0FbRP=*AWV@DO1T>kvLSx2nx2EfGu&w+M@`y27B zEdO%CL4aDO0aQ)>r(4% zAgUm)yV$r{y`{JNZJ?)*SyTLR7@C1Ykl=q2!j^u zXtC>FI2Mm~s;hq}<&}d6ateVkX6~y&xQfre#Wqq6eI$HVm3e{;#*?(t#aH5dM3|b- zR$9c{<@pC^gY%iC+DeLuQpI$cZ8hlL((=}N#m$oNxhGfg!^|8mpL!k>p3&>7_(=lE zg$B62?!ElM1Ve(iw|#5a#|e8?=_Q>dJ}X7L9;td3-AhbYu&71+aR*c7W%%w89Evj5 zJN5F&!D3yxy@-lds`9Dx~x5X?F=H$1$X*Htf;+AVyY` z6~*|! z1VHmde=^r1VkFG@vta1P4Zjy#`KXN2VtjC}2z>dRYzrW=OWapmw%$$R#mFn}gr`Zw z)t0tVHg2m(j^jT;Ea{_4v9~5`Llj0N`SDp;?rIwVXJn`NmSkn)>mx4)!Kipf{ z1hAgL&?1Fg@qVFEVu%r1`IDsSzGT(0Rx+f^mZ49ssZnJw| z;#b|yLEI1p$a@u;QY!;FjWZB_QF}x--gWj4zujb*zdwH)lPb5DN<;E?P86MA7hPXf z`$Iye>x$uLxPzOUOv<`eo}vaNyYv@ z=HXEnUkPd!_*@BI4Y*(#MwoIO zbp0`){&TsdvWM<(z<5l~%;#HKI~fkkLm z44N?Mh=#l8DA7@0!5FVP`mRj^nHmqTPt=>KH*Z-@??Ywp~m&!p{*r#Kc;RU_-ecwd|vR>Q1??s7o_Wu>n zUN2|ml5Q$}kr2XLv8PT>vI)z3Z*I80+A}L*;}Wa4lwR)+gC`X@eF{*R{hcfcSiwF&k96B*u8@s!gm?rlo z!CX+UyV;c?eL8hmk#dRy6=kcHiqH0bGj?U9phwP!MvYtEh5BgTjUR)z?Eq5PvTQ>tX~s=sr~)QCO55Xd0# z;?ER}OB6~64@}Z5!z9#TJ$H9g*IpOs!cR9>kbKkNvlN%jT(qTQdRIin%IU3&3bEGC zcfDNZuRU|fvs)uv=SYO6>U_$pFT%yS(Tge!K!QeSVyQM;dvT`F!`XA_B$fWrP7?r zy_b45%ECe{GH68tS>%h^}%;;76wwcp%%be&9Mq2QZCUSE!9Uot(DUwD58K$dfc5!6L*~68p#@GyPNf|Nlzg`$6hA^u6#z zq*R}L6)I`?9YsiWDnq4GeU{7NNq8lXY*!epAL)5u!#)+aOUrmlF}&yZm2GV;Wfseu zqd?z~5~$8UVAdWeANF6tDZ(L9Y-EV6+zc4MQcsQn%EbmZn8sM3i^1XkxabfG2T)Rr zcF9OEl%$lgs9&@3+nm6fC0o_B^5TRdwTT@e4;Ys~D8%X??7+j&csp-Rj~3AeE<^e)*VYi}I}|LD=1i_P$n)21;wv_goO~ zXX)N9C`h*_dO6wQ!4Ycwv5Ie(!|;S`k&zKvw-fZmW$&a~CRn+CTqsKtJ|uqJYQ1C^ zBgzm^$NTd5&_pAGXiy@=J_)=11G^H&ZD}NXdms*+9oksICGcI{!vW6XVpa7o`BB=X zk>w~4}T)s0&G5uk=e3<6wq-RUcA0vh;~Ln z6&hn{naDMci5m$AE4H5QvhN+)`0P9>R!GrYraIf%g@ecS^Nz0c|T;P2m_w@OgMQT4U6Z$Vytr7eC zGddH)@Vo&Bv|4ZDKIN>gNHWC=%fgNPmJpP1ttF!guRM?Lr z6CLy}V<(2X5v;Z@8`Sp*LQsgWz2dLS_$Z7+VMzo#J!=8zSVNXNT!%0$=FaiMhn$uk05l5!qv0iulD;K88aHmnw~x>jCh`7Ug#*jG0=md zS9~m1)XHa=6bh*;NX1YIAM1Pi2JeW+`|EhTO3Po@qV@TdlKboN2-PFe5p-Oboo+WZr@6YrpXs;uo{nVnYQ z2#xtiTB&g>-$!|IHN=HYEAZ9Ruj}h8=&n@Mcbbb*kNWq;2WG^T?dpWH*7?LlKBoWS zHC4!yJa>$gdaoHKFYu^O(I+SM$u4@!<@z^C+SyCqvP-!QgS?5Y-I3B3i-d2XeSHp< z;_JL$_=&~(ujF4_yjY7}DM;1gm0vbe6NMbHU&EZTHL2&#l&NX-T)&jB>*^yvNAIs* zC&hA1H7chI-9(dELP<4VVF4oQtE#9(Ht~L{Cl~7ZvhnWrDUw&ROm@`$g`>paui~He(X4X6xf+5p=p8JBl zQ|nw`?;3=695rjhAdXjE`9i!%VvPjkyfXyRBI}F(r{;)N-$i=k!Xx>6VM|B3Om>9g zQy+8(0rZEq20@E##pqdSK%}&@o$aYSY4HDb+KNU}H_p}N*33)N>v ze!fn1@-WJ^)fc#_9HT5y#>eXfQ6jKWcq12$4A!Q3fXCAs8o2Gsvppjs z+p-+$f-Q2$SP6j44V)yEFZsZcfYja1C$Bn2InVgP+@OFj zz1;PCe0(Tq3!s~1T4#-)#waGB>@IU?HwX;_em+PnwUa-7h%}@1>{>Kr)voJ9+*(x? zxZ5CPc;l{uFMG@Pre-J*x^xJ`1s~ak(<&ZQEN^weR`hHe*=m6xPv{ZvPWnY4oT0G9i!qja+^S@;piJ+h>?F8=Hx z&qfw8hGxqW8P3JNrU*ef1Yi%wZ=t(@0(fjs*5cXGdmfYDLvEa^BLu_WuMlfsfe}}Z($o?I6CZo3B zBQS@du!G_lD(s`NTV2sQ2K^Ugl&6d#u-2NL6ZteOR9%RWu<6-nPqA{0fsaFJ?7a-^ z+0&`T1mM7FF(6clkOoHt!QEI%&iPUieT&4eG6=x$U|>33nQaWh18Rs})AtB5`ZsN* zor+gQ)$vBs5*ri53YJ(Z!>H6iAy6`LOl%8dSRj|n>uX~q3kvg)L7;AcNE!p8WP!bz zV?Vy-mP)7lP=}Cx#$nXScr-Ky!P`%rA;{_lg_sBW5Tm>{f=KYdS`hsglhCpxUic(V zr8X!3!W_$4O~CDSF(0QbqX||qev6C$7m*;VW_4=b#pYgCFF3JK#Y9F+M78cOTXq;f z_I^L_$>u~@j4u*Cpi|IzhqBPF^weeKg|qK&?fP^N=Ayeyg^4~jZ*Doc9o zp&jhl-MSF2&72_{&Hews|Nr@WvpNLHGgz5^@4vsrYv^ji1VxxCwUlA$jFdIjUo};d)dDLfIxr0i1D!_2RjIm4oD>Zbj%FY z{(~NJu#~*p2MLW((=OXZ=1qNczyYr_zg*u8X~veul!01$>AsYir5f<<@^ZpLuL&e^Ro631 zAy=!qx5LS*sC*D_*G$;s9$NTW1mcePS5&+r;ZY$*U9OA~YGW=)X-{Q6N?Da2mN?q3a%DFD8CDZ_E6%djj z)x)j+r|}j9vy|pIK2@hD`B1- zfVm$KDn7>B8KbYO`yz_|Kthk<%xpG){=_6~A8hM=g4AOl%p4y)Iq+JY?)iNey)|%- z$o0suiHrm4A<1?NAJ5Fgp{cDYtZ~T2rx63z=l<1|IksO1#X$jZ>}Ed9NFLd;OKFNV zeZ}}}Iw@25SvXYFt|7}<{)zx$;_)kn7_^*x6){?ZG2uk^`XkEEB4pS|(K{&&bM4}- z`to9Naf`7M!0ulXhMG(ijRp*C;Y~0-iFR3&v)MtS@In$4q`lp^E`1Y|@+8mHLXk70 zWq$-xCN~n-)xs+f{+ehrf&in>|FD~n`JD!Op)q_Xvq3QI3T$utkX8xky7`ooWnF|u z_t!A)L?5n?2f_pEC#vaFv5TSu(DoPvlppk}hz%{KVO_er0<8YyL zGqJ@tchpw4?w^Vg|CV|2e1w;a8fjQJ(e?gZyb!!-5*ye}V|$>;5<_|}pG6=*A1Z#t z#BkXpNbEK96i3oAe-p(;2}!}em9jpNutLF5`CE&{8QRk?r%qotaINR5J?$8-_%1O1L~ZcE(eKgXlu zL%M9FWXu0W84OsgT&v#4w_A{39~MbbV57-!la95!O?<1cuDOGEd{4%F%e~eoL36Pl zAcH#}mgIKcmLu^fn-F<;IWGq#_<)z1y9-JFLkV}2nU@jjSr@QPte$~F!PyQGjedjm z{an9tWwyS(ISeVH_vqRckL2Gie9b2?&Z`#0?95l!ITDYsav1hA73O?E=8%D5tRY(d z)}xyt`co$T+_|ZA-M*|hK03tSBC~v=;r?HU51aSuYA9@g!5MB_#H83WxR*EiRvWa2reuh4o zUE#$x8W|NWkoC{}so%(O+X^#3e54a)<@62xzQIx%LYVw$g@2~q<;QPh&QaFMFeQzX zT@=9?kgr5ik9vdT5baM5#dIW6f|qPdZ+(L8O;zihP%Cv(_>5=C8y^I4o9^=ASufxqBncgu`Bd2XeUv7#e)(B7Zr+{oA$Pq0FLOG7KbE^`q?cwA(z4Ra|5BA98-EtP zrVl{Ri;5eM+*(^W14No+#i6dPtEAVEB%wW<1E0$O-ul!kh%@9%7rN4GZBV?y%971 zf84BmPG15|-QbKd?ftdA)oMvtrwd=^TB^};8t{<1wQ+xyy-ydLgj&T;edngRo0yaf z#Vi>6R(nSy_D)RRNmORS_MPz|R9B(go8|IJC04j8bH#+av}rHiRynD(YBVNI*VI6* zuDaNs#?6v+6M3#^=gc|ajeGL`$|EQCUP!-p75&yLeXmzS-{cne67xj|IEIZ%uTzZ* zk#&Ai^-?1BUWlZcYT@w5%`0!%SUf+)mR><^&zy!5b8@lfcYXTu+QUY8dS5h*BqVpV zL#HRokI{U>*0`ZN6VQhFB2-t_EEh?N&_E*xuT}gJH@obR&az9<8C=WCkpX(u@ox^! znLq$23v0wIX&^|)Let>#PCwaQ8Bucb>u9cg%-?$iQY~*hl4|>6!7z@Qvo(v{w)_u25kC0Jso7qERRy3xFsTGm(S&HN;VwTpGzJhLno|1ttvgz`Kii*SX{KGzBFC#1; z@kvAmHV6@K83ZS86J^ta9$%dhfn}w}UNd?Xpyw=l*M;(7>)0m_yIwGDe~ii)3xNrN zZwv}FJD8kOjI>~2CYW7nL47?B!Z@wAOc_A{Swld}|JcNIAT2=i&rW*7ocP(&uMT4(B&iq>3-P)narL2>R5} zh`;WX)7F7x#Qkp<{pP6x-alK*{Q`K$+NOd^z6qyx1W?vWudsFUv=Gd%a|k~v;Lo{T z1TtJYLy{m%KDoV+Na4SW$L_wzCK<5c>`b*$0P4T|6r+*c8#I~QLCQApNxxmjY-V=Q z%Nr?LB_bh|O$Ei$Dq7j(;Us~hd*9yc4s(83x2<*VaU4jF>~&mBO$dLh{1b&o zOAipJIDn3T0W<&uUBr%hV~WzZJV}%$(`(YtN>72Ta(op4Yhs-a|3 z-@KDHP{{&X)+sEAYp}?-Fq$q`TfpSs9sSeF9L6-g;z9uB0DBUV=_IncI8# zMN3WYhIRL^YB1mzr|kcv+DiD9FWtv4%R2${slqH%HLa&|bxfd$s` zpow3>V3$9;Msi0}Si>S#*6Hv{7(@m?+tDfL@2*RM$V!#N)w?S%%YyueE#Ra2K_eEo zRS0W9cSt^J-WCLXYj+E%e(jaVOdXypk;oj`SMBKMW@u*0#rBGOg1t`u6Mei_`>B=t zOCBV94jmq)i?y_>Xf?IeXLdQCQE2Ui){UB$GMWMxH*>bl)Xj$`q(`LlGX`F$Gtj8Y zX`PK8B@t^=HvN1=<2@;)ZJLuFSrl+m9FiJygd6PMofz`xOJIu#+x1klC!91B&qc0L zQCLq+Zz3WzH5FHhq{P5BfuWNN6m|S{dMWg|_UD^RPn`W!d-)lR)B_-j-~wz}cy4R( z@1r_BHu&VVOZlPM_~Davz{W~LwQUS&YtE&2pUl_`Z? zd+;kJ!wV~GH;xq!#&e>+7}_91jcJh`YG!4DjqnoInVF%4qBEzr&(qw5N>V@PgO~Jv z7&;GB*~{~CYIx6+0I35YFBq@@PalPkVe1-p0X} zy8Wzg`55&+9u0y_ud{cJBPG8-^+V{2S2EAZP2C4#tG z%QY{(*^=eO6{=ERS#JesaN;@sI&g0IK8FYrNq3-rC-ga^jS{v29KM6-XBeD=1M!Q+ z6Qx>0NgOf|)`fmQgwJ)*27LPjtXr^yPwq%cc1L+gK zy7UP>Hs$iD2IwZ0$SlZD{|O|02fTb_Cc;Tpr?4k-Z_x$aJHsHTP(gPC?wSWDnT`!m zn%FT3hCqTcV1N8TG!oL-k@bll%By`CNQjlYx;iubOWZ(_!W19~qvg;1l3mve>EXcO zA&(XI;=xIRqOxoGGKdyj%Oq~kBtnh;SavCT8T==hK=*0;`dc2DyRb7*=@1+sownsS z_1uDFzfx<^lx{5wlr*b-Y+6B6{`rS|n?}(1q;l z77*!pF>5#=0|1Oyd)IHL#a@g2W*|Og*l-K&%I-99j)b1~sHcLTLc;Y`s9$%95;WdT zBzODf6!O~de|i?pgVtine;MgANr@DU)QhR1*>}$`m6fwLbfXJ=Cn7WlSp+eRuIN@| zE=qbA1u~fic3PtQ`G#h?+Adw7O0Yvx)1^R1F`SEzimm+r4Dze1Qe0?A=$dVv^B=pyMRN4_vEBe1L{#8v&zW zpV<+SKVvz5b*TYzRXQdFsr$4DR2iGW@(wX7`rU9wFv+L8^%%`l zG}@cjAZ6O6LJ)=Tcm7PZ$_cytZz+6Da}6lP{{A6!bJZF;5?ZyXa=Q|Z*iSFfJJ2I# z7&Nu}&V|)wt`v$D(5~pNxUE0ZWABtp9co!V!c%qfd45+j7aQ=5nMy0&_xVJcRQfA< znz-%jcDJSRN;1PoXr{U&F(khqn5M!&OeQnMy^RfVlToKZoIs&_w(X;@FD$yW_#$j5 z*o2j0Jkp^@!9a>K8Xrhh5cq(y;`?g8#fvmyxP8Smv3EB=`QkaJb=68E+v)wMrKZ!! z#CvCA%GY5n=yZDb^EPE4c>as_As##iZPQxwS8*oKgsMbEY2d!oM zTvyQpF46DBG$#*`l7@`G$lZQsYFD8O?PaIRwN-i0{;aFjiC(Tjiv{`GhHyX=r27f7 zFjjj;XXuS0u+<$46LKjyU_CyF(KgroB+xfX!gun#CSjc_i+O81iF?Uku%~~Csf7F{ zCaLrOfecFO-*F1Qt#-XaYSj{VYsU{-$&0qVNtZ^p09{8og-6ikBttFB*O5Yg};xz%;K z`GmdvAt&2yWh$PRtuQ<#tRMW$_ZHD@op@m8~3n+eSe)R z9a*yQoVR@|OA_UMdaqM_PtBL7a@Q}yaZh=FhkeCGejuz>)%CnwzQ_xveUqRhPhSad zYV-u3L}dg48zt4)y$EPlur=U;Hxh$m=nds$Op zppH5i4?#~v2OlWN5nwijl>=Jk3v_=B-*FF1*1t%f!5F#1&tE9Qy#aEI7dQY-yQP>- zSG_2k`L(?L3uy*1w2ARR_TwQ(K>_?tcpwjBGmK$C3j=coB|DXmxrm^sUK4IX>JtXl z{1&VZ$)z*D^F$^CF;NcQ-E}?k1v9842prd$`s!*xIPit)qx-@ zL^K3|)aJVQo`O`(USX4Pl41He5|ZQu2epgl&rQE>=zaV2$IwKWjfCf0#s8NV=7lKz z;EuZW>`*9*=Yo18j2{p_cv^mIW7e2fsb0y0eIbdFBA}2(H*gWbh7ejqdqvnkW!R|} z0i4w)GlB+(+`B6IfqjJcnoMRg!mvLRp)f;929u}P{g6@9_Ne;(7ri1^MU3VPRo7nU z-$Z|sDck%M?zDs>1_}x@R*^4){I6j_#Gn8c5&*jaJjjlc`;G(_+wXiuk3lBD<7#+* z`}+tb3|}yPlN)RZsEQMT`9zg6(gWr8S8$IPHFm?urlq9<>_&jlD;7)nl*rH7Q?JXA z5sQvX-^({c-X$6%Q5xX56sJ63cccDa2rEH-=_nt-`x!I>pP;=7?_V^AMnQs#iRpFd zdXdOCV;cwxw0sr?K|woUd{>AP?mXSN(ps->r4f{1?L8N-z282HIevh=yn_=217Bnr zfZmK-#C$t91nz68U{Qks>){3jGCTI^BW(HP{B)WR_ZTR-P`*ThF|!k z$~U@yET>4?JY;)$RxMH4Iidw`-~7W~_6vl-j#=RE{3};w{X+0pQl)Wm!W5a6yX^V| zK{7}6WCe0#sJ})3;{i}Gm z5ppI%jrfahOg}yTyo*DsKfCZfH0q#@oa84?Rs)CIxXP>BES}Ab)vA@P9SFbY=rwrn zaw*4=mY(9HTnbmrbzwH|Mk4pSXCi8AgYn-vlTMO}sGKO391}|RyhPECqdiAgxSJ`L zD=#er=C5zMBPilAGeEEAHE*^wzc285wkAYAx_PgJZl-lci(lisU7_o~Pf;e6g z3I;WeYF1DR=!^CGR4Xv(F+1$FaXuwl6B?}BP7fW0Uvt5U9~G_497dJ5b|vIvZ&e;P zySB#XMpWE9nI|Frtxe9QJ_|Uk;cQYcfk)2LwPw#&U zB5Ss%1mz%ApyInNlVvG!6b8}8AXa8w7;&&3bC)hFS#)nMnIQ?4bw25|o;j{uD&tu0 zZCTa0tdH3WNXv00000cfs4-j7Ed(i7-Up43sQy%#ovq!05{1 zdTdR))~s|QBuH0s*0UY9K+x@SAyaEkHkHB6|2DYI*4BNLL#9bIkRiqp2I;Eg?Rt{c z61!RTucdhtGU61%;m5jo$qFJHF^D|#6ID}DxombdvBzf|-2o!mUWOu(fFRNv(|o$s zQqdYE5YIZwyx3lNIlur-vY+KMWJ{?>{_~`c?<`@=UZ7&%hrw%g-{1yC~LI#os2(nbvY@T@6m=jW%j#g0eVL$5{MNxz11wvBQ;< zhXR0SYT#pZ*RqIsrNX$>YK%`pBW;0#AP`BZzy9yt@2$uHS4ZXP_Rq`4Rr@*4@%sBe zPi1dt4alwhy>_;|N0}Z{B-VHlJx)w000d+L7TK--?0fYEdnfQvwoXAeCVWznl&6&=ObYoH zG2{Q(wv_Cpzk+oL0c_wZm}_52Q8s}A!302zOC@`@>1v(9d@8~T*qWItq_Ix~_$Wef)y)4n;Nhu@DKpfv#lU{)lkVJ5SaTnK)LtHTBD;QVw# zv($oqaEMSKxc8UJq`eY)s=*5Eif(8sB7rJ$(8P1GJFhvsN>{JTSi1`;S<&0!!2`us zt*vbqpMply^7yHd$t-|_OK}U7eW=f>{9p3A~wTdlkDh*WJexcLJE;&upI$T&gW zffO&q4l zBlK49^2~hD{BljTxpR`wPq0sya**fGdMu1(&%#K^^71{K&}!vxe(GK9${J|Pe4w$$ zgx4B_ea~PtBPs3k{E8dSW9C_3;DlNIxA-XLRYNU5uY#=xog3`kI$b15IW-d=Cg-5w zg7^;Je*O4dgVUGLWHu8L5gS8ScYOU1iLMBRGY#>)zO*1-N0&ShkB_e3GiL9JDN_&k zCH+?KxvJ5jWqFxcpqC>LrApA3AW4sF=TOCdByA1voprF%aDg8TqoAn(YUt;m_{CTS z^}P{-)_vG}uo@pLlw}+RrnZdZ#iiW~M*b#OZ+3QGK(w#-qujCrBLrkLyg?X+i};jX z4ZK}fk%hbb!h<=b&HbiPkHuE1!2)s!KG&d#i?$`Jt&CBZyUsqAFkhhef&n1BY!w$PmIY_RG7OS92=fyZ zvtmH0(fIuEV7(-9=)dq$$IT4;Fwd`jO0tQ9*glBeuVa{PKHso%u+v|JQqql;?&VOz z+U!ojq;|k3=lsImH^~wccirUfRClh!jg*(lzS@{73E8`BVBQaJH+z%iFl_nqwVe5T zlZ1vvy)x(R%S)C)5GV&VJ9$j@`xYW-Xe3r6sjtPcfg{ud&-@hhOy)YpVOWr3j)*<> zn5+|xJ(OQ?6%-A{M*`3*{jNex| zrWV>Ak%?$Oi$G&s`ihxtk%_`!%ixG=-JZ(KBR^UGhQEbX`hra)5l&JgOUj;I)sI-l zTr5WS^8|3xt>CUH3qwTK?_Rx(cvt0E4uIJNI!glsy>cA$JGmk?h?AH#*?vzQY2Pf) z-{Rd7Sg_^l;Ef)H*V?otut^k_T=+?kkqTZZ;DNA@ws+2fWb(G}%kp|4xqFwDwsti) zjiEi?$`S>v5E7Z@{J+}G_9`?JO?ZZ>Q`*!f$By;YSE8$5kX}wE;W2M6Jui`uOm)iT zM2pCSx|G2lu`|a9ZOXLZ?{a@gaN7H{l$Po9Fqc_PDR{0fn5t>7o@gX*fhpPDkYFFY|JK&MU z{Sm(@oa}ktp3lNsHhU|6fiiX&1+vs^$DnUY%{JY?yrwX87OT>71lzanUDNJO`CQGn z`I|;By?moBe7^))wLjk$Ce3-Nyp==xZ2pK5l#Bab`|y?-aePakkbBP_R<{7mztFD4 zQril3e>2TR#yg{uHWmkcJ#b)AhMAjP|qc|EIqwNi(hq7@m5okxjp+ zll6IBgyQA8bzat{%iJd3Rtl$o6gA5Xy}j%vCg^5CVZUWq5ghSfD9#HysQaVXNU6&X zhuFR74L3ln9wS?BcwWmAsqMt|$`IY^BQ5Ls5#F=O)#QXk{ESy?NJ9Epuh1uvf}V7= z-{DN~Fv77qELMXY9ncv2BnfQy2w&kf0NBHfNl0%cklwUT>0VpxNsw6A1aeB&pieIo z6Lk7)-s^R}B8ebLUAxs$rF420(_(#!40#LAU77)!J_^@%2g)!=6`(PY-#}07$iY2^ zb{B**OQRL`(RgRv$J108%{(5E;8)3kxOOhX`d;ylxz z*cvmf&?|9}K@JE5QP_Zc9CX~|;PeVophlU(^hHqc)pH1z93NM%NcX?NB&)x8zg59l zAwG67@W+`-cbAvu&ZF}CD)WjK7WJ6Wq=103 zi%_OE5QSocLVzN4K_K7-D=Dtei`T+CWDRG-C}8pQE)S^3$Lu^{?jHNo44~h|7CrVgI&MOZf&)GCuNa%gTRfTl*@j`ITP{iuW+M z-(G?+v1ry~D6vMd!Qko;oMb?#2~F8Za@PJ zW7q`7VFiKR2EshNr%>{gVCKK<79|y$WsrLX8glkf>%(nOnj% zt{JV0-!o3fDh);?B0?HZAe4tv($Vt~aLq0Qpu*VpaUxqw$MDyPQCXE8%fK&2ZC^b0cPkI9BB;mw56Mz6* z2p#*29u?%+%TLK8!>CsE5W_Rgr?z86zu3td7!2Uj6P|=8mh?%?O8z_8MlaBF2ng`# zt9)w4r07C(kPj+_rSk*N57O{hn^=_x?YaobN+3UbM{@Q-A8W=dX%KLGq<468lPX8B}K)hyFQG&pHB)G}8ZP)}PU|vW8@8ZQ785nZ+ zFolytn~dG0F`>X0O%{%G5SSP%f~`M5hJer!C*R5-(Z;>Lgs8EcZ^vMD%#R9KB_MFn zFG6-cgg>x?^s=UK#+X3C_Reer{3M+O$cmA@`Vp{}rH7oik!62Els0M~MJh+k*zU5B zR5GO35)j>R>Rz6Hg8eT-I&NU(0w}%wOJq6{cYs6aVO0l#|0r4k$uEi%G^w!>Cb;J_ zlq zTRffYz7gGt9O)Rlr}HdL%A?DaKv;coS*o3eSU~NrR@xE60rHB2p_dl^#LNAWyT6ot zyfG-EdiA#mWZoHZfi>?F5B%6Eu9k$7N&rz=Qy2S3tWT-Itz;KpQ`TtaKGN zb*$uvM@R4ICf@cY~zeH>9Kh1eA&EqgLHP&{3N_EE6l$K zf8(6u10R^N<8g_+_u&Q37#qjKfN3ogUhViT5P`YTZ%$tb&QYh;Ph4O4ri%B!h}||C z6Lx}%GSJ|f_!Lku=)SW5$c4`W>t4g>gE2Z zT%w`a#qde1{;if{q*iR#L3+)O!B1NECFTfw)I}NOskd#P%@IvMVyCrHduaS7?uJHK zhG|9N47BA^E79F-UK(NbGppT?{qIT8ydxoD%94)l>LDA>clH1O|G3Mg9>YU|F(@oZ z3kAXe00000A0FX9h=2IWUuR^%)qk$B%PvCvT@W2% z`yY0!jn-Q-gBH5>8Z&=$M<++N_~zN`;%xxh;xl|!VU^1Rn|*7E9p+n>7@)I34ZQ2k zk5t**#Sm!r+F~iAw|b+>2;kTq4*?u*5p!qjG>h$OPOS3o!1aU1bsL335_K6MPSVeZ zRrzwQ&}GzWt=WqdQw^SG8ekZ=*fPLvU3ciU6H`)9h2qy#&p#Q81x6gAFtdSa&jp!C z#UMqcIJLfdWZ)g7%2|OzEEnZUMzYph?8OiB+BQX(NfWn}tCNi$Of%)}AKdRwr0Xth zDf#khf8L+k{aAI`KL^H`mvGYjBrW6vE!7zxY%jsESR-Q^E^q5aREaSn_EHX85P(qt z4i?o}#Vt)UD;#y}4G|@SxUU}EF*%eZv%u#%7G_d+O+*wF7+;Ch%?VvhSPDCY>U(R)b0-OLq0Ai=~oFM@LTZDH6&JL$cr!6|S;QG3{3)eOK_y_Cb zKU>R9IQ(YQlA?$RyaD5rWy#>@!tgfsem{ZXXBxQjH3ew^2+On<$pm6pSg;oe00000 z0D15Y!u5atSp~jrX`-`9FyhFmgdo+Thx};$VOCIS7ZyaSG+h>5gBDPg$@WKVG0Vms z6+{Q3-BA~4j*A!^)4O@<*>j}IQ_~)v)%B>`um2{>#v?9d0**P6soI z7!a+sMhAxh+Ft&W&1lo(&RF5?1sI6p@GMy%YY3LVY1@1iROV!}9N|`!RLG`N7=?<9 zS7h*PfJg{5fKtv=fKY)Ff}^|(N*iMJil9kAgaDsOFZ06I*Ab7u7%9#@}|0Qfh3xJ%@U{gq+ga9oH<|S18Mt^bfg34gqJc@wR@B-Mydh zdapyXR~|ViPqQpnfA}L`cJxi(F2~An0LH_x6oLbC zgk=mqIXX=3Z18gng)fvK2}6_**S!MNCU-gd5WuoKv{`(DF`NOP7YU@6*7m#+Pgd7n z$LI-zhw%@jf?)@7(l_WPGc%W97zc`jARpczW}p3z&KL~>YKFiE8nn*t!0*_SXa0-(Hd$dvhYEq zmJNjLKlIeE>?jc%E^VUz`M>}!5Al#dm>;AM2@eg#M`6d8>?i8P!=XQ+Dj9+&Q01>; zZ`xGQ*vf;igf<+bn`rD470I`l00v>-Rmj?5iu^#b{KNLX6UuC>5iA;L%3}rM5wQ*a zUiq6GuZk?xS<`R1`0%*z zva-YQQLq~`zc@e}2g>+C#y|qsZ4aRAFe|rmaBHwiogl!8LJra!+0ohTB&`2!uPt*5 z?dyn85kmnl#zo$=PlF~>H-9OYBQmq>N4H!`_j}!CGb%^>GKY3Q93eHLmQ8)JoM{LA zvF`ff9Ql1b@J5VBeYsc6H$1t05sV%@ztUI{qbg<*3Om#D8HGIYv<)jQu%@ zbUBtyV{z9W<&_I1<575-EfHYQ8Ohh;WH>++2UfykKua&jv7tDJKzPV-3mTv=Vu7Ip z<-Bv85Dpzw+%o)MGD2-X<{Sbo5t-;ABl&FrPBg(#Oo|8sP#^y^>F?wg?R+8?kFn$J z9Tc~41)yF0BP+Adou|o&5)v!>x|3XzJ>z(HKUPmT_X&sp;m*;JKn-A$oH^@Q2lf`CIlloFK_=s+ooX)6=&K%;#a?5k6#kn zxja9_G2k!|>?889>&vWcIpGBEOM7&eavCn|nDqszW|XjftVn?i58(SrQ%QSv_7G?6 z99yH7Zx6vkIV(*Hq0M3T`yxU6Mwf&e%aWOTu~boygg2s=odM`z{fwkD#~b$?BS;kI zN5d1$()Ux)&NM5~7Y&_;KPBi1nxH>~Gi(OJ4FOZF=#CinVGE`RGzHK>j*aDI>2nD; z1XB^QdhrGV=n?tE4FP5Fn%3;M@dBJys%Gy3|N1I)xJ{(i_wY&-nhEF|Kmaoti|tfB zi_8*TwR~_(qseJ%&wLUlVNLd~AQITsDKfbnv-y{`Rg;JWN+37#vE_6BiN$NX{fZK4 zx3=^jnRlhwEKNO~1?7QX1?dvD~J3u!tC5 z8Q5JJW1e3lnutFZA(um-MAIQddQY&L=y_Q=Iv0*(BO3yxaq;k8sN@#oii`Lcz0u`w zE%2CL?|9a!T(WZu9h&-)TGUN@;HVO&f^i9c=QBaq zpoU(LW3lXI&$6#;(OL#;^&HWSm+>5fN+b?AST4a;OsqdVHja$}p4k z2?ff*f(*VtwA0aD)w|{mUD1EZg%HlZMtRu$fqQKmf-uT)n!Di*-sVwBlcvNn6=K(} z-g1f>O&)N7J|!DW|8~m^d})JaV(XA(M-UtKGqoQmtWY)@_T*YouKjA|_(Vu?V(1;) zgf2!bFA&vZM`s-g9wBHTg4_?geKL_ioH6V}Ed_Q$A?9_$@jWnp9W#B=ctvUQL+Eo$ zvJ5tDU|{Wg6#9bNTu5Fu5%FE(eh9a2+xbMU{muT!9NYb|^3bUlBueh;f>Vt_AiKW1 zh)!xPNynvJB(pF5n8a!VJ^TNj{#)iS&y+&wzNOEPSkQw0NieFGt#~Glwp31?XV{eRKCW<7F zgyvs&$P(}QRlB{EDT8~HK@p=cmitk8STEk5_xTw5|6wBME zP`@s?#I$`Z@kTTjoxr`_uP}~O-{?;0Iu#T8F75X|D@0FbjftPhzC@leNy^W=M+gyZ4B*bZK^3|eS0F6+w9wL`x2i0`z~DBd4f}a!8ET<>F@IhoBk5Z z*F8Uxb$_)pO8mcWDx}}R5JJ|@@ehe_HoP-k9sPtvdJW$jleYb@E&aM~xF_t4Bhx?Y z*d!A!aQMdWz1<%>2oA3+d-gpQ?~aT_wHk9dK>_qCh5`v?STLxJ{5? znq7e!e%SWF*hiAHXSGA3L}j(VkxKr$5`?+#epMPZzDcgN(Oy;mSBT_!>CtutK_I*k z$n%U?>bTEiB1U8BwL%yUC{Xs3w`V}osB`Qm<(~8n7lQ6`)XUNu1Xlj|AxKXAzAZY2 z8VTll4_Q}ba}4|PdicCn$6-CtRfvLtaa7AW7w?!ZIO6xuBgJd4R;p7;q(_Lvie)8t zf6EYlkL+G!hy>&qC(A(q`xeTO!p;fCN(5h(ZFUFc&qPt+H}h_BbRXqq=wD;=g?a(7 z4S|s;$&@eU3A_6%NvhRx^G`ftuIWG6sT!rWy72)iUqB}*n&tBOOfdxy$3OsbZ3*ku zb?BZ|YibZsLW}q6J~8zf5E^a;&>@;`4}-9S@34#wTr%|W_EkWb{7#b_ObyUg=px2t zX`Do;5EZZ|L-q=H1P$~!AS?ud~?-5lmL-kKLdK7&I*MbGRm7-_#o zlvl~HpkZj|4Lu#u4bU6+e7N8QVy?$-c>IDSaS7P@K08J@m+|4mK-D5iklIP36$jax zGNO;Ry^SZ(mz9EoYx}_VkbS^5k9fgKV|eI5oK^^;0#I}X zutksHwT_p40}igSpI;fkA%NNk{m2IZjuAodsjC4tfKSns9FBFeY*as$c=#YRULq~; zZvQsBrXyqskHSBaMs)pr6DSPefX*a>%Pah&)z`&4rE*2<__SFMO48_KyMz|>uYCO;<9Z#Vh6v!SQF?}U7#KNPY0A=%^Fgl+GvD}6cwi_U0VZTE z{u9gSdQAR=Wv1H>w>rMUE6Ajw0NA8o4K~IXVGZ%vj|{_)fSA?V=k`yqm%ZPwsccUt zo`v=DMLYM6tiC{@lM&DxU4%u3P=hy(f(6Sz#P&eyE`Vsx&tH7Q$W**nIKt1c zQqzBsQ@2dNv4SFMv4C+pU3!p0eDM1eF&VMW$6Q1wSBlfpl5|J1{kIEL&k6l_VS9fk z2!}ZF$`4?MjqDEv0|7pE|$Mx^A!WK|~q|I6BBr!7g_-?mq*QZ{_S^Fa z=uUurlPV}yer*z8K@?zHz#Iz6qm$Uj2cXaw(6m6_T=gxmj% z*^LqX*h}8K4ZXWh-u@J0pdu{^D-9sn46HG{5C`LcsATPn%TG9m zBCdr)P7lg6%pA+WrGsT>q+_sV1Vomk;iB*hI0ILkgV15 zi6!g#{QP>Y*r_(q-5zF_w6^ZoL!Ws)W z!V>UfJTIo1GJ7nEP$WMrS!w5l>la-LdPdxsWmvuofh(i1MK1mR5l~U%SORi@09Zw! zCL^!(3CBPaBA53yvq$idr(c;(ja%$W zP{3b4%)D_k;#;83lBV;x%uC(K4%t1^e7QMd#bUMDp&7SNd?5%5=ruvvnOhH?UxdPP zv3u7SBMw^eW{<)f*d%Y3g2U{|Asfh?{C}VNxXYa)!v|tORFD=6ga7~l002F`2K<>> zX+b84WFb@}@_I&K$Qg1}mP$Tz=4k0;6)?J@K=^$7Uqfh=FmrjVQ#g}IS@vrjWtdMz zVbOOJjn2*&U7DgJk=)d4t+ya}EOD=C?GF`poHWFVqt9tuHl7ubB1?jPTRw#q5|>xk zZ6H}VUS%nuj5<>LLeL3zfJoAfp5s?ou0y7Ckf>sT0ALPtoOJ3urm~U3Z4UpxGgD$T zhRaoT6_JAiH=4z-2F|a7IViD_e+^(k?CNLo+3|HWL4abw5wJe)th#bqbX&q z=VokX#=B+q(W<$QstD=gK00=3DD*1P2vsWGRibG!$W<|51%l&ffC5m7TTlk4N-W{- zeK9Tpy7f!pQp|7}UioqRv&Xz1Q@>~3A|u_1@8gwXuY@acQSI$x2zU1LE4Ovk_2lpR zBq`3malHIE#9cKY?YX=7>b<(AaSJirpH!u}$GQUm0S0rN<%GZlnpP&H^o#yU+bFlw$gx36rxO)N&zy>tm0DJLXRgvCm0&S^~n7-gF=~EE`j%k%R!0`$CF8| zcFDrN#__5se`&m9YWo0$>>H&F&^Z~T zCwbD~hF%^_B!MYnjB9FIRIWjEk&xg{b3noyUOcO{Tb@N)I-|%{F)k`8jfenFAQCkI z`kF&SL;HB$Ew{nY*Qv)H0$??FZIgb?cj2kFO@52dc{sHO zy7ka^btpZ6xD3@lZOwgWdm0YbV}8k{fAee}>(M#8_@;Yqc|g@@V*ID+@SBS{pLe>S z#PI3|bxrR2B0z;}002tKub%I$#e%eX>>DXeY;ROg_6-s`DSac>lI+QnrgpkCEarjt!n}^~A zfe$mztMpu}gvBZt>|+gTguwiKg%B7FbfAc)Zj9$l%|Ef6?O@d&_G~*q+JGdqHb_Zy z`3PCSyjagD!7@XsPA`dCl3wolgXNdlEfP&@Wa)d*d2#iFFUHpBHQie-|KN~D2GG#B ze7+G-L#M?P;}PBJ8K!}DJ%mP17!TWVvu8s>@QXz#!9-C3$Jsb34I=qE9*1FPp&bKo zHrO$QL8pussrElGV8hsMfv}1owV}1pOi)DB{rxQs!*&RKy8MYnskDK1RnQ{~D17)W zRdSki{pb*cLu(tH9)UdjY~>s%SARuCjx>4sNRf0@1ux>hCF6jB+%c8@*F$zL%f6pt zC2W=ChgW1{M;$(eiDFZR0(MYvb+PQB0BS~1d#2m`OCk$gu=ei$BvKpAsXdXM<1;Co z%k(A#M9mce96)`zZboD9N;8*vWS3sT30XrRfoOq{K)&=o;wN+rY+>jkiZK5ZAy3&6 z0uu$}Wy9mvrcQuj!$TosJ_9OW!4Sz5>}W^BPMGOZR6z~w>p}Y5?n;2=BMHqI7 z3TRnlqo7P89ane!a~q&DA3*C`AlyTS8sqVbb_{j$Q%aeR#9&1pfQX*i&}{vQZ)|uo zP*0@?$RT|bjhR|&p-G00T3}Ga@BSx>t$g8OkWu_NusC@NAGd`c`r#HZG!WE|5QX*a z4M3L>gHW-7huMUV2GjzwGGYijY5cxYyuYDN$;iv!VfckMNOn$(#=V?+;Rbduitmh> zE-*_}j}09Lf2|N6>whX>z}MmwRNcskZabv81Q=hwVA*qgf-n#bzr=eQ8*G?gGTpCY zH>BT3>7hh<%>oNM;rbTT!q+GS(7(hlVCIavHiT)5sm^7*tRDQlv?K#{t3d`NAL zw9oV^FXO(1HR3CR;p=BABBI~qTaP4;qt;(VDG<<(%D|4u-!I3q)a@}>qq2i56hj+A&5E)ar+uBaB~8qopIWu z@hbsPA<=osEsqRHgVff6z%K|rB>xiL*yymw zuzd~*IDqc$_MN{HDgva_%ED`+_t6?oAUc^K?~)$`nkOwc`5jF~$_cF}T)vuXtNhNH zxwr6$Ly~$68;ECk#h;JgZO30@15co1u(9qhv{G?28I_v}jAWQfBx!CfK#*p)(D-ye z#VDA}%> zRs-X`@&>AZk$bU`T;VXLm`unB1o8e*x2Lf_tK6dMzC}~~pp?u;1O)xUs@?potZRr~ z`T}(F`F|iqC-_4Z`*dbj!G6byxX~#aCGWd=n93kOLlDCh`w5YErke)ugool9kgm=x z(lF1PIUNPqMa>ftDFuL*G}Egwl5b0J z1-eB))7cQ?O?7ZYB<#|^!D{WlX0AQyAye{2(cMe$#&3c&!GOj=pK7_9)pTC^5dBIJ zI&A-hTCA4LiXyOsPQ#Pv5vK$Jus*u^UK~N#_>o=iI0pjXzm+Q+pD6-wYr=Wxop-i} z<`L|^5=fB&r?V>%e4>QTZQ3J$1S!dPtL9Q6AIzAM$hAT43WaK7iDSN}&ms)P@d6}- zoMP|&$Zk}Wl_Wk%aBJLVl<@!e|m z+FzB5|0GiYy>gJWVemq*2zl7;(rgh-O#Sd&5;!#eRw#L8{HAsG3PK*-`Kzs8sJ397 z)V9g|NKQ2f&^pdPgv2g${%x2QRmhINut29S>x8ycRvFO#URqeZ6R34zun_|SH3HoD zjoR97L2id*F&}EQG(V=;GhgN1|7u09`w4dS%-wz^X{2dB%gnp}DOC5SpO`x4U-E{w zzrUIfxW!%T?_IB6XA>Oa0fj%WBG5{mEgv*+PPKTlk#B}m8Td-d{( zZR?0*K`7$g0Z#;dtNRH#T;u5I3;0RLnjj#|H%foDBh#)Zetv3sIVEnlC*%kdj}_Kj5i;kQM#RisbN*@4~p0VsH3i1f#r9yX;52{L`EDR}s6*_2NH5>sD=4 zn%AE{1X4PD9~q%Ef@ouLn!*%~f<@T_C>r6%F_S*UjXC;s6pG3{_=VfB7Vfv~WUil- zAh$BJDu3A`_C0inewP_I7F5a*59So4PEs?cVI=vrS@QcrrCTa!dg!~~(kxP87aOX+ z2}2gT)U>Y=1U*$>b-7h?P4^~y*!hpW9x^;2{4g{G!2Jq&L=nKU8-XvurQ^}iAR6ck zlz3p2;phg^FZf4CYV0Zl8w+qy1NYq~7mLWXf{Rlt@ZMBUbv4DUhyl^a8?{%X>*Wcqd!7e<(vw_^7D% z7_$r^ z0g*u#fZ1!E6MiWi0F7GI(ANGz>t7^~etIkTq<-v8^lrY3)m7>03n2$R7pTp5kVxV+ z>?9~^f6eBG$0<*>eL|RR4hiXlBidF?819IKjv%vfnr<0wP#h(s zgbDJs2|f`LfY2jXe08N0#u#uf7_%TO!pt^36GuXzXEzbqhmQm!!a6-RdIW4?*qPG! zFzUe|5l4psi2{bW@&E6k_3Xi#Z>qnbilO&i2GIs4BNIg7kbU8faTbU^C2A!fIV9dHI7Z z0)d0DH^Ks#lK}@%w?LJ>E(sCLds~QL2znp3dk5G-&juF49(}DMc|M~W@=^Q;0h-u1 z)W85a1S8yVll^bg>re!MuxM*vU8 z9`FC-I{~m8WJ>YIj=eW5lk4Y+I4omkUuY(9Pvx1vFDrhb0X%qo)E7PD5s$-BFj)8V~eF&dp=q5EtK}J(tfJ|Er!P zM_ar8NQ8x|3&Js2z)3L z46L%GRy*Qkm}!F8BpQDSico-YRVcw76Pg3;Db7iXQX%yRXnesDN0szI7GSWz)x}KX zuk4J0lOJ$kZtN83Ob3xkV4VX}1a=w+FF=c7sulek%B2@(?1xPq)fvqC$RQwLxjqQ& zeT32|L(?(?FKa<9f(|09@`M3JL+pRsM%b&ypg&w+m_UmSl@W=pm}X1`Ab_rh%8j1L zPOn&4-tUQ-d&^M~LLA5>Tsa*VnMBhFfr0lvMzQu3N(OO}u#IEMDv&ra-g5XGv6-B{ z2?obZa91XDGNnTGe}s~V3qt|Nzz@*9jK@elIq9HCFnz^cJ+dq05k4yJ!$;_TRE&@r zW0z1mWUH0(jK=#5OMHT&g7X;zQCim2f1vE7> z@&XFKy=2d!FEv3FL+E<;5*Wcdd$HL3CKB8BIhp8Olm8a|gnOoCXgMm4__OgV9p6o~ zC9#@ILUFOXx@4|{CuY@rqcTJ=7zyNHGJpV4Pz>cKO$bVp7_mSA01kISngC&c1<4G3 zoixyWEL7*Bz z7AMHkPn|CQQF?hsat$zECp7%9!t@DLNiw=Gy%i{6OIsI$taPk!(`!zIz-zEGCE87q zDS7-uQW=1ugw6DVa&acMb3uN&CuGM!`v}ND?m(f8LoS#3E6_!Zj2$#c-aQcoxV|qa z!67RR_wYm}P{2wc>C#HsGwyv19Rn( z9{q|(gqi3n);k?WoAeQEheX$(;#vdnk{U&O{eVs|N<&xSWU87F9~~I*2}DgW)SLb} zMrl6DKK5aGa_R-g$1V={X=5gX3|wx2Tl^p?!2q~?!YnwH#e4vve*mmGHeka*Pv%~P{f=1NyP-(D zx*t`z?pzjUNk@8gY))~xc^bpJlVT9XJ@hUqR>v^fW3Xt z*&HuGoZa7{Im86RgJh@WzsDiehII$zvUCTO97W5Y z_^^s&$Bp;!LkNocVDbejf0QM5yhE1SXP%pt9}TeYOtOSzK}MYSYwa%~SF`f^M9Q|_ zX=Sf_UiEya;5SVINpPOy=f1;1u^@e3%_ecD^9vcViE%?_l2NeEfqj|DE~XzW7&3Hz zu14K5ath;uXF$2Df`+B&0qD1%!pEjFnq~sJx;QKjAkk8C1Tx1UeK1PyjzEg*)3uI~T=?tMalF zBy1(Rk!Zl9hdse)rJnn;`{iGLP@G%qN#yKSk+&{F0vy=+K{+41wa7E4Lnrm$xT!Ts z&{Vf8o?0zL38>MLfdE=vPH}7So?7+{)&4F^1uX_Zz#0QsIR6CQ1~62^@v@I!3G<8@ znsEa|_q?_%NE6o+5`>iaRyVE@jK)L@7!~vh3iQ|@y@s*~d=@!q`Rlh3q+`qW7PYLh z@`n!`|H4l0srr>#$;JY@Ztry4c1gatmG5@)=k~%4agTyiJ9@{wPO$q*=A>fekU)y^(fzT#<2U>zGnQlb8}{bTCSe0K657wCo5g z1Fbgu;+m>W85swW$*}zo>&qty#XfnykwO9TN5VOm$)pkJ+sK#LMUMt^n7Ga5+t(TW zj!_|fAww&nbv9X3jh86@1v^?@dNebbx(P3QuN7VVbi<&6(s*sjLN5E*1OA3wuKrQj z+_3xjq4Y{k>3K0gp2)0^?L6d$eff=$WW z_3>H(L7)-D1$$mqB(dCrqMZ>V;Wm6@*cCTie_+_zAZ<)y{SU@09eXY`*XJTZg8?4~ zOAHPzN4IV5Hp8Py7hYc{wae&CRmk4_O>j;XBV-9a$CXiPpq?#XSJ0P~3R<+?Z9QM*9Fgn}4da9ZzrdTvYZ-jIaGe_ODzT~Xg zf7C$ko8@A~(4HgDLZWSDaxfYV3*jVpPG$@W3}{_K=px!{8Ds8%lH6Kzm#{QLhiCeZ zp5YCFP&N(>h1!5+EHx zQ+lGil3k?yLPzSXUj%|!Q^vi5?88S!&dUO;PK}Q!uQ=fb6bCE@fp$?COyAf=%i71I zAW^gj5K*ON*tKbW^`Tjq$4XKY*CflVr^@G$n%Cc&Bl5px)pK+&t>dy!2n}kdAv05#MsJx0a_p-`}y<;(}DoGPF-<)5p#ki4rEd2yy61F*8UR-$8x5}xi(;^aSrbq zjGL>PS&ilSLg`&)V%fW{i1pi5o$<@wB7A-96@(x*1V1Ckpfy3&0H8L(hNKQ^o$;9X zJOyZ9U=>*DS`a5esuKzaQ%pm=6)u}YjsyoFgW&~+nNZL!LgyHg%s$C57tleVA)`*6 ze{%;NZ4IFS0u_DLGby3Sicuk=fp8P4tOw*!TZ2d?CFfJ?G1CbMg)PvW^ zup$Bh8W79?@{S3-pED9ms=2pcQVf}^_@IJ@1JUyT2?XxUxJ;ycVCQZ|HrLm>*h%9c z@G`E$`evOqzhN{y9s*0FK{e1LPfb|9 z5Z%CluzT9=j0OYZarCMOqD_F@1N$D102Se;AYi$Gc*d>j3krRaI6z0iRN)1sd|NUi zg5eJ~qHPb{+ZT`~z|bhrmB1PTCk2v_02>1!Nwj85yi^4*jPnEwXbj?m&9UeVq7{IR zS|*TM7zy%8h)3;2?R(U}Jlp9GiV}tbphD;o$&Wx`l&)jqp)LY(7zDN_W-|%IayZCo z{j3ycN&@hj)f#4!4Hw0y3w6KLkPhz7@>f>y$Ep4YzEqu#oMt1Wc25q0pH_;P2D~z^ zVB6jEL^|TRXT|2^1d!;1$#eMO&`7S~#Om^b0f!oIP@15$eKL$#Lyte$#xPlESyB{5 zbLod4jF+;mH121l5s?)t@eIIzyzLx%oiY zG!DYv$cU&OfvE5Q{v)$=37QfY(eLH1VI{g*V6h<-6h6vkHu})12iXW{B{`1j3ezBg zz%nITLZ-$v8YIsAJij+E%2?{|?fdKS0snitUgT05l zOBS*MWNXXl5viiI{{@0eMry_qP0sWb7FHtm6xEx?sC;aXK#VonBq+P#76$P|4fxR6 zxsPVKeSaZkWgaEdCQ%q3F8q?2vrB@fieYv}O9)MleZ-9~}Ea+^&VRO2Zq8 z`1+_y6nN+y0iZW)@P<)>+X^Q|HGP4QAWPTmzREic@IFFZ6z`_PK#-Y`5MYP`$$Au+ zF4;;LHpb1-_$po)3szt{f$pi@Nrs3ryqB?G80k{K500z$YTzb;Wim8!f`vjxh4jG2 zHl(0B3&T=KEVa3e%SZo$gz!m)w(JWpmy&jUd{Xp1CjEr+q-}!Rqw#J$ciq3f%DzT; zP8dCk-2yJ?6B7@}#W-LxhLU_#fy8m$f}%y?HHUNMlL+)HpF-c%UkJtyiiR$DP&llm z$|~_62<7Z1F@ph=C{@b7lS?DLt9z>1ne;2z2AFY7yJT-fvOfrK} zV006w|D$feY)A*#p2Uo*)32BBmW!r?rQ)^*eudnMHODjvXh%<^3~{_>5a5Eg&=Yds zu$q*#U`R}0nYGXLlqJz3qO;Y={ge1ETHWUl`{ojLHoMJ=n+uJ84Cx~MDlFr`Z2Zwb zk&EWgi0e;FlfK zMug~0`DwXui%>2XqMR@o!~-lXlk9fda{wk0upky?W2kUDds3(DWT+7FSFdR#SgVV- z_AlZUdT9AQf{7yDnW&#D*e&U__QjePdMj2nFuY{gH(XCO$3`lsBLqL-jl;L3l>!V?^AG3(>A1bWg+P(@0T zwhJK}&+_hn|Nr>QjVi+ep|FsWBpd|-p#T5?0084P&+q&MKH#VjOt1*BL=H_(NrlL4 z{0#3Kuzp5mCg3ua&yVm3cHAd%h7lenY0i6<(JYEtzLJ`?8&YQb8AD(Z3B1=TI@pRquKq z;f?Kc=lf2d*|YFJSMy)*a(oZrN_K0zyW8gL&Mf1pDdN2rFF8&LI)4;>?%Um4ly^B= ztbUYILJ)6fkV&8EToAnBH6d$ZRk!WM`)8lWQ{SD?002f^oR%jP5k`TLDZl^#00216 zbNl}Q0G`qvPRS?#wIGQwANc2c6^xy$2mQv`>@-s+rUsw1#-gE!HkTh?Hpn}jM*$ok zaKD%s(?{Qh(MxbSA+QEg{^*{0;BHsqL=q}x39FHz#Bimpt>N@-QHj*{UADu^qW}gN zQgufd`HEYqAgZT6jB!7Gv(M&dowYSDUhc1+Q9dgKe;P-0Br9is6inM+Sm6m#Urx3L zld6qGWW@oFbce*qYKuF*|LdL`U0~5UF137?PmyA|o=RMm0M916pecgGglw5cBOoJlIa^=1HZ(Q|zFC+j1fB*mt z6hWFKVSd3YCAGw24$nZ79UPO&5464)~UCflF$yu!2yFxX`A1 zJZ4^l%^jl;LJ+a`#GdRL;sh8Uh}nKFMnVmXvLWWD(eAsDctxag!vy>%7PNPzd=s># zngdc06@UO7z4{R}r_d-1IlDf{rjf1zc!dFs4}!%(zzGNJzv4S4455vVi=rbVlYqV= zQLz`A0zg&|EG5cqmnj7Wz4>d2=rkl{7-$WN2u?<&l-K(A-u4odub^xQ_>Wr&O-9J! zfRGHsVmU5?V;CfZN|lUbLr3o7gGnAd*ZxK8TNJxU!d_D+gn<1QeUG;xfCh{0G%x5R zqZyWfpa_;r{6lVIIDNT15I@FopqR^WT!Dgt?qgfSh+{zTz%9loF)1W)k(8Pz$)b`d za)G$gwu&F`D)_z#z1aKhWIo5GJffLH0l6cvRmAigXcNkl*r#F%SUS1f00xA)Gpiug zKI?+fWqma1x2xLs%H7|ulV_bLj$*dR+e_|KA%3{a)7Tlu;(j(B{QzyD#8OKEh*Noas55x&Js%?y7?&y~*Mp=D~ z&|?E|CjGv5M*$j+M8SD}QB0d-+zY zUb%uXxhIzTx5G=mzOq8O5zhaZFD`jSu3w{i4<(6rYo_wkdf<`FW&7g9kCuO?{XT}( zO9`o69WvtR?Oy47`}HRmJ3(BOaFTbw`%Y95ywSCK$;|3 z3yRe*uvm-|Hq8K%VOy;Y8wcKm^Os>jXyzmFa*P#S56}A8E8ws#?ConVa;*`L=XMoy zuYC@b-G+?BP`@bVmCu+70m=k_+QNBKt%PK{O7zs`FsrSIY{55_ci16ao{DDkOT?#d zDa3h(d=qU;Erd}4V1oB?GBY?JCMf{g84dw4sJ9iAKx{cf6cc{JLOgIB8a5nk@%A}+ zS&%@v7xSq2ePyoXGjuwbMHtx0f6#_P7O|uKz|W9TDJ5^_74F*DBV3Z-;Shl8{#0Fn z&oRJ*o4i_z*m?*q1QZ4h!^?woJasYs9jhpz*_e&=op#bl`1L0Uhh1ZS{!v%*!fKv= zAZAy&1P%OKijB&V4hz?zdzKZTicjprXTNWLiEP>eW2NCIW;n@MBy7BLxCnig(UGV} z9v|+mn6z`>o_|G>%>qZ*OG;%o(exWgQdlt6@y3By_t3a06Dc$**5-3}vW9LetCqP1 zlpqa1Dl6-u?ecGbiBTrW({Ei9Un1KZXkH*jH#-{J`&iwH{Ctc}*!+^Se?;<_od>ow z8ZY)Qdm9MhloblL5=tRCbQ}g5hIq;UAHZ%58VLi9x%6#VUfm;^@Q}znXgAEu9DR|V zI__E|q|q4>wXWrTB6CllI+3k6`Fm*O<{x)AFiRWH*2p$cg8o0DFlUZgu*XPK z`>qR_>y>eYoKIUGpl*VEro&9-^{_o4iouwX30!ozN5C4xT_^COI_DORDh6t7#|O(j z)7QwJq`sw{N}mvl^po9o(`hA_mQmjC$$5U!iC;d&!VPL)q9m6SE2p~ZPbAw{pJIm} zB|>SfT`J&{eViX6>?N=f!2oR*Z_To{W1*n8 zJdR&{5^uTF=AG~2M9S0W@A(Aczbngx;G1-Qk(lZDu%)j|GRtZu#q~ndRG&OgLUr>A zIo4DS>|1-!pR{xkFZ2qQ5a=L*#QHunh*Rh?h@fZ6_Gu89tiA6K+^E=P?bjB)gkgtZ zi%%k1HIpEL-uUUqiQ>Wu-+S_QSdor;)x@%kC;e}Gn-}pzaqTw$Frz0Qe;DTtzV7+w zc@rlSGXW7sRTP*$zw=5f`5{KCXg{;2_N>Re^_5yqu}j#mw7NH|Ae~oD?jvq>O*!&{ zP1mZ+>_9~n(Q%PYKw9E5jZ9mivRp=0=Sg&^8grDUiJ+Q3J^aB@mB9PonKl0_bLII% zQndV_h2~?V=5?#=q+!!otKvDe--2ouVP@#aLajnO-U{wM@ND9Wg zX8-1F5l%dV;_?CmqZ@DFXAJfuVoJc>1UfKl>=mqOo)oScL=8a9AEZM+p<(Q($RxvJ z53rApfV2ZZ6hordV(F1Spfsr~eTC}pxP}zPJsL{iC#jc^Fh0mTvU}xsR`DC;LD@>{ zb=CdW{)P2+5cj2t*C16A2}a@nB5`FS+x9u69zuvX{0{6B{K1zNRD?JFf-3-rQsAI9 zqiLDg-l3tC1@spDq;u8WfTom!N|_;(op13t)PC@mffyvg&YHSu!der=g5XDFq_^Jp z@nP16!UWw8p5jMinFowh@(mggKi{yH&n}n{BV!7-zaG$|;7}LQpdkI5Krp6Kn-Yck zlO;wj4#dMKcneJdjjJ^x!MQ+5S_>WN9Z>q{L=ZZaAjbnZ!RQueBEXPF60wKnN&{fl z1X2QUe!Y!DliOMsxxoQZRKQ>MF&F?Hhpmb9H_zBVK{Fh1^blK? z<#Gj$Y+&7~8WDLIi5osz#P9E7mJ$eLiNstP)9>3AQM;q`2v^gYTWHC<>v0?=67N!G zy;mbzwZe5&A<|qB&8AT;U-VC%e}sAr>d1AbP90z>1qVjJzGQGS(}E~Z!X8lpV$ckM z1E$K0xi&^y^$7V2AhM8UI~4*e6kaFdp*oQ`ADB`IJ6(+324RQHG|dV{C8MH;=we1t z9x^sHAc(!X+GuskDNUF}qX+Rp7|mZoLUVo+Ws*Ncrr2e@ z;?q|DBzogv)Xio!?mW zR=y`cUN7-d8vw9SRqduCn$kV0sE#B858WD--+9ruxRLh zQQh+Nf5}qJ_stDhOkMR{xlo7rKr4;5Xf|iY41z5ei?CCMQBiLufZtCp(~7wTU~P|$ zjVWa(M&HUO4ZHq@%2o~#5!3D12>^Z)V*sl+a7y|st`trgVU?Mro@9^ifRl2#VaJ3v z$2Ciev%l+!=q4HkM0o2cDDm@->=SAC%)P4Q&*xgST_PI)@0ZKS~}20jHZ2N zQI$nx7uzLv8U2gei7Waqc|BH8SMFkBhF^%JOtgaUW|`F0g78NcD|C9Hkd7x#S%GHl z$&}l#G-T904JMw3MlILd(ca*WOQ)@3W|0R6de;&aI+U7*G?}%3DC&f$ON4d_2Ku8% zKTq|S#P6e2#ZTC|4v<^Qke~5=Pg-wBfFT>t>F)pk|M<(S8p8!*xRjC;5C8xG00&Xe z`hRfkKSjxcB&a0LEoIp_JU{Jk{Foa&aooXe&D8)u%L=@v{w?R2&J`#IEIW;lNXMEj z_oLp6F!G9%?oKP1^VB@~WuyK}pO5u3xlFZm8KvMeYLx;sBc~j3g+6rUJ_Kc2voi~- zpO`kGogz~rV(wRF&=@8$7L`SIl}0|6^+@N-u%&#_Lp7P@K^}a1@-FLac69XgoL&Cb z^Do_~hFEx%gi<(3miC0PH_@-fY@Zm6R#LK{2Z^Gg8*#wSYbgl|n*b%W47%&asj8PN z024CT41iKiO}Y+wiEWm!VK`Zxn~mLnwT$XpM+|f#@LN7dz6ZVm zUc*mM!_hcizF$8c&RzQ)Z_AY5x;3x3#CBgGW8ud;@QT=H9gvZ@T!5TTYgoBg2;8O* z>U)NU{c)?Scb-`@a{IpBKA-emaNEZB4c9AYbNyG1Eq+v0P9M>E9+|n9%3%N_E^ty6 ziU`9(NsK@M0000TM?dNP!2!fPG?XGqS$~Oh3DH4>B001wKZNvV|>-(Sw7yaH&?_mZ^ z{ZtiTkGtEUxt*3r80R=%V+gDxIl;*8niyeFD^sEWM4v?aFKfZhOmt;x*e0&<4t#KliInb{D5EDdm8EC-lV0-N#kiU-+ z2;z>w#S9gl#69nK(cLUFPU_UE%He~=SkqDC_j0o$AmZ8AZ9^MUm1s1eXfpeAFwm9 ze8GHf9)Z!s_q5Rzuplziv9Qsta$KDOz#-6Z6-=6s{|Ye12h;?mYG4(@l7Ns2c_-EZ z0{B1@htH3W(5Dw*&UN7DFB?RtRr?>W5nxma1Z6veJi*fj3)nzX!B9}%AW%!dUsYd{#-lIq-ep{MVXdktT?6P zpvy+0@r%C_S~-kvQeTUAX(JH+#4Q}t*DE^)5dI4g>mDsn>nN=RbA>bIAIsQN(94fN zcLK0CVDku2A_~k{d=fJeVLXgq1xp4tW>ifnutB&$?j_j`L!7;iN-$VBXDN<_hnVjF z)LLX%kf*j`+hz`nCBQ!bn9&z zYNXjvYu)xD5&cNHeumX^Nbjx_St%1-@O$``n?nKSHjTq1xFb>IAIs+LB4B<9k+y~p zKo{Q$Gax`V2h(AgOYn;fC(+}^<^<4ya)=C}0DM~@U}Hjipx{Rfu2GD&*t-fb!NJ%U z4lb7jjARIHM?ldy81MiRr=gE>gpdAqBaf;df>BU-X%`{@-*kQQ3w!n~Djc6j12^0K zy9)oJtZ()_domPqQQW-ne51z(d1u)t;vCUAjoLwK6LT1h;dJ~{dgCLj^0N2*M*C@_ zuqDVO)z<_;CZNy}_LG<~H~b(H=0)tshwJv29N9erV8$C%*vlhJ#jec*c<|wP{Ck!u zyvYV$emZ5~m39Y`1Lec%RdLfEkoVB-BKbBB>@Opb#K3@jjgvRa2{lI12&}o{6nfT= z#U=y`u6(2NsNJT0gcb&p0ee(d8g6qZ1P24`90vJ*Bu;hEa6}C=t_x9t8-cNjKnoao z57Iq+&j_ARD{15vP5!Pt7NCDLKx)Cd1ougYgdAvy@dJI9fsKs)wSq=EXZRtNI+>RF z0$tv+{Es_U{rN-%a&-4y6TV=z*)D|k#L4>-NR&tMOT6dpxAvbtviuN;h{(#u-vr$S z7;%1+cPhen<&5W+=(3o;V=OOFRG(-o8UwpbhvjeY=2Etv;Sny+M7Co=f>DK_zY1hi zL5=PN#xjP$wuS=2E)W)pc`?2a@z?oPK-{Eu8VRuC4G-Z_G9M^uj{jMqGaulIDw#x8 zz6h~knQ)&fL=J)~9mL8sB$#5KYIXC=;W0^{TD}WH2BxXgvB*UZFM?%+&g2Xnf`*6R zF!b%dXqM?BFJP9K+4pZ!Gk*}{a4EK83v9KhguQgE%05Miq*nZsINU(9S5=^ON5E^M39tj-7L*cW&5!0iYs6-GJwV}ihgDD5XYxbxcrQsPU z)^Gq0Jphm=TxL2j;kuAnn>oA?d=DB*f;3YW6BT|4x7S}oYv7f1SoU76F2aG1#d1pC z&B&%xSA}-Se1Upz?Hu>kd*u#}ReM(w6N}Y-K@ZRCxJi;TqH6cd8piwOW@i3b9JMWe zPq8^ancGjcAm#cE{`@A&V@Ga2KD=VVAU0-;^BYT9e`Z}HN8>ZHg5+iqV6I^@nqL$%EM@eRU%!5Qqpc~fK$Wk|HxP#W zCKW1gy`ROX2!qFd9Zyn{;X;eefP6ZYip9HNk!b@P(kXirD_2d4S^T+S=yyWe^R2Iu zjnUj7`6MchhvjWAlthWEanMY`tqaFC&Znz}K|DZ}DFr_TjHb~>*~CUuqpZ?@FOO?0 z3{*YHvpO4(ANck-`6#~AzA=gbiZuv(@cuDn_$Ja1o>*f{r@#&?dlAyLx zgLZH69SsRI4b%LL20RXh#$UFMKBvN4SJqB`2!q9FZAX{HG3%enPYDfbK*6JAT6jw+ z!B*+B`yZg_%rSI)u(#|Xmox{JAw>|nA}jnPm^Q=E!Xy}s$P-d|r9y7@hFs%)t_ffs+W1}0PtwZSejAd&O2VK)!-I-k*FC%U8Xqo^DYeUuog6 zy^P+<$f5>~=6?Wa1kqpg$Tq%qvK(@zOK$MQEhebmL<3nLG>fnqa z&zDHDenIKq%A)?fzTlezGD;A`eq-$J^zkCs{@2W5TN9<@KV-Ok%K^un}U^nO!0EQ85`{OW!Ka=!L96)Q#Yzc}NjsnaD z<2d1!XsEb;0Hmi%FhYOv&-U{8#ugFC;R3=mUOPBqa6l|2x(Z@?82gI1o9LbJLK0B{ zzoh8SS0MMP6eE#Z)1E=nX}rIuZE{NGhv1Y>He&j>_9x#2n!n%r67oe+TGn}@i%TR8 za>+22A7WHU5kagWI68oa$dCu^ltMCSY&!^aNM#-{g9gJWk!hhY{3oDkkj#+a`77k- z6Dr#1v3yYW8)@^`!3bd7@38*(BxB%*wTJkz2VzGc^N?6JxxWNs?(TgH?~#va`8w5c zNUx^#JK`(#32%DeiS-o_>Gh^wWdvae=rb(<3)n_U$xMOR27wUB*xwWYr_f7C$4dH^ zG#n~{0`Q*0yk*ej=hV`0H`}>`J|}bmlt5+>6b`R2O~^xhzX^)-Q>(6EKsUzv;EY}$ z*B>jDhT_KlQSp#M{w!`bHW*i(FY=DVumA!!1xsqxkP%}2`D@a`n$=&egcw%G@283U zcsVF8`oaA9fq*#P5Kw6hMu5*5u6(qW0F~jP&=QL2Jc5}kegL`?Lt=^r<35DI*fIuC zQkxw3f{b247Yo8HfPf`0(2g|QcRD5lP(Aw(D?^x0jCc+LIu2BxiUzUVX@7#OhVDYZ z$lHd-K!G5;K+IddKcPZVu%U395#tBW8i)2B>mWdqxkLov6bgWy9;-C}-=P7dzk6N? zWk+`1TzDYwssWir9Lvam!5TUU@DJ47sPF{W`w}hA55YU&UlVi$ItnjHOZqokyh7zG zik`5?$-4d~X}>r91xIS(7-4}B5RtkZl4ypE8E7qF$>Jn-1UlnE+rtO&TP;Nd9)c>h zx3KCEU=57Llc3;37N9ne1a2|_njkO_#v|aTLDYB^Bm>MKPfs}U&&9C4qz#-8n2(KE z8XLXPNXCn}bOMg78ZmNeJFoqOS~&3PEDlP%ecB$y&?ZW7!dtN1<^K6%^XJ98O%Hqi zt~`Md#UJ)HQdGPU4?u7RHy(~7BU%4^82qvGAN(%E3xR^p(}Dtr8u(E>|AJ*iO93gR zsoXkPJQlPN?5-L|Qa-XMkze^#ImQYl$BIlaq+%W$Lo8s!vKt+rqeKmq5oi~bHQ!q{ z`t--ue36f&c#D zhw0;B;8`yDBVB$=xPYlx++{DqiZl)|+#SGgIfOI8+%$mP2n;ZRf!m%-pqt?hmj?nv za;gEy#fF1z^CnH$6?Qrfz{6+{J19hqmp9P9y48K5Jtl<&RYlZa_7b)C$QF}?K`7B_ zpgZ0=2LMnV0Qe@A>@a#J6o6FTT}h0ipxOvOgmgD!V|O+<;R?~Y2jeiG&!&@j6=3r* zBPduPY%zji$Q@X?+r#nDx*wubO9e3tWp-!1Xlh49k&L*?BlsyEDu z+Mq7J3j0ipAarjC132l0=!1wuk3P}PFD+;Iw=4jE!MQpL0Y2j7p`6Dl(UB5-fNO#w zO}Ya`-+c;JS6=dq7i~K$t|lNjoF(D=fD`;+bMHQ@6^lc9>P7c_(MB^s6M_6AA_0&N zfIR|W$P1hhY_%B@tQ-YHsghJ41>k_76(0D@)4-SRLmKTA}Ybriuh$ zgV)8a*x5Ps%+l;)9!H!A78+qDkgyoT7<37!%q2}g;#vR~zxY#h2!*$&U`Pbp274Yi z?IdROJV+CMJN>WuWtb3;gGm*BXtt4WV6ZA;Wi;c7WNFNLkQQGmVFG~c!d^di9SOT8 zWN&7;p;%}sR6bC^Q2ct^3m*{PD|r+6DM%s9^K|s<;T`A`5mTUaY>YX6FDc8#7~KHS ze+fwJI!?>%6eFN9^Ox8RTIuVsm`A)tbQN;?6z_sYG|~ImsKX260serMg%0rV!7>G` zjl{4x1io^CJacesh6r^6uLx4?79sQ-14QuwRyCVgU^{dd0N7aqDU1Nn8@+-tipb#k z_`QOeYzD}Vqd?H(K!jqa-!63sUq;R-c&GU6=`?f{qp163Ps13@Lb3I!BHe?PtD^q| z3$fUafq_1pY(Q05#sA=!L63|c!FqhYPb|uxgq9*FXz3|@e)upS(`+#Z0vQDzNE^H$9~7N)i1yfI5BQFg1jlv*N9;uC z+e^(UgEWXQ*yh=wgQ;3vH3zlFo?Ltd_7vC;#%0fR2OkxZ2sVZQWx)VihwLQLDgz=N z7k_#-QmXJmrvP%VFN$nrdazW$Hq9=>swNV&#U_xreH?mqc;(OW90W89zo5^4_Sg?k z+e0GSySl z(URJ9e^w>pBb>%;x@9QF>N8?sU@Sp&CL^11XGVZl4A@2f#e=evvjyY1QXF?OCfKGvP5cn`zP*GIuq;pq6(F6u zun!s#2QijM5x=2gN~TpU>+~XYtoCdX20a4Q;efAqD;ZZ4B|10Euf%OlRtWiB7s3ew z1JhLOP32SBGpJ%k@i~TO_YnPT5wUb3ey&kZpW0X^!$Rd5py=BlL*Quh2VrQcg&fI?nO(<`aWM{C3jpCgshoPpR0<9AJMVy^nIElnl>*G z6B`E;h%QOU-(JF;Y#st-d!?~n-r~$2mG{TzH@v|Bm0unr{{&86?)ij5BQ!q2YIZW7 zW0iNTAsf!6@Be=LxXYX(!v;{H7$_1Mi~s-t00a5`FE!X>eCKXtB;+uOM%#aMP4VEld-swxfquz=}eDPiragP9vndf`c*3pQ(|2XIIyOrnRA~> z$!yq_b3~<1V1g1G#iLw_d2Y*--Q`ao_ioOV%{61Sev)Uz#1EHu44!Hy2yTF3Tbm)2 z=gzz$(0l|L#(B3q5}zV0fr+le2!&v_*C$*>^B!U~6mNKe0&L07Msn!c9pSfNHVFe- z&d*IYKWGa3e#w!KJmO<$#Xrwm?#K#9^Z;Qj^*#?l+qi~3UHGu8o)ob=a%==~PRvaZ zOMVWs)>2{)0w5q7wUe;Kx2iSb{cDT0VPl|LjldAi_`uz4eWi|&0#OMiI2q#nZtV4);LBOm|(0008-FOXv?!P8{y zva&8IGOo;an%z#PBsIgA_HATHO4^4&VNHP6&X>wG(QL68P2PbT!B(6w_sQ`jk6!{^dZkBs3ZAp2Pm|1rA?Z z91LP)vPs6)k1CX3t@}mH;ab{xoAW~SuQ?0b134KK*TYIldSX2Cm_4G;V~~B4HI+}hWi-2#4Q3ptRC7z`~M(xrY)TrR8T&Ix=qIH3UbMQVV#%1 z{wzK!tRv!5i&5<<4sPg;S!t;xq)+Y&a$lj7SUNTgrkcgK*qQU}odK{kK7vW53$e3H z#VDO3*m@wHF5sQZIc8yt56j@Ejv@98V`@1cDJ@d(Ik74G!r2doYL!JsI{Tq&zWOJ>RX_eU>Cw{qJko#ep!8W3dP} z2c3dTd(-?TpD+$p1xOr#xlvW*ST|rI4|X#^(`Z^5drbrdz%&ttG*k;PWre9#DBiXb zOkEZ-5FeuP>u0_kZK&WLl%- z9h?9oAl0fd`RZC<>x)VV1n2fot`G@MT`u#vyV{Bp??_C=uB z=+bpJ%FmWBD2cAPO{Ch{7>plbP1usk`z8&8e!$94z7xtA4dNw2`&x-ilN*vAl=SE( z9IaNPPh#pa^~rB?UuY<_J!g#5mlXcyJE`%T)GV(d%N?9doYIU zmykWFB32hRA?)q>o1qHdAjsvXqHh%eu0>g(KDTg^K3z00IS44$UGzXbJ{!fFl4Nus6J^1zd`p0M?WAL~biH_wf-eK3>&V5*ZJts{k}{ zojaS96MCVr{uvY{;~ieUqMCYX~3@z#%E{H(sd*!gq)a`rnxON?}x zOOzz5h>LCaU&GvlTCC3LZlzvcvD`K}Gc85rTS_RmVGhP`64);`Fe!gJVohs!D-H*%{ z9cB9%2heUlh=l`tCJ(bnK`G!|_U>Rn_7dm@VHz1|n;)frgvFS&;b%wm z3bKF#9*aKF9#48S1;4>8u9MN}OUm?SReSa=C%#}o8~HVr4{_#V7ClghNt~+d$l_F= z>&OV3YQukDEM;oB0_#$4WfKVcC`Qa~AzWs{Fdz~J{yZuiKC0I_7&(2;LwoiSX&omh zfS7uLxKcxc z0H6^704QLjFgxf4piCmkuFAcHWjG_IfXYEY=n<;M&KIEeVW9I~bUPoi0XF*S$GF^D zutl+wI{(IMBzP!*(>K|MM@^s)z$lnINF-E}@Z;EjV_?WTO{1QyWgSClbu7_JHU0}0 z3?^`|Ck%HR8YJ%wwQ;GRUn?w~rBua2V3%Pah;kXF!X6nz0_nuK>$>ZtsBDudIrhH#-g#XoCx{(G4O=?FBy!=*r10Jsc49#KtMDE(0cRN zi9eug&?=C8iNHL->11HiffWhj39o`a4-D_hP9Q&aHjH=iO=(O2C}ZE^o=fAbyBX>} zW(Oc3%22ARAtp8&q`kn_&?b@biynh2LIjF!-T#Mg{(%n9kb{@8NZe%#0G%qOms|7wa_jXO}W%(PlOaSBCyBorGr=*5OVwW zUCuCUHL@}V+uce&=EcyLz6l*yy3N()`jI&PgmMp!i6f%FQpgaNQQKma-cFpv$3 zaP#~?n*$qYeLLbsrf|UQGlT+0C2<_%1&5CkdLOcRBEj-}%R@&PnPc_*is>^hZLPwvLY0Qna4>2vtU@7Q&E0?p}ny)$6MjF?|aWEcup=mY}jI>Ld5J(OU>&5dDL=MIRz? zkQ)I6PWH|MemFS=z7gybZRSFMVa}_{Es2f%QaXmDLj0;fFq9PZTuzA4)jyQeh*D9R zUxK~472P;s?MkCUuVDrIQZIT$ZoC!8R#*-Zq|{2?vb&~2Ku z)&CsOZajHKV*8ZLr^1cx=TO5U`X4(f!SQ>iLLx{063iCSq-2EY)8!W^ytQIec(Ymw zi8f;?o({GqOC;~3KQyshbrDB-xFQS~4F~d*mQ)=YHNj3c02A-W!4>7L{u4+MBeDve zLT6FHAsfrP{r~^#_`nUqm0^K0R3;J`i~s-t00-~-Y3J+}<*Y1#o~q3}e`lfDDg&3; zRF;qLKMWE+i67Feg^1&`8MGy0*r{pg!C3>HIO$b-g+SqHnTVj_PmXkYEZyzbJoPP@ zL*$xYdiY5fnMB_~uG&{?kmTEY=ge{*i)jwYhDJI2TC`b7_rr8-o7-Gt4nRN-RMHq$(Z{K;g`rh4ZVrp566 z_TO2g450*pBW48#qTtSeU_-un_D?+dPE?592~C;HFU#v)-R(gZM<_GG<|a@T3CU~@ zS0Dq3J=9Q7N>;tx4*9~!=(`ko$Mf(FeV2M5$HZy@44(6Zz9DCkOoht%5>aWn+I@!c z2BVC6P7<@HK%5S9EO)WKI9psx#%#uultu6Wi~!srHaIF4LPRlu00000O+5X8T7V={ z)ps2fOQD&gzNPTIp3ITiwkZ)hU;c$gF^}i-$m;Zb37rHBm)(*pJlD@7H}xmCCR7Mk zvOTS|-q3f}csg>}PQ|zD83Tp{WQ8&aRY9s7-=7ln-3AEN>CX=_cRn20hBp7YLQ8WL zgLPniy)OMuW2okx7M5TYfDqq z@8GDQiWBsBD($lBnvE?+e&3g!r!cP&Z)&?X!2g_g1(?)Zr^pBBkMM8=`zpB#Wb&}A zkViAq+CP7MQ0xv_kHF~TSze}eMPxF?aRcyGa1-kNIcce7=3+nr8`xuq)T4s{*6cvL zDSA@wQ+>b?@9_%GiA3b*{Ax~{^7ZUIYN05*M?mVMuYdq>000m`L7I?b{4$tAp_f4^ z?mz25YO_BDcqu7M1S}12qqR7%WTF*aq$Z2C0~7}w2c?q za6nA3`RDJ^WI3x}38foYMz9$R=QZOP#P5I<+~g-Rf#ZTim+TjaPC@D$9fJGGmLzXWOnV{D7-?J7vS!t`eBRI40HI)ABC=ls()0O64Wpze1AYBY4rjxFcNSyLTXlaywpC zBP9Lg5O#hGbG5k#%&8rQP<&!QYX;L840wFQG@WFO2tLHM=88PqpNAjZl#P})1<5(EVfG69VsEO2&snVg61y%lj-$RRkhfhGfY z=+oJ(+)l|of!HJnMo?D0y3ua;uF}N;$|K;2Aq7p_*Udh7y5t<@r^@0NDD?C=!96n! zd}5LRc}bK|?e2S9NtyF6O z0B+J_AGqQ#ltx#+^D#y7Dr_Af!hQbz7nnN2d4C+3GVnkXgaLpp09}?CK~SaS5w@IQ zP%i{a8buP>@Rs=CB}U8<9W})%rp4y9$R*FZ*sQD|DcVo~4u*%}Nl-HugR5#yW7CV9tKmTKgN83xv}QcaaIsZ;$MDv`r8&HBl}_ z0+9Jlb`TNO#<|3&HcDtZ*iU%|089{cgHZLpxkR&Ufv*ykos9s`Ed+pGxqXT@SW`m_ z{wP{I?$^0ppYCQhm*WPrJTTH0g@LzN^Oj5$L*DiR@eb}6SUT^2VKRKYClgKedf<=} zkBk<69|TP6ogWvl_Ejt04zG3M|KODeye<_d&5&0xBI{D{lE{bYzC=D(ZPybr8v`m0 z6#{Rfg4@O>mP}p}xBfZ4GZIO&Avk z$3%;6#_OX?$|;ny_{opL4F52J(>aeIVEBotQ*}ETIL}g74na z-8+5?QClB7_|e*X{KH#hhPgy~Rm40uewVOk*h5297|_D7KuQn=gi>OmR~eiT5&{JV z(Sx8Ou;9R3-6FyYi>S>ActUUugs(bdrGr2KHcP}4mLAxpgFu|-DA-@LrxmNN(_4adAv ziO4U^A+DnkiSM`H0E-a;;UMrWcH)9sdi?C4E&xO~WYeP3K9 zIz{?VleM;Q_VHTStgKpbQQG+vjI>JK1d&_|2P!NFDx`TnghF!XQnZCvJ<-;-hl z(lwg>Zn+nV{D6zQ*!e_SUj#WbT&pnxU0>zJ{zgH$e&H$Cdp7HsA@_X=@2i!^Hj;VR zPL#}kVVNReZFCD(Inp5)w`C2#pqG+X23t7P6XcMEUcRl(%??oNC{_<+&-9G+V@^Zx)PQm!K5(E=*)mlp_c3vTD z{DJ6lIzg_;kDT-?&?AYHXeTd!Fhn(}+LN1q(Y(X2knjiytj-zk)cIZ-Pun zF387Mz5BFL-`t9O1c6dz3BLBGtkshfdkL|#M`5&qkC8lD%M8K@!2ic!XTmAONahO; z!u*P+XBZ|Ki7G2v*tBd24GIK6gs}eimlp04hK_8;=zV1RFyW)d0AV~qq{fnL1P;Vx&<$@U+qOk21{s?3$hEkBQ^e0}( zH0+HDUzmPeT#D)Y;=M`OuYF>ZxmAALqWwN42=A-bC;p8TTtkpU<2nfhfbyL*s8=zn z2SLnmlI#;}#7|1bLNstFy#nNbM?lIApeHacy%EMh81R7jRVY5dKr9J^ih$K{@b6$z zkuLwo^c=RqFqzWNCj4XLr&WBM5H=@mq5`lmz`q26ZtKg4qOe>N3AVLc7!cgyfVaD_ z3F1(zLevXJK0Z5DvS+90%2LbGRNv@+U^7S!0EWN-s-QVQb_{_c_Y&QHxk=iqq@g^U zMd>)G!kDlswqQUXP*TJq0ye9M_-%0(9SW~N^MT4O(L)k7 zhWsJWBbpeLymsyoODF_@jt3nbKbfEy_(z~6#XM|`e|~{@PjuqUx?h4gw0BllBJP9v zf;6A89o|p?8a4&cMJdQMZyay*kTdNsZb1YvzHh4)#EW^t%OBaI7#=hN#FXU(>t916 zpQ636r;~(aom|MYn!WoHGy`r&l?c$M{(^&{phH20OChjniJ*ps2LdSu0J4gVgb1i| zH^=Ib=pKTE&~=11AiIF(008*)q)tXOHzS6Dx|rw;8_w?tiKc)<;1Mb|6M+D<=8YiA z6ptB$;y1K8PX+>-;2?2`ZNRn(tsAII#q9%lU@0XF;H4jou}+Y5Ji#rv_#T6~`o8uG znLz+Y$HD1X1>FElt1Ed-7UutzHM42gAVa^{&Thc`>}kecl(4=ZP(!Vbi#-N&cDX=J z8DP!;0eK~WC6+M%IsexQ=NOnRDEUlS4AuM=rAX;cqrcu-B1UqaM|AvDwnQZv!B7lf zV9*zkA@Ybaph4x@3iWhmOuo28Ip`S&vXE1K09x=;IhxQyv@vU99Ba8PcsL9LXHZV2~3<{x{Gu_%$LR^o3B+QdBl-K!)Op1oVA1Xff(I z^Rl)*Eds0jaE%BW3FcwxQ{+shz^qi#@e2paTV@)c`+$DM=YjXI83I(-AYD54MgJ^c@$Ggt4>ctBMvt+HFq~H5JZ!|yN>C9DBK&&)|1?E(* zt&eO5J}ndmrUWWYs=x<^@W604X_5$Oc$g!7cBh#zFm86R;)%LnuauO@a9Wb!50F3d4A- zj8up%9&m4bMu=+5)oKI4xOX}7aGb2C87i~t>zl+!6Y{dd@!6H5<*o|lIyNk98XuHm!|Ua4R&T*>XtH23jI=?5WjtR5ET$tM z;8cmoy@D24v3YwRye-#!$T|?{YIIHO(FEh7!1gJ3@(YhV`(Y>l(79br5Vw*M)Y*6> z#f_uq-9jOSqsS-*yZ{H62ExNYC9(p$4EbjsqR;=3R1uy*rvaY{s#vh_`jTRvxGi0T z>j6^b`FzWtXR*3q#Joph(__hoWNzM*wCSTWNX`l>QKGQS)Zw z0${8ABxgnWyC`x>&G zHc)^_5C-7D`INSQUr#HxENlK9l&DeIB%5hu`qkIh4z^cuz(9TFP@<&CPY+uN2!nI2 z+fJ#Q$Ji*?Vt#~VkKf{P(bee+hS;+rzRksK{w+hUH&T}x*tJ`+z5WRnG$t~B^?bUo z=8^V(P_zBef&^&U9!8v#e<`rT#K=00Xqn0OmKAv!tyw zem9(Gp%;uM7<*4i*2NWPuBus@42Sj++-#T1k}SdUv>feFx&*zhgP3#Y!kd_2p=W^c z7oYSSi#z-lXr@y1+h%a2j}%V6GdfBGjDX|O)PNTZP;Bkxk0nvSAsfi$yZ`_D_`nUo zLj|)iP*i6ToB#j-00WBFzHAr7?tnt19C%KWhX4JMqj!!8;r0Z5Fltxy-m>O|bS38F zkXB7Z|9g>7waP`hXOol~oKaN|v9O?bt%EKj8-4Sfe51Ap2tn<#T2Q;m?EsM1bzHet-oUO%9?vLRjo444gJJa>3xm!=t!+4uQw7$JHFs zWczFzxu+dH#!kx&U3@entpL@3-FDNCAORQwxIwJS7$pV-<1vs_CLjO+000`5t$f&W z;O-$v-^pHGA|P`0w@p)+t97Pa8@3RyPdj7DDr#Fx94P7vb<4%MgYhg68>2~(N_PBH zA(yI)PQixh9uF43F5p1O*+#74-A&J?b_iQzO^%q8NKR9T9r?DHkDdjQXNdXYaNj9b zo^LaQNX}d#@jbXHVq|WgWj;;{E8FQwEM$|XJ25f8m&ZZsixH-A~bIj8O2L06lZ}dDc-5>!k|4{)jE#AYVZ)G132QFpW z+H?!Z2t(u#zl?2jaBz6zumCq80qg5uo&Q&|>$baQ@R6kH9W6fA00#g74Y@&@v}4y2 zoPzN7ni6-&sCfnrfPN*qsrvz$Ph`5m_J-nfaM$tagKbWlWbOY$DT*HYx5Q^r%m+xK zG&l$0B;kQ&HnhBgJ#S;@PGKVvAly`Jm%h8Wg+01d}PUR`(A8{_84&n&n2MqT@m~kpG8WN4Q6Hf(88=H&R@8|F#j4LJ#o^3^%7k z^S8ynNL;=zXQbLzKVqEI!2o7M?6n<2r@}*~b`b2Lj0^ZGTIEia7T-CAy_b|k)dbq$iEi5;R>wDG zM06fu0Y+}bdVeTM?S-y5MF3zJ1i#cn7pcGy#7}G|wb_Q&1 zvK@{Z2517#Alw;4VaI=&y%&pd&^qM}kPsS6gye9!hYC4PZ~zO$yI4uElk7;csP0^& z5y4cd-zdtJVvW{=LH+QP9WZ2nbN?8q418!%;v3EZ6xNF8KEGl{$XY=H)uii!)^xU? zcdpa~dHxbcPQKj7+V(W|#Zfqb{Iq(rVRkWT+eG%9Xeq!{l5*s*@`%q@mr_ysambV_Aby;d!4@+=}q;KA+Qahs#x( zq5oj1H~<864i3-&r~*3i`I})ZIg;V@Byf6bQUFn#y3zz%kL(Gg2Araqh+%NQ>?5N^ zK=#k5&AMxtK#76j9xzmlDgyP(;$>l70liEZd?gZ|w{-k=-K*)g`^)NFPnSYZnXH@T zigsS{HWx;Beh|}3M>(l)Z?XCF*i>{+FoV8ONSCp*VOPO6^CeF8s@Y^Owd^LlU4=d_ zM59}N2^MDr2+lh73aOb7$zMu7|e9xSKWc5wl~-qBQKZ%DFyV>ZW=IPfb zB+{#-^idN{6Hkdx$a2As4!`g6=`a+60=Uk|q65rb0J-&nQ_aj7Y97XB1QMK}H#x!r z0|Ofo5D9`%CXlQWl(^QmP==rC_B>Mp3exMinuppg-|`DPu4hbW-PlGT9ZKJbhF4+}cdq1Q*!fN$gw!={0-$Y_E#*c_m=lNIG)&}+xut86ZQX2QRWJt8 zL(#K`UWOZ1Tx>r=b?l7vp8SfO)=i286#^HJTJ|he-6`?^=U(XTGduwP@T&U z5wk=YACS9%11TA0j-^B+yUGL%)q$Gi8KzG}h7i)-l#wWhL&u`{d^(4dO@tk*I zvpD8fp}YZ}n&O$p3wYc_1!xlHS}6oHzlJX=_8Tt+ns;`3XQ%S{xiOPM>y<|kv3$WR zPv&m2Y@$2Oeh7Wvt7eQfb{}4zPw$nf4Cw!rV?`aD>)(_}^<7=RB&4s&lNJcV*M5_P zqa+%*_#liCr1USDjG3SgstJ;e8+g>~0bE}lq3niPO&H+PJ}eKO9#xt#5N7*YU)vrn zdg21)&i6ks)iC@udg#yPBJKSfl#2bBN3{N7ZegFVKg}$^?30(SOnvObNR91xjF0Ln zDLWH24v*S^Ta@30G!WQuQ>r8aFjT-o|uW`03T0HzfdF4lUw7FZ? z*i~uz7RmNNi)*r6Ce2SSYeknl+mnA7+hZHPRv7Ca7aKzCxE?S77wl$q%w{)+P!CC` zfagez!t?_|@P<4B8VP~tfB;-ej*S4)VR%Un#f$LgGIW=|Bum}j$rKj*s^om68nl;V z$145^#}(AIuN+?|87aX?0zd-1PaOlbVEu0q8MzBSF;a*2su$`3#;>vq8<*8< zm?H6!*tukUhB-eldbhl$=|9D1{nstbi~dFxSu*m;rvEf=9`14r&{!YgEr4KgzyRBf zM#jZ=M3K+olYqaDis~`-Y`eatk4P>MO}pW zz6)`uRKTu4>kGr+l_-R001R>Xurg3cmxjiK0dJ8w9#8-jFC3I03b87I&?Yos6e+Z9 zc)NMZ28Jr%67ZXfw!9yavUzJikiME;xqM5I(gg@)Fzh+;0! zHwXBkvGC9IPwaL(^=f1U1n&D7pkqLW9vE;vnR17ZhSGpmh66k^e~*t58#9Mk7~RH2 zMzm*UuYNs1C1C`PgJ_k2rem+jw!9(3iCs=cfbxt>BP?FT21Bay*91|g>b5>tJ8PIJ zIeLC=t4OyRn3D!_Rtk<8!?0xI1l4^_*Z}`=lP_foo5z=72eaq+?lJ|YI{A(FTV4=!Ya0S#Baa%{D}BYN#zGOd$51k4ci!kgY{Pv6kr6}&dJP0G)R4}+ zBO)>2s&eJRPVy`WefGd}b^v^Og`2;tg`l814UNbd@f!__jG+Ls&}*13mDdCVB-fRa zhmmftGoSn;An>SK`m{EZjEcn-P(Q@IGm?2j(`VrUL#!o7O8OYcJYEz0twEeH zBn)csP_j5c8DM4DAJ?;Jq@(u5DVh?Ei2m_gQg%AMc63#A)L~tu}Yfgom|RT$h=&y4x!+lC8ShU7-l&}4}#^Y z6S@j<0Yh(!Mtjjn8$4>|`7ywAxXu;iwaP(LUzgv-%{Xm=K%Pi1ah(NRtC@TJp&Y$z zTw)sZ5kRaC`0RKxDHpUFhA<@8M`M8>fv|oN37afD9gQ_az-D3Z;siR#30Miy5D;h$ zY$2dD34$PBA!I}1L5dhM;_;VD?32ljUU7$5M@F(nAD|EH^e3x9TNzBHUw4actscs%fNww5d1&M zC>-enf&eLqb>QGk2shY8%LFs94%3c@QvM>g1uDy2jQ{W1gxNT(vSNM|T1RMb-A)8^G4kuwvGss)d?B~WAi%Q|vSKmq?)g+1 zLlY%8!SEk#ph?57VZ~@dv@Zk>9(J6nZwEtdVU?L3pZ#Anl-n}C#bpRsDr-;JOBon6 zJ}VW_x)kXrBQctCggqnBv^y-aE1#OLSI8|Y_NmsZh#YWmeAt}}#50E1bOD$p$cZmw zldMsfh~a?HuKOw>8_WIw|GWFRzzx7d1+zfxbSWzZNB{r;00Yh5 z+vq08BtShud{h6ynC%cpY|+U^Vp`RWWi(N`;>PS{&E(C|8&qTldNK2FjGL8^uX`eu z;nIr(#GxIs<-EF8?7yR^v;+Whvy>`@XjJB)20c!3X0Cj4-uBx8N$x;8jYZ}N3@g4S0&waUsT(C?c7-Cvd5vO3aYMuL!gW`FaV@zbv!u*?wsLZ z00}_larh&4os|;KRJ&2ailz~sYm>LTjDTJK1_cRbV>e~jBtQUF=F0gY4n=$nM`;7Zu!eCw6go*Nt9p5I&#g&UL}^Wp2P(?wj{g}5$G5o_CSU*sG=z7q5)Hr z4|zm~L(#2jXe#WKxGTB{(B*;@ozzFSnx$~@DxGU6_opBnNcBH}-C7Zx)~5>yyveLD zUoZez?(hZsEg@h48jkOCucmGV^qbt?uR*zpTYJ4m_j=XM^Zq;e#C!D@6}ju^y>vmn zfv6gb*LL7L`r$m%4lwvy5IMTC$K4q>$nts`d+7u2*&PX;g(5c;ze%ZmILk_4EiauK z)r?r(m8$)He>`V>bL)@=@PTgpTsQy#4L(7d*kk+^Wc&)jvYCWc(3t!3tA0}D&)3bQ zgF0#phoWeiN-+8AAz~N)M3F@!wkUj5t+PdDVSmRX0!6D(`iOIAeCHGV60S7BzeX%K zIq1ENXA+KqzLNm-5udOmMPh-!FQN$?x%(iEA=k%>z^=)O%)A?JUHr4zQ|M=7J+MlE zh5`d{ecLaMy;zING=Km$-cXR*XR=8Y(8@w5Nz(QfFfgL|AdFsVgYz!g z5&aNI=|TKcmgz7YY!5uC%lGpqg9r8zQJjOyFj+7#P)rhrv@a?w9WSv%Yu(>ZiwCGZ z#%Cn(aRC5*j>cfZV?{K>u8E{zJx8e^9m*=u!KvvsZn&6+69kH0bCG~J1Ikg+WK^_P z#KSH=ZGp~`PNz?=OUuhTDSxQC9`gN+@tGC-2)C1DOGyFe)ck_Hf4^e{862Cz08TE< z;D9Nu*7Rl#K>1*BfIeh=vpEVlF4P^EWTk@k3RDA*ev7$S{;IzS2g{uFpmB$a#o`ms zpr^)blwwIQ$>(bu<2S<^_sK*(0W|O#m0w2D!*boktps};17$e{W}T+AsdD@#=nXLH z0X{Z7do;*28xP?TSkD5f?M&Rk0F45yABR{fF`!+078uZxU;%Sj_a{PP?vMT*N+e+` zfzL#=8P^*HcdE%s99LbaGD2O+_)c0XZvFCv{hR0iE1`$Ai->NHJ*VDZCttBH@;Q3u zZ+{?3Nblup_r-|kH$_86tCO_<2&f_WhHxR0&$I$YGYkA6>~}2$gUBJE%`Y6DBLfW8 z{A7HTgYMszF~kOmmyG3y6*~rO_o}(FJw5LC@(h5QIDylaP@GD3^+}JyAy{dad5kp9 z{rObW{#18;4qjN=ug#Ob_((|-(Q2*s6A{qY^H>Xp%jFtUd6Lv`MSZ;SB_|^5rDIi9J zhxTvSlqJJ|Fc$!OQW8#lp`=S45EvOda%FP`RlDB5$uD6gwidXxIakZdmOmJf2=UEF zpUxP?ZWNE2Cvx6E`4W_j^|aK|8;Ef~#MZGke+zL0KI2deppuuX^I! zBqutSnE%Cyuk*3v6jn_z&a|vKg!D{yi{Q7CrH1IK*RWhSFDyHs1nGvF=X8L8a`q`1 z3>a~$38ZDe73X8IwUQBJ8F$I{QP<%Kemiah%5sl^GT2OJ9o%P@Tad@l#$k}zK$st5 zUN9TXF>tm0m>{4;$i7^+#ZLCFpQ5>W;JC4H;w3%b;v2Q3*U8q`wwt2xLM=4x^Mc_m zzlR#5{8(Vk&);-jEjW-3dIz0*YA_fe0IiPJ&CqLb`qizpvK> zVmqLV-`Bx+85}+|i|gY2@DFypt4JPPf*>$_DWpju9gU1yK{KF+@r-w+eM|)E?M_oEsH)xpZH2$+PnKG%7@|)h(qMc2?G)#$wcz`o4>Ot*xQqdV;~9A zJfIwge980bGa0+V6%QH74wiB(G|Cp>r+bYZBc&6)M*-zqYch*p%C5#vD0#k~Q6<7n zUEKNe%g7bUo!x#{V2ew$zGvU@oWiCy3)nv$$guid2J%A#&n2*i-8MD@KxPF?q9`w1 zg9he*Q82-2LG`ZxJek^KNwpf3pIOJFu*VF>a;f*KaAKls03A@Zxt z)&=C_sHhYY;EXSHU0scPu1Aj(9sOV0CSOOXzo)+6qIasT-Xn<}P#Ra4J`xO&Roo2Y zq%Rq(3L067&@_y31)4~Z_dtHsMg#v9u#gTicFUsg?I;Hsm93MpwOkN~>bZGEN-N~n z|3Wof!5nM_{9COI2Vyv2GpJd92@}6g4~l3M^k60i-}c)oPr^dI<)Z^)VG?a;r4ykq z=kxjQf7RvSggZeTV7Ph@lvEo72=FAQjQh$CYCkWrxx<0zbV1eTa{^*QD1wcy6+$~y zKmMm8)Bm8FJ{@gXKz)IfERCA@M;IIW2N*^0JM55CH^|J`(Dx@67n+mj@JJE6y>aUV zRH$wyiia!^$mq~(wEPsWfq?6A0v;bb2iV#r#{@pBekct9zuA;M0Ql2gEu8^?0KgNl zcKjqEga)J)lxPF!FBz){M*!t3pm5tT+IE4aO3loz{3)I6XsjkkctFF8tOO&5C0RNr zhqf=556tfj3q}nx@JZ_Vd?L_j8cx9t5$U*#q@;xb`}A^}e0-@g?U0-Xc)<`M`voaX za0c(RFeUmOcNQ((07s^{0V6$vkc2efci0*M76Fu&q*kyDzu#t1g)JxeWgH@%c1!;X$k!U8n3NX4CQ%s-awoOTT74Z?Da z1!@az*(uxDOi0|eUU9cvk?p=jBuvwANa~+&8?L=vqT|_le=s0c2SC$TixLtd1+Y8q z6cXSBz&{-mjDbMF8wCuZ&G%qP2j*GE0-xr_KpD_%{3)EofPmC|L-~>*5^=(E4}?&_ zTiHa$#pP>`(2O7`^b!?bfX+MQ3)Qa55qUd>9~ZB*!1x6_yg;Z69!xexw0>;x zkU-7C3%g}PW_QN{Q+`ntfCTyT&CpeeB7Yz#G8^azU@sHajNzyZ=5z$cxJY^s$N&#P z4GEv+P!WRyy5(5M&d{j5Mm_@vu3$X^KqtWnhZ&oBd}e&nBY#HN*!VC98x3#Rrpco& zx0hs=Rjgf+y^phJ#C8MhlV%7MpFuj0;(Og0Gkrau^4c#9KFjK@0>#L?7Ah&j0b!Id6yKa4!B1K_h6-+*#t|Z{zjt`e z^fOSx6ma`xWq|Y<6!r<7fd*TROq+|!FO2b#?MbjpK`jz?BxE=LuVRtt@8}F*(oTfd zEd*$x8n@6xIP_ln*!Q}B|LDLC z!AAqML6}M+DTDw5@Bjb{y4N%Z$i&1T=K!GEBuin_Flxwv2 zQRS5!M~ydMb!S*LjRIA#5wk1(MBzM{3_>(rNzw<|-~+MHXJaQ(kz{fn(Y+>lN#wj3 zbsAwD2|(@lI}ZnjK+DsA`tD+n7AOD!6k^swDLA-k)CQ_9DB|WqGlb)*MRxJ^6*G%c zrxUINN4$1a?s!&TJO4Q4o{I%u;Z6B(@NmkH*S_B&M4;;KfTeB zi$G*4ZgHVgP!_yjTiSYNd(wt@^Fm$>G2}KZCZjtiyQoaJ?%5MET1pZf61lAr8Y*)* zLrO+i0%AuW`K5#yKx04q-~zS0<%G0=Q$bk%JsB=RMczmI2|L}qz%*{A?a_tTWpb{f zJn3KuIv2b+0AK-14v0@>qt9jL4{5)r!(2Hfwl-Bsqvjp{*071K8Rk1#BLFuAB?{38 zQ5nDkTQ2|r0K2Voz=2PJ*$JuLdnyMnSv}6_PUUY*67V93ArbPXr%cqMVt{+;7r4J> zl%Dj44tYwgNzRCdFZLwjkgIyslZ;7GUvKWrGndvP<2TmYD{Ca!Hj2(pZ~0b98BjPw z>)wOZo8L6|ouMR!>;%aoZYTh`=0|Lmo?(I+9d#|_{$MIXi54kBICB#fyc~A){6xu-N&>2RT0>i*JggLOYwiqNfpMig&loB|m2N-kY=nV%VJ+tbco!K-^ z9U)vMay0~u_oGAkthZO`erk@<`Ht6{E6Cq^$>|#DryJu_M9H zBz-Uhz!=cvtfGb4Pp3#Gl=4tP#X;7XLCY-)gQQvyib#a)S7_r6mcQ*_OMav4g&6QH zQ$OOjlEg5$*6I#mQL20{-A@JX+9P(`+`4yx^7fzS25=7so?{NLW<`7FfNy?-N26>@ zM1b{Qz<~k-q&J5ZnS5%Uq-c|pQ{MyFh*zvdFA+p636lt%8F82tsFqI#4D1p0+T-jHr%*f6V;wWABY&(> zy^YZ3x`Iuh!$jTUSaq~bFpnN!D8yMw8d++2iwFdzKr2K@j`|VPa*bg|D~p0NWK#nI z%@|S8mXN>QE`(^f!-TCctl?idW<7jL-ED&MBg2BIglw7GruE&zHI?)$;AQ+dP>2

t9XKng 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�~XZRuxfRcv5tn5(yc3fnM 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 xGy^{2yzfnvVbg literal 0 HcmV?d00001 diff --git a/openglsample/src/main/java/jp/eita/example/bubble/OpenGLActivity.kt b/openglsample/src/main/java/jp/eita/example/bubble/OpenGLActivity.kt new file mode 100644 index 0000000..40ed1c7 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/OpenGLActivity.kt @@ -0,0 +1,203 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble + +import android.graphics.Bitmap +import android.graphics.PointF +import android.os.Bundle +import android.os.Handler +import android.text.Editable +import android.text.TextWatcher +import androidx.appcompat.app.AppCompatActivity +import jp.eita.canvasgl.BitmapUtils +import jp.eita.canvasgl.OpenGLUtil +import jp.eita.canvasgl.textureFilter.* +import jp.eita.example.R +import jp.eita.example.structure.ScaleRatioList +import jp.eita.example.bubble.model.Bubble +import jp.eita.example.structure.AlphaList +import kotlinx.android.synthetic.main.activity_opengl.* +import java.util.* +import kotlin.collections.ArrayList + +class OpenGLActivity : AppCompatActivity() { + + private val upFilterList: MutableList = ArrayList() + + private lateinit var bitmap: Bitmap + + private val scaleRatioList: ScaleRatioList = ScaleRatioList(0) + + private val alphaList: AlphaList = AlphaList(0) + + private val runnable = Runnable { + loopChangingPropertiesBubbles() + } + + init { + Handler().postDelayed(runnable, 150) + } + + private fun loopChangingPropertiesBubbles() { + changingPropertiesBubbles() + Handler().postDelayed(runnable, 150) + } + + private fun changingPropertiesBubbles() { + for (i in 0 until anim_gl_view.bubbles.size) { + anim_gl_view.bubbles[i].scaleSizeRatio = scaleRatioList.listDetails[i].scaleRatioValue + anim_gl_view.bubbles[i].alpha = alphaList.listDetails[i].scaleRatioValue + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_opengl) + title = getString(R.string.bubble_title) + setUpBitmap() + setUpEditTextScaleRatio() + initFilterList(upFilterList) + setUpButtonLike() + } + + private fun setUpBitmap() { + bitmap = BitmapUtils.convertToBitmapFrom(applicationContext, R.drawable.ic_fast_food)!! +// BitmapUtils.adjustOpacity(bitmap = bitmap, opacity = 120) +// bitmap = BitmapUtils.getScaledDownBitmap(bitmap, 64, false) +// anim_gl_view.alpha = 0.6f + } + + private fun setUpEditTextScaleRatio() { + editTextScaleRatio.addTextChangedListener(object : TextWatcher { + + override fun afterTextChanged(s: Editable?) { + try { + val value: Double = if (s == null || s.toString() == "") { + return + } else if (s.toString() == "0.") { + 0.1 + } else { + s.toString().toDouble() + } + anim_gl_view.onPause() +// anim_gl_view.updateScaleRatioForAllBubbles(value.toFloat()) + anim_gl_view.onResume() + } catch (ex: Exception) { + + } + } + + override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + }) + } + + private fun initFilterList(filterList: MutableList) { + filterList.add(BasicTextureFilter()) + filterList.add(ContrastFilter(1.6f)) + filterList.add(SaturationFilter(1.6f)) + filterList.add(PixelationFilter(12F)) + filterList.add(HueFilter(100F)) + } + + private fun setUpButtonLike() { + buttonLike.setOnClickListener { + anim_gl_view.onPause() + anim_gl_view.bubbles.add(createBubble(upFilterList)) + anim_gl_view.onResume() + } + } + + private fun createBubble(filterList: List): Bubble { + val random = Random() + val textureFilter = filterList[random.nextInt(filterList.size)] + val vy = -(MIN_VY + random.nextInt(MAX_VY)) * VY_MULTIPLIER + var vx = (MIN_VX + random.nextInt(MAX_VX)) * VX_MULTIPLIER + vx = if (random.nextBoolean()) vx else -vx + val vRotate = 0.05f + + val point = OpenGLUtil.getPointOfView(buttonLike) + val x = point.x.toFloat() + val y = point.y.toFloat() + + val scaleRatio = if (editTextScaleRatio.text.toString().isEmpty()) { + 0.1f + } else { + editTextScaleRatio.text.toString().toFloat() + } + val alpha = 255 + scaleRatioList.add(scaleRatio) + alphaList.add(alpha) + val bubble = Bubble( + PointF(x, y - 700), + vx, + vy, + vRotate, + bitmap, + textureFilter, + scaleSizeRatio = scaleRatio, + alpha = alpha + ) + + return bubble + } + + override fun onResume() { + super.onResume() + anim_gl_view.onResume() + } + + override fun onPause() { + super.onPause() + anim_gl_view.onPause() + } + + companion object { + + const val VY_MULTIPLIER = 0.01f // px/ms + + const val VX_MULTIPLIER = 0.01f + + const val MIN_VY = 10 + + const val MAX_VY = 30 + + const val MIN_VX = 10 + + const val MAX_VX = 30 + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/bubble/OpenGLView.kt b/openglsample/src/main/java/jp/eita/example/bubble/OpenGLView.kt new file mode 100644 index 0000000..af4217c --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/OpenGLView.kt @@ -0,0 +1,70 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble + +import android.content.Context +import android.util.AttributeSet +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.glview.GLContinuousView +import jp.eita.example.bubble.model.Bubble +import jp.eita.example.bubble.model.MovableCollisionObject +import jp.eita.example.bubble.model.Wall +import jp.eita.example.bubble.model.Wall.WallX +import jp.eita.example.bubble.model.Wall.WallY +import java.util.* + +class OpenGLView : GLContinuousView { + + val bubbles: MutableList = ArrayList() + + private val wallTop: Wall = WallY(0F) + + private val wallLeft: Wall = WallX(0F) + + private var wallBottom: Wall? = null + + private var wallRight: Wall? = null + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) { + super.onSizeChanged(w, h, oldw, oldh) + wallBottom = WallY(h.toFloat()) + wallRight = WallX(w.toFloat()) + } + + override fun onGLDraw(canvas: ICanvasGL) { + val iterator: MutableIterator = bubbles.iterator() + while (iterator.hasNext()) { + val bubble = iterator.next() + bubble.glDraw(canvas) + if (wallTop.isTouch(bubble.point, bubble.collisionRadius) || wallBottom!!.isTouch(bubble.point, bubble.collisionRadius)) { + bubble.onCollision(MovableCollisionObject.CollisionListener.DIRECTION_VERTICAL) + } else if (wallLeft.isTouch(bubble.point, bubble.collisionRadius) || wallRight!!.isTouch(bubble.point, bubble.collisionRadius)) { + bubble.onCollision(MovableCollisionObject.CollisionListener.DIRECTION_HORIZONTAL) + } + + bubble.updatePosition(INTERNAL_TIME_MS) + } + } + + companion object { + + private const val INTERNAL_TIME_MS = 16 + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/bubble/model/Bubble.kt b/openglsample/src/main/java/jp/eita/example/bubble/model/Bubble.kt new file mode 100644 index 0000000..3f0feec --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/model/Bubble.kt @@ -0,0 +1,84 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble.model + +import android.graphics.Bitmap +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.PointF +import androidx.annotation.FloatRange +import jp.eita.canvasgl.ICanvasGL +import jp.eita.canvasgl.textureFilter.BasicTextureFilter +import jp.eita.canvasgl.textureFilter.TextureFilter + +class Bubble : MovableCollisionObject { + + private val bitmap: Bitmap + + private var textureFilter: TextureFilter? = null + + private val paint: Paint + + constructor( + point: PointF, + vx: Float, + vy: Float, + vRotate: Float, + bitmap: Bitmap, + textureFilter: TextureFilter? = null, + @FloatRange(from = 0.1, to = 2.0) scaleSizeRatio: Float = DEFAULT_SCALE_VALUE, + alpha: Int = DEFAULT_ALPHA_VALUE + ) : super(point, vx, vy, vRotate, bitmap.width / 2f) { + this.bitmap = bitmap + this.paint = Paint() + if (textureFilter == null) { + this.textureFilter = BasicTextureFilter() + } else { + this.textureFilter = textureFilter + } + this.alpha = alpha + this.scaleSizeRatio = scaleSizeRatio + } + + fun glDraw(canvas: ICanvasGL) { + canvas.save() + val left = (point.x - bitmap.width / 2f).toInt() + val top = (point.y - bitmap.height / 2f).toInt() + canvas.rotate(rotateDegree, point.x, point.y) + canvas.scale(scaleSizeRatio, scaleSizeRatio, scaleSizeRatio, scaleSizeRatio) + canvas.setAlpha(alpha) + canvas.drawBitmap(bitmap, left, top, textureFilter!!) + canvas.restore() + } + + fun normalDraw(canvas: Canvas) { + canvas.save() + val left = (point.x - bitmap.width / 2.toFloat()).toInt() + val top = (point.y - bitmap.height / 2.toFloat()).toInt() + canvas.rotate(rotateDegree, point.x, point.y) + canvas.drawBitmap(bitmap, left.toFloat(), top.toFloat(), paint) + canvas.restore() + } + + override fun onCollision(direction: Int) { + super.onCollision(direction = direction) + if (direction == CollisionListener.DIRECTION_HORIZONTAL) { + vx = -vx + } else if (direction == CollisionListener.DIRECTION_VERTICAL) { + vy = -vy + } + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/bubble/model/MovableCollisionObject.kt b/openglsample/src/main/java/jp/eita/example/bubble/model/MovableCollisionObject.kt new file mode 100644 index 0000000..0970d0a --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/model/MovableCollisionObject.kt @@ -0,0 +1,47 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble.model + +import android.graphics.PointF + +open class MovableCollisionObject : MovableObject { + + private var onCollisionListener: CollisionListener? = null + + constructor( + point: PointF, + vx: Float, + vy: Float, + vRotate: Float, + collisionRadius: Float + ) : super(point, vx, vy, vRotate, collisionRadius) + + open fun onCollision(direction: Int) { + onCollisionListener?.onCollision(direction = direction) + } + + interface CollisionListener { + + fun onCollision(direction: Int) + + companion object { + + const val DIRECTION_HORIZONTAL = 0 + + const val DIRECTION_VERTICAL = 1 + } + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/bubble/model/MovableObject.kt b/openglsample/src/main/java/jp/eita/example/bubble/model/MovableObject.kt new file mode 100644 index 0000000..e756e1d --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/model/MovableObject.kt @@ -0,0 +1,95 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble.model + +import android.graphics.PointF +import androidx.annotation.FloatRange +import androidx.annotation.IntRange + +open class MovableObject { + + var point: PointF + + var vx: Float + + var vy: Float + + var vRotate: Float + + var collisionRadius: Float + + var rotateDegree = 0f + + var scaleSizeRatio: Float = DEFAULT_SCALE_VALUE + set(@FloatRange(from = 0.1, to = 2.0) value) { + field = value + } + + var alpha: Int = DEFAULT_ALPHA_VALUE + set(@IntRange(from = 0, to = 255) value) { + field = value + } + + constructor( + point: PointF, + vx: Float, + vy: Float, + vRotate: Float, + collisionRadius: Float + ) { + this.point = point + this.vx = vx + this.vy = vy + this.vRotate = vRotate + this.collisionRadius = collisionRadius + } + + fun reset(point: PointF, vx: Float, vy: Float, vRotate: Float, collisionRadius: Float, scaleRatio: Float) { + this.point = point + this.vx = vx + this.vy = vy + this.vRotate = vRotate + this.collisionRadius = collisionRadius + this.scaleSizeRatio = scaleRatio + this.alpha = DEFAULT_ALPHA_VALUE + } + + open fun updatePosition(timeMs: Int) { + point.x += vx * timeMs + point.y += vy * timeMs + rotateDegree += vRotate * timeMs + } + + override fun toString(): String { + return "${this::class.simpleName}{" + + "point=" + point + + ", vx=" + vx + + ", vy=" + vy + + ", collisionRadius=" + collisionRadius + + ", vRotate=" + vRotate + + ", rotateDegree= $rotateDegree" + + ", alpha= $alpha" + + ", scaleSizeRatio= $scaleSizeRatio" + + '}' + } + + companion object { + + const val DEFAULT_SCALE_VALUE = 1.0f + + const val DEFAULT_ALPHA_VALUE = 255 + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/bubble/model/Wall.kt b/openglsample/src/main/java/jp/eita/example/bubble/model/Wall.kt new file mode 100644 index 0000000..841a242 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/bubble/model/Wall.kt @@ -0,0 +1,37 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.bubble.model + +import android.graphics.PointF +import kotlin.math.abs + +abstract class Wall(protected var value: Float) { + + abstract fun isTouch(point: PointF, objRadius: Float): Boolean + + class WallX(value: Float) : Wall(value) { + override fun isTouch(point: PointF, objRadius: Float): Boolean { + return abs(point.x - value) <= objRadius + } + } + + class WallY(value: Float) : Wall(value) { + override fun isTouch(point: PointF, objRadius: Float): Boolean { + return abs(point.y - value) <= objRadius + } + } + +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/main/MainActivity.kt b/openglsample/src/main/java/jp/eita/example/main/MainActivity.kt new file mode 100644 index 0000000..9e024e2 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/main/MainActivity.kt @@ -0,0 +1,60 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.main + +import android.content.Intent +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager +import jp.eita.example.main.OpenGLName.OPENGL +import jp.eita.example.R +import jp.eita.example.bubble.OpenGLActivity +import kotlinx.android.synthetic.main.activity_main.* + +class MainActivity : AppCompatActivity() { + + private lateinit var openGLAdapter: OpenGLAdapter + + private val onClickListener: View.OnClickListener = View.OnClickListener { + val intent: Intent + when (it.tag) { + OPENGL -> { + intent = Intent(this, OpenGLActivity::class.java) + } + else -> { + return@OnClickListener + } + } + startActivity(intent) + } + + private val listParameters: List = listOf( + OpenGLParameters(OPENGL) + ) + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + setupRecyclerView() + } + + private fun setupRecyclerView() { + openGLAdapter = OpenGLAdapter(listParameters, onClickListener) + recycler_view.adapter = openGLAdapter + recycler_view.layoutManager = LinearLayoutManager(this) + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/main/OpenGLAdapter.kt b/openglsample/src/main/java/jp/eita/example/main/OpenGLAdapter.kt new file mode 100644 index 0000000..23d7693 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/main/OpenGLAdapter.kt @@ -0,0 +1,43 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.main + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import jp.eita.example.R + +class OpenGLAdapter( + private val listParameters: List, + private val onClickListener: View.OnClickListener +) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): OpenGLViewHolder { + val view = LayoutInflater.from(parent.context).inflate(R.layout.research_item_view, parent, false) + view.setOnClickListener(onClickListener) + + return OpenGLViewHolder(view) + } + + override fun getItemCount(): Int { + return listParameters.size + } + + override fun onBindViewHolder(holder: OpenGLViewHolder, position: Int) { + holder.openGLParameters = listParameters[position] + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/main/OpenGLName.kt b/openglsample/src/main/java/jp/eita/example/main/OpenGLName.kt new file mode 100644 index 0000000..c5d6992 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/main/OpenGLName.kt @@ -0,0 +1,21 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.main + +object OpenGLName { + + const val OPENGL: String = "Bubble" +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/main/OpenGLParameters.kt b/openglsample/src/main/java/jp/eita/example/main/OpenGLParameters.kt new file mode 100644 index 0000000..4fd565c --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/main/OpenGLParameters.kt @@ -0,0 +1,20 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.main + +data class OpenGLParameters( + var name: String = "NO_NAME" +) \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/main/OpenGLViewHolder.kt b/openglsample/src/main/java/jp/eita/example/main/OpenGLViewHolder.kt new file mode 100644 index 0000000..551b31f --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/main/OpenGLViewHolder.kt @@ -0,0 +1,34 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.main + +import android.view.View +import android.widget.Button +import androidx.recyclerview.widget.RecyclerView +import jp.eita.example.R + + +class OpenGLViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + + private val buttonResearch: Button = itemView.findViewById(R.id.button_research_view) + + var openGLParameters: OpenGLParameters = OpenGLParameters() + set(value) { + field = value + buttonResearch.text = value.name + itemView.tag = value.name + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/structure/AlphaList.kt b/openglsample/src/main/java/jp/eita/example/structure/AlphaList.kt new file mode 100644 index 0000000..52cfb11 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/structure/AlphaList.kt @@ -0,0 +1,57 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.structure + +class AlphaList(initialCapacity: Int) : ArrayList(initialCapacity) { + + val listDetails: MutableList = ArrayList() + + override fun add(element: Int): Boolean { + listDetails.add(Detail(element)) + return super.add(element) + } + + class Detail(value: Int) { + + private var rangeAlpha = intArrayOf( + (value * 0.2).toInt(), + (value * 0.4).toInt(), + (value * 0.6).toInt(), + (value * 0.8).toInt(), + value, + (value * 0.8).toInt(), + (value * 0.6).toInt(), + (value * 0.4).toInt(), + (value * 0.2).toInt() + ) + + private var crawlerAlpha: Int = 0 + + val scaleRatioValue: Int + get() { + when { + crawlerAlpha >= rangeAlpha.size - 1 -> { + crawlerAlpha = 0 + } + else -> { + crawlerAlpha += 1 + } + } + + return rangeAlpha[crawlerAlpha] + } + } +} \ No newline at end of file diff --git a/openglsample/src/main/java/jp/eita/example/structure/ScaleRatioList.kt b/openglsample/src/main/java/jp/eita/example/structure/ScaleRatioList.kt new file mode 100644 index 0000000..d700185 --- /dev/null +++ b/openglsample/src/main/java/jp/eita/example/structure/ScaleRatioList.kt @@ -0,0 +1,55 @@ +/* + * Copyright [2020 - Present] [Lê Trần Ngọc Thành - 瑛太 (eita)] [kineita (Github)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package jp.eita.example.structure + +class ScaleRatioList(initialCapacity: Int) : ArrayList(initialCapacity) { + + val listDetails: MutableList = ArrayList() + + override fun add(element: Float): Boolean { + listDetails.add(Detail(element)) + return super.add(element) + } + + class Detail(value: Float) { + + private var rangeScaleRatio: FloatArray = floatArrayOf( + value * 1.0f, + value * 0.8f, + value * 0.6f, + value * 0.4f, + value * 0.6f, + value * 0.8f, + value * 1.0f + ) + + private var crawlerRangeScaleRatio: Int = 0 + + val scaleRatioValue: Float + get() { + when { + crawlerRangeScaleRatio >= rangeScaleRatio.size - 1 -> { + crawlerRangeScaleRatio = 0 + } + else -> { + crawlerRangeScaleRatio += 1 + } + } + + return rangeScaleRatio[crawlerRangeScaleRatio] + } + } +} \ No newline at end of file diff --git a/openglsample/src/main/res/drawable/ic_fast_food.xml b/openglsample/src/main/res/drawable/ic_fast_food.xml new file mode 100644 index 0000000..2056c2d --- /dev/null +++ b/openglsample/src/main/res/drawable/ic_fast_food.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + diff --git a/openglsample/src/main/res/drawable/ic_launcher_background.xml b/openglsample/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/openglsample/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openglsample/src/main/res/drawable/ic_launcher_foreground.xml b/openglsample/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..10377c7 --- /dev/null +++ b/openglsample/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + diff --git a/openglsample/src/main/res/drawable/ic_sushi.xml b/openglsample/src/main/res/drawable/ic_sushi.xml new file mode 100644 index 0000000..be50359 --- /dev/null +++ b/openglsample/src/main/res/drawable/ic_sushi.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/openglsample/src/main/res/layout/activity_main.xml b/openglsample/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b372198 --- /dev/null +++ b/openglsample/src/main/res/layout/activity_main.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/openglsample/src/main/res/layout/activity_opengl.xml b/openglsample/src/main/res/layout/activity_opengl.xml new file mode 100644 index 0000000..24ebaa5 --- /dev/null +++ b/openglsample/src/main/res/layout/activity_opengl.xml @@ -0,0 +1,38 @@ + + + + + + +

V3{16f$v=fk5>GJ1p3oP+X{ibSqYAeIDbVPAw#Aa|Jl&)7#xvtjEc)bV*fyu zV3C4P&EAU`F!3bC^d~MRR5rd(`&dszmRcis1xdA-!;Us2*k!E=Gg7vRf<`(!^iA-J zGV-CdEF4JSKlyAAQ+-wJp+qYNb;Xt__aO-U2l-_M!uf{mZ3KS~S5Lo_=D0dDV8GML zV&ACbMO^OuacM%DFjXTRweY=>uVe}!9lMxk3wgL2%Gfc1t%?^I!1f=Fr@QwGXthG$ zL6oGX-+zu%K_HV!yAOIlX^{BIry*KX{TAcIf=z)h0NG(laDOHd^aftLeKs@NYtym< zmk@!M0>RuO){T!ys3-D;5}pD>Ap(L#9UGYi1Sj;=lmHe^M>`NCMCIFviXm`@iF zsM&vGbb^Zm0WyawdorGf30h^RM^{`l9J_-B^3CS+0<{4{sEAlFcrlPU&cNtALTn7a zrv;y_B9Q`Q1WMm~{g{10So`^x8UzEXVu-L}?s8txN>=UYse3~b27&0jqJ~ya_$-l| zC8N>abdvbKesP703XwPo3&p5MM#{D{GEN8Lo0SVvP;IZYu=mND%h;c5gokfzWikH* zt)1M+>DQ2f7faCYl{N#TYTSwR3S}80w{AcYcL6G?_%am}X2IW$B&KL+*Ka9AgD3IIiA-^l_ zY)_+KLdCl-?I|L1Ds6{i%Z@}7-IEq*jiG#l1)CmAOfpGqbW0CW6F*%H-T82M9L^v( z(A%IrE{Na4K0;xf1j8+SRhr@WnJ7_|g57_Fn>l|O)XhmEGBbb3rM_6_9E%N@b!(0w zwTDV5{rre1yKz=TiCT@0s!2dJKHR0WJvQk$LkeGHO0g1b85kK%aD_*r4rVe~NZ7*p zq4rsPh4~aTNYQE&(9~#E@24-V7GH765g>^69~?COCKK~XFOZ*E)^Z$m_)7&J&^k+Sg1 z!w7vOl)@&4phO%r4g+jX3uuZ-8*zy--9+K~g&Na;XKe?B$NmAjtyd?|&7d0BC;L;A z^N3uqz`d8kOM*`@T~Ye*C<$>Vi~FJk6h;zofT=v05we@~tZ|=YcIQhcOOH~!9%2d@ z@!yu61sOHKI|fnW3q!cj_~^iWPpfIB)^Q}mu!Bwom(~aQAc!Raj@2&|H$oZ?tW;u) zN3C6i+ZdUo2sjS|M~LU-3(ZQJMHA0@jB>!6d5F&^%HPohD#z~sDwX*r*_Xe#m87Hd zc}@I_$RKsf*x2O0B<9Lxf!D`0ZmnZFP9R@gTQGpp5YdAl$S=sE`adQ+Cyu!+qog|) zv4>uzVNqzUr$G*kO~N_-gD;W26U|7@LV{k#^wXekTta#Z=Nf!l@tDG8;vXog0_8Ec z6CDG|SFHsx@(mKfji?642?KJ-c1=;SS;6Cd10R5{YofM&W%tr?vwkFNBw>;2yT%O? z?%Jei6@zgEwAMXx_y3H_j0%rN6A&~ez8Evy;$!bD6>lqi8{ilk@RC6Svh8-gL4r@A z$K?EV5X<^4;ZLTJaooZ#`!oiFzyvFRqPx@k=n|g29r0{Ih@kC)?EsiT&=PIv#Zz$r zm6d{_p&}eCd`i3!iW`3Vf1|%3>)H7N7YfbN|H&Xl!MtM=Odj@sjkMyJ6D@+u1jpe< zfsKSh@lB=q_Kf8zG6)O70L$hO5PE&djvOK4Q?sLDc!IEf|CTLR%s`8|4RhSZ<+?<2 z2=;$rJEo<%8*f5rd;Ci@butFkqtpo>Vh;QKvDXgv>I3EDchcO?3*fq36)drXwR3 zDjOElAi{8hvq&5cgy;_pR+8HY2++(8>$!al4wMN6IM`!jD}f+lt>#}v`2vd3t!UKb zwMH55AqW4Njxc76f(nr*s|6TDDIG9*c7ZBCT4KQyqxu+sCPjUo-I(ovm-(cW za9bx!YLn>l%+XzBV!q2Pg1!C;d3tc$y(-J{Nx~yY`)j?ob;osCBE;RDi-xYTL_`b3f}|Kv zcKmpQ2iwo|R>j zE0v5f5MAhl5cSEx;e0yQ4m6&~0YU+qDBICqb9U7gliCEee&^&YO>TuVA%1fq`Ky&6T6T)9dS>Abm}DrcYKJ`$F# z*G9YS?EOriQ!K6tBzF4o1(NSwgs{QrHr#c@eWzs5^$;-*w_V@crayNo9yF{C3|sNB zpJ;U-K^?0|e@~F~v-jO=xUC|XuyAP&rD*(eQHnZ-3yG!s$R?axVI1s3 zK<}j=W%?47$CTcD77z9#HXE@g;GdMd2i{WXY8r zVt!OJ8zt-!DHLp|iWn4J{G-rX2a*xhfwP>&J&{Ck5e5!K5RoJkCt#2s$aOZH21a@a zY;83nw6->B`6X_Nf$y?U2#S&hF4`MKD&c~HcX+j$C%7q(%^u{of{iV4W$+d?{hgp{~aG8b51V>Fp5bv;Rm zOkb`H1>_c)bQmJJ>vpe4VA|Je{e6ALzIUm*@Jc4`o8PyHA|||^LoFmd!?7wfnQUJh6o^R9X$RTaWSB88cdgi4v!NhD=*@ zr8C7LlI33S)vaPN2hFs>pd>y(PCIBgZ8VG_+Zr6Dq@<#=b+rxL=_ryvy&7UXCuK5#|lleSF^17+|>bXW~?RbY{GbKyY z<=d7M5wtd10+;F$SmD)W12e-3IHO#K|8Km?dXGp>(7Fg2|K$jgLf90zJ;7SxbTbyG zjTX}}qX=j|!zX^E(nOgr#v~DAD8fa36HmLfi4>2Bg=2G6P##Dj=_iIPlK5%$ej0+^8M|Wo_QI6 znlEPiX|KhJ#`8(9;wL>iYx^DV!Wp=wY4U%ne~+5)ll8sf7_n~d_r7T1(BWDeU>m~$ zU8pUAiH&$&X^igJ8UTv0!YwM(i(j}!%Lfg@oIq~YlxfkpS96IpALPo9Rt1um}FPSho(3b-mbR}Zoak`!+2X5g(gN8iDIqFPcAfCg@#wT!T6~-b+nR1;7#DUl} z@Wga*uRJOQECXO^!Fhd{uO;CLLAW*RX4=f0!fz}V#L|75-{Ca34(#vnMLOH{TqZNS z)5^}F5P)mbZF(m&A;g{=%vim>#H^9G>O{CNZfDj)v!#rtd=d*i)tt5^fq~u!_yvDb z{t^r0$0z+n8Yc4ah(ixOjR3=(5Cn8II;aSu2XIrMLk(Ox#9SYurpn1_h}BoM8cCmWh5eUqYe zAIK|fOP9;+!$!{A^2jjt?tw?tQb5RAgcx9(FdizvXAm^Jf|4U5dJTBm@$$}|w%S_s z3uIuLu+T=T7vBnJF?Ne=38U-EP#k>eO`oOsr4Z-?P8WnhT?8rzk|<&tjtA}L(zS~sZ#p6=J+Ds`mPB9Ba9kDyybLUwc!yEX9NL5<3YEqouIZ27s|`FHa_8%6xEgh~mg*|+A^`6#(^`4~hnY-Q8#>T&y@x*va)(13R0ci1IR=neNy z4~S?n)BJRBK`u=GFE~IJ+aN%&%3{&N$(w}7%dLvvbLZxXH~wi>{7$%_S@tk?A{%Oj z!Mb09p<(6=z?cBgA!AhmOi1Y-_(=$OBs-2lgjQkyaS4x%XivBw3Bu!(kEY`=;vG@y zk~2VP3i=PnOx$RWy9e_G$Aq!f54VD9Lu0fh1CRt z93fXhge|;Kwgduh&=B7j*AOi6xii~*V#W`I%p8|bjD|qB$b`TN&D>;FR8@Q^~2X*&to>m1upjuIgTqiA@82eIYaO4A#J zQ0K`VG>B&$a5T_Ru<4Lj$Ewd8hBIi&O-MbxagP$3@pgym6i--s=6%xOVb>;@uyWuZ z>$Dc`b?wdX>f~Mp14kE^Qk~pG>5QSS%qUk#o*&~BGU?zIl!|Q>2t8~iP?+c}6MP#y z!NzRM(B^q1K%ubA))<4ZVF->2;|;UL)F{lz_Amw8UHS4fD(s=+E<$K~`8%MEsX_nQqg37bl?x##r1vE`;c5BkX1n>>etB z=9S2+3q(U@E6+BD2CV0$W&IOITnKrQ;Q9-R#oV>BJH_2)Lp&}5_K z8QwZM1w`e<_@9DxC%H^oLEqv+L&D)u6?}mJPD22b@%yr{cuX0Hy(SM*$_u+_e1Wh@ zqK?^r?Lv;Y(P5NQeoBUyZ8AGW+>l15!I9m27{#->yn(dC6;AvT;`3LmJU4de+R1oF z_`x9Pdak?(o*+Z$bINdXh6IT_gXiu)7v?>nhlHv8daGsW&2WaqiA$vpeAADxJ)g12Bj}e z0mC*;yr8R$=0}`laE)s=6HqirICWUq*jQ>hN1jn_EU1qU+aiQy*#3fjm@db1IZEMZ zBn4=vs`?g}5szmLjf2+2%bkW9lLNk##n7t+y;ewn$8S+$VU$2y;2(e4)k>UF;_>)K zxJr`a+YyF#vpp>Yn-M}JUPwoWQssk4m< zk_N!`sA6D8cU@8?$-U+3?mt*S5y-2$xVYpdjMDH>(Beb-MWd=;EKHIxfS_@rQx517 zC%DKc(6%3i1sRvXWH*jTeut!LrNe|{h&9F=xKV7`nlK;}n)6>W%z36RU6i6yo_%BP zuI=P*hI?&Gm$6b>WgRR&iy;DR2@D+4GUOT53Ps8ZkgYSbP=J41367-rfS#`|$TL$4 zxOu=hHAFw`42WF9wX{pZn^h_qenF&LehLb~m##h`NS6oqd<}dy76M4lqw2@TXTWU) z1R!zLYT!vLX!G6(8_?uPFP-v!6LFzto!#(sIeflZK_A}RGG~0zIH7_S13en6&?e6gps{snhT1a6+;G;|B_RF(odv6U zChe44o4`Y7`2(_Yvx|iH3v|Wa0L=TT&WatKLFxFM6J(xg#zcWA9 z2!AYl>*9BP(|>|aFITB%44DYvl%!~Qb%zv$Kpx$yXW#k1z5TG%o&WMQljUM{g|u1* zx_Majyr@nq(<*VW-d|+2%EKs4y-_~*)CX55-klS+D2R;AezYVb(_oo~rw!>TkJN{3 z-$Pz`IE>5Xx*DSM^lcg2Ai+}5Rzos`H<*|oeFl+O>^n1VD@>mb;-?(ExBJ5$M*iJC#ieNhFH0h*7D8N5lPR9m5 zIV~9x+YGoc95v;mLAxnUB4RWntI&h0Q~7hLWntf9lg29OXm9LZeq(vj5_ES&i5Crb zl$2MsOK6fq$D?UJH6?X%o3RXn9qeW}bGXpKbl&8pdB!>IjR2^Tl&6F=5f4GJ4Urs{ zFTpc=_$EeyISsM>k#X`NNjGngL`2Hg7BHD;VIMDD?3V1|CIXVSVcH#lQl7WhZ3Y|>PH&Qpxoj66{TPmNW?b$hWQ7Ai1S zbP|Zyhzn}elKBZIK}Qi}8{{7>3%-+kSJWI})dQ1}phQVg*~nl)-^k>>Zm_G4h#m;F z#8*OA2C;w9L$WwzPKF#~`;Q18+DMu+tK7STi{R_65|S1}^>c&;uGheWG1F#C1^9JT zI|7V5bS!fEks>q*Qua18!TAg;6(FHH3KYS1ZJxl@JR8(+xVh-$j z7WdJg*eqI^g%7zlu`>muGXy(kf0xWJxsoiD=03m^ZbW#4Ok9 z-NKnhNKnDHRR$Q4D$2a&1XY8zVVif9H?Z~qjVsV}_n4uKRX(f!EQ*5Uw<_vzY<0}5~g-dUbjO=*qkpv+VV*boW z4v8MzbF<@cfOsY=E#iV;?60v*Lb-zn5U7<#;w(#m$GY{0b4*qp%`sdd5CmY18~^|v zZb6#ZVf{wpOAF~-23{M73_2z97oHzT+N}m;P(>I(U_L~5^ZI9SROz3r;q_o(IPKJC z5cdm!sEr8~ax@ryHC7vcQ2~IHZSWo{T%dlZXkz8cV9}LC0opa`g#vtZaFA|xG(b{< zUq2fCSjyTYj;)npzj4sbu!48WrFlq$3^E}cH?Usl+uTmk){HM4g4rg=sQE%yjz29y zBl2|j)`5s|P&>2yV?GC62PrlaVQB4VUG^|Pu9=Ka_WqA-Vk$7J2`(Y+d_8Xl3A{3N z@l_mHwE|dycq*2Nv5-rL3 zP0FL_VreOALr7wjwniAA(Qpkz?GEi3^oG+tJ(xU>OyC1^B( z!Gy99NpCw;;piwSDj`rVG>wN4=k8&H8s2zJ7YnY4Y>*vdEPMkiUa#)A2>4n zenYMxvF|b*d5%4$@I;gqkl@7kKCkftCm=u@7zbw{R#*k$2cR-CIg^7iZ{58{B|=4c zd%z}Y(0}P32ad=kEV~U|`t1h4Rdgmz%ojnkS^M!SIBK{_W$ zXiXb9Bd8s0NS=l|0y_jj2DlX?Z+hV!;mb!BG{0oJ5DM5ZWc(2V1`U;3FIWs@CMH~G zKy2;_mxhpm&c6VrU5i~Y(&}Vma0b&GMLjfqv0S1jM~;x29g^WDe6c+Lq6~2I<>O(D z)5!-r6GR0slgUN$B1+20&6sX`3-N4gzc^qb6pJU2OsUXps8fGNl$@j9mQuFc z(=8C)C-RKmLe>*cwG>hy+M~=`+n35x$V5O;r1~x1v_4?kZy;4N9kD^=!l>=|NgWew zUT+xa6E==_cCLOflSY45?2T%9R$rOMO`nT%q-;M8NE-Uo$C&VbH7J0cAPwGD+y{fd z8QIO3tTR;~(AcPn(GUl11M^?*6x=aG6^b<#J|)2muO?iBW<*MM{nokBiB9v{RQ4SfN|^btYr;Jgh2 zgD7OXL75Z6>{%*qK!UsB1boGC4hmNDNneQN%Yf>zdmv!X`13!Yl7^cl104&yMBs)8 z<;gTDKe6upLLmf+Sf45f24|61F05qmffTK*fdOmlVKEIMlBFsa&aBbcl`*4-=$oR3 z_@T=id1Q%U55h_f${^$7iU${vA*O9QRyvN-1ImQS5>GI%O;4KqUWZDBA}-+uiITlL zwdac8V@J2BL)t`2wABXWM`-dBqM%312<(WmZ+_KupomJBm$GGiAtk3oV;)9~CeW0) z71g#1)R9@qE6!p+j{U-Y8d3BV;4}|WdIgoHXqHh`xmHOdG<;i8f#AYLUxLrez<1Jk zoi2k2DZtEwFH2G4*^w9UKCf#pl@>`Lhd4c7)(&qB1tQ!ivY_0L`$#lHIrdyLd=*KA zd>w`u;AcHS;pp(?@~bw`e!dG7G0{DdQpC6g0oB6D;Or3`%0b;?f`oGI%ApptF|@*? z@M8&OGGMSoUglJ$5=rL@XP}};p_c-B?M-bjiMO&zZV zZ$brF<1y6ump(nFB_O;s>tqlO+P;flD1j2sKG9CZ+gcoGCWHr!jTqQ*830wAe`f*yu4puUjjLLNc1 zF;t)EWAAdAz|inuZiU&$aQV*aF;IWFU|Om0rB2>)nXu-iQ(nhlWi|#M2smJd*+Z__ z)Q|8+iHg+wmhckkrQ!u2nDV@L=a&AEm+m3vm4s$JRUPg+YtQ`nGl%AvV4V$nB*_!` z{M6Dt$BB9UB25JBL_+Y;WRHncq%4s?-jxSw5_zPuiVdY9io$<{Slnk}=6!9BHL=nW z4jgW>!Va;ajkN{yMI1rx)WTBvWJ;hmi?UTr4P-(D1`Gf5q4ZS1G7mgj)QbJ(>-bYE z!B(T{(kJ<0gc9=M8zvBTescB+a!9uW5_=qeDZbTT!bG`Q*DA~Eid%x!507iVkPMx6 z6!)uEv>z2d$vDAE1mP%s)JqPmYnr)p<_l>nswpPLe;y^(azgI>SqLrZYkdjo&ua*4 zqp>c`={Ys!85n^hK-hL{HEhw97meS_P=ltjBH1@VC#Dck(F1wj#mFFFSQ%ajCAj`r zk2O?%5muKRzp5q>XgGvG%80l+X9|qN_2iIAAdUm^JUWY%m=xz2UPRt8Z zaN^)Zd|YVDhe)H0HhP9{m;a^-7Tj zj$a8#SYMYff*ESv$*~f0jeF&lJAPDIcG3A{K}bR5m!y+D#$%|fQ5cRo&ZLTAqz~-r zb+PB_&qb-0F{C>K8GfB6LF*KT|NhD#Ke2YG91{h75W3M9cdY&%pt0BJWQ8%oA;&{P z&Eu|8!laO;q5^{0Fpt;nS(faMOT@U_Lq<63cdrzO7?a2@BN0hce~A{&#gyVCs`@eUsttva+STD#*;zId-Yv$hdp@B#bhHvgZ0Cp7F8Z@ql zpXNpOO~EbYPC(p3~Tp50pm4?zWJB%^Z^fOeAj#ISl2ZO6w(l^O#Z zk>V~mxMnKDzsDoFH_+&O<|oR`B=G_FsUVA%^mlS80%F_pN-fz`yRQ`>MVh1#U-Ap2 z>B)i-q%zear@mOk4$zRvm^ueK;B{hM9AWBu5B(oQRJNsI4}**_>4&*y8HrIJ@7$AA zf)A1{$4fndgiJBA201{x$*{BpcH}^}ABbx4Ex4%(#WpvWBP$YyN6kLJAeQYdqqi+z zuQ_GlnMyW;(ki-r-E|cqriuLtYs=XLMIUw!c(#M&mtmn;ysHeNL`BQx*Fu`(jYuyd zWK2zkCI9hBK?SlGQa_%Ii74{IDbtWausm)xfk}~IeZgBpJRePt*iDL9Lv;gnv9ez7 zvXhl%MC9yPoi|WJ@&MPgB+cf|;fIx!%2z)TW1EE1uYc<2d3k#-cq7DOGiLeOfw7f8xmT$p%nqvz(ws5^Cl33x-P_h14#3@hA1W8dmp4+|nvuu;f?0!V|`oTl)=Tphz+K*eWJ#M%Bx^g9-sv2bXb z7zlj|RH$|f*CvE}RDs)-IXsjmE5w2(5Gqts$yj0lJSDbh+thbc_-uDg#) z2nES!C5xH^*HQ}kMzohCfQst3FA>{&cZjMlQ#`W*0|bf_AMmm*hI5NopMahK2PDjB3G1(@8hW0d2luvKsp6|O;ZBPzs2*@;fVK-Hc*iDiV+Cg!cjJ(t=*5u3M}ky* z6xw~G#ljB4uxwd*2A|+E-NvLRfcNj54gt2~a1Th0e=AE@ZeszrDF%RvhK;txnABSR zN2k<=1TwPY)`5bwI0`9t_#<}@R68cpZaw1!*9l|el{!nvd`M5q*~7 zM+lragm%twP}e}w00687Di~?B2xo)Qr{KSyrFtcaBesW4;3%#_%$Y{!}!N+qEN zAK#5wf2S2S!KH;_(r_XQkns6wqhuY;Fn{g|MQ9)ltT67v(5>OeU*QBelZt`H@dgk; z-lfBpc!@Q^(B3QPZFtP57??66W^n<|NNO{WmdsDbDg?Kk*lI+Q6qe}P)H7LVhj!(< zP+2Bn3jol7njQ&U5hDv0Lr?Mv8VwVS5qHVD2=DP@OE$1?9y(?34Y=P2fSpeSoVF)b1-4^Cqx}cj5q`F+0>)au@8)q1|33N zG@L)m3FXS@j~5gAy<9v9Ud$hmNMC4m_ppdzK1&mm}{OM_7eKb`&SOC{7_tyZvx_h|znL^o>A zKkMTJ84a{GssxC;ZwBAJ1r|Vft`y^bE*ITNL0KT7jkFLTBe@0xdT1*6b*CD6cE}Hz zSh#%psfj24<0lP6wBvF__NC!~vM#MEN!9_oI-JOeV8&bs71`YM9a4o5>c>fca!I41 zJW10ld;0?e;W9jJ{vr6zS%Ne;g?|cRCVm4d`o2zgUj=@ZFyDC{m5gun$_Vb|$gwe< zc>G?(gN9PKU~de?d?>IWxP&legz)&tx;Di2;M^O-0`S0Seh=4YMG7E?N?sssHQ1Tx zu{$elRf6g_SyE`c7)w*mH$(i6fC1DX7X)?OVmJ&D2GAbPYdA9}A+*`N{$k=>93zH@ z4snn@5E?6l&J)^i_N%`VMNCk@f zGrO)>MfDTalJU@x8r*S5B{38ntUVq-89PUO)4nWM9Rwi}&`3mBA0G@GEU_cKN@A7& z2?GUONME_Bbz{GD-EWtN#J_KsP3!n3b z=whbR?;HZs4rs=wARArv6;OFsG@f=6ifK^v_Q9^p&^k$S?qG|FF~OXlsNhZ)XTqj!|1w2tp~I%VWFVM!6wGh zE94lkD9{muQK_9BjWNktKQ;J@h1$Rl479cggX-5 zWwUx;k4_MmxYS}D>O{l{awI*kAE9BPme_pa2Rt%CT79si#^-uetffWX$`Kw2Tera& zrV*7UtDuV_IkA80<#cEGPB~g)jwTT3pvKVan99ZkjXpW19hX2uW8)Umk0=I;@^<26 zj6J9FKSQ)=Fc$)7g(7O$mJQ4-U5LStxWOZd20pTB3uC?vB*fYsMZRrrX7tgw9&+~83`l!HQ14Fu&HO<9@*%>Ty&TAm-v{!w{zs2_r0g!!Y}GKQZVW1JOb(4UjuABVqzmjT0q1rr4y~ z5C|RRZ0cHgiuO23;RadgQunK}$2b^`@nN=sVHpyX^TueC64mJAx|*$4!3e%{X8tvm z0VeXH%DiE(OYnlca2DY4pw`cTTNrT{ha(s&A|;ubBClaJrytmEP{8G1E4J&48a8Cd z(T+fLKEXh*X;2Q!JSB1?$_e@w|5uZQgMwEs$4Q|8V2&6UvGfoZkz=K2g^+US4TL%# z1MA-^IygO^qZ9?Z1wg1p>k(bd)+DD!G9n9&ha-c_^;!svOt3Y^#cE({z2#k3l3AdA zbCL=9QL#3##8%`S9mgH$6`=V=00F1(wbJ7VuZeB(X6i12^rXVr^MTn=G{Qu;2m=aGc#G&IgD=yfht31HF8{S!;}NEVNUXBRqscd=0+~0S`kA+#chI zPc>lwJ%Sz_zJ88179>N6A>?g)y#sWNi)U8Cjy(*mgcKrYcAA|wf6Gu~Tb9US49Iica*q?d0)^hI4|)+gc@GiPFk z?6Ql2qH3QIo7CCx{6I_Vl{$MAsU0d)EDh>0yh~HiSbFBD^+19FT)k&e!-(8XtsQ@W z+Q|&$YxG*jZ2aE`a@`eIi=cMs zprSy~sYOQW>TGl4+-!)vC{lGH0dN?}b7(*w!C0Y-Y)&(b|5Pp^{Ot5&sNLqcJ}Kdv z?;ivzfy=nZA|q>yIv*2dIE_i;UJi_qEBwSG4H~k=zulbA}5TYrMQ8 zlpzltW0dLl#wvj)VA_!_9G%nrGrbQVy!6@~f z7h059#ecU)<`wii*pR0>lBr0-v^3h8aV&W{V=S0HR{fMAg;Qf_)iA|(*6p+I5z>RT zVib=my;-Bn39Ltip_Vkx%M{D=5~PJB0=WMyL?~|~S1BeL|4*jf`ivYp)O%KbUU)G{ z!ob1;QKT6{Xd1ynXgo^ft?C9Ia>cBCV@_cK86Oo__*JY`#b1O(1H6+598lQ_3lYV4 z@ttl&Va-2kxN~DAj?s%Yq(95D!9Bt%b7>zU^de$`tdkTCXV|ZQ{8ER6BZv7OD%LA2 z75J@@P786|9_vK7L6|^h2nFL;fi0gNaV{DB91K<^ zNdI5#B2>2kmMj&*DN=1T@lC|*w-O{2D_I$csXu)l;G8P$3d12xfMlkdolzf}355{k zN+2eMGqD@Ip-kZxyP)BW2(sYfK5CBY%P}XuzjlI|9$?a-j!uXW3Ut|J^j@3LgWgCY z$67f3C5lWPm9yiu7cbp~MwqN#zhfB@Sk(w%r^0QldSatZjFqMzx_XZMOXQ3vud|A_ z`iyn+OzVwE(HRmC2nEx0?|+AvA3}LWV|W{}cb1EwL&+krs0lSG z?j^_xRM?h0hMVX%%k{ZoMTlV9At8h8f!stx=!8Csc4uXs#$ZdP1Um?&4kDfS%F{mn zE$5`fH(@CujJ}gjezeDQgU{1yy~MnJ8f>sc*-y1z^cr0ctA6om1-}5CmY1 z8~^|vg+ZG9V80>?Cg|AZiXa|IR5ySF%|%2u5O7aWy=d6S+t{&5dcnwTD&iz95F!SW z)RC&Kq+yDqg>F)0={$a?j=%r=-8;(kSWl%g1q=mV#vgSiPXJMf@KOiaqD1XyDh|z!jjk- z=j_>&P?)C(HieJWD2~?|gA{tm5iE8*lD#d$Ph)D8po>vc<@#x?D1w$tHxgpaJtJwS zts-<_!qhi=1KB3ZUc#7^AWWPZ*lyvmF_e8169f-%imn_KsSNSksO_?Z$}<3#LH2Nf zD6yel;YT2#ZMzf?Dzr@xgI;Xwe(oKf-?7GoH*C9zc_7Ro|J8QJp1^iZ>L{Pfm`>gO}v*1>zvs z#GohwL73AxOU7=0C@^Lg2v`rl*k%y2Sj|TIyZXq-K1^!=DIKxFh2kEj%4^+AZewF6 z%#eVND)wh0iMC1h)UqTH5mK3!qRAAH5E7WQ(wvZCiT)E@9B44M!e|-<4);L($j^ru zvFIZ~ZZQDuSnO)7<+DZ`v-ge%Jkz+*Xf6bkNEd=M416qJMc}V4rCE=@|Fr<%`eWk# zaOz;dt+e0(DIgZEi2-4=S$9qJmMp_pn^bvIF)FUNf&$2j=`Qb4;5o)#tU?A zI+)ntjKJ+14caD#PV*-&vv8&wKm>rPgB+pJv0ZDy1bQ#80Kl_v)Gq;tK!ImaR*BW; zbZ#YaCyv@(2PqsFxa^}DrR&%z*j7m#VDg5?R$sj|gyDA&SHv*EH{};KI**W6i$x-? z!%c$s?76uF4!F5f9!qDjMgj(k7eNQLwl=Xve-gZ#3oS2Y z;Upc7yxijLGepl(DT&5^$){7b-lkz$e3SDmBi^{Tj>>4DsB!q_?ocQS`WMqjarGNY zP#Xgq@g8M%NDy5J7-xC45I=-O&WN^5K=?ji;F+PI7}z{0G4MbWh2Rfe#tJcNDR>?k zXQ(kwH=<*}C2(j}%9ZIBLUoXx5Ecl;)hrI+5Izkp5Elkg!B&Jx1f*JgZRlnU!z#ik z?y^{OFAx+qZsEmX0rl&|rm6@W8o{LaDk*(+!U;z_Zw&MULl7Yn3a}!aOfVp8phKL; zKxjRB94n#^2{B$CSz8e9g2@*ypD z7tc-GPE3+>IW|s2|M((Cx6nBHoQRd6h=-3YyV(tG64u4ZhF)hIbk;t`hlRH(^4_CGyuj6`qAH!KvL)nlyrxtDiBA@Y&fmIVnI?wTYno(oI?U- z3|kGN<1^VO38bggFlESi+@ykAjbVtQ09mggq=STTxL{)Qs9r_4IO*|;aUTdlMUX3m zxX2i^_o?*)MhGf26_ELa9|j6BEYsr=zO;hV@IOtbWJ(cbI#FtIp>fC#&h2P~qv*`0 z)QljG4QVZZxc%R1n=h5!uOO0Rb$I73f=>Z{cBF>Fp3+Dj9)=%WI4#nz;C=U!NR&HL z^9xn`_KDXP?WTCH{w=E>_g$!Efob@h!W#qD-;_t#%aGYt&_2;SmJ&ku*X*BOZ5lmx zl8DK4-wEVu2+pA0Qe(F)PGf8$Bc!*`Dn?7-nF!t8g`-piMpPf^(XN??0#DQ_j*wa) zHRIs2hAV}kRuzoOWxQfZX*w!AH_S3ZxC|BJm4N`7u=^ZsP<r)&n1q9h-|484JvK)=M!(|TH769~;sjt-UhBak#i!DAF|8}E?^>(nDVxYQ^p z{XT{ni=;O?(;tk2DUqM_@fWZb@DLUKH%DT*f_U!D(en8Qy?iIG-P5>`hY~r9y5$h$ zO5e=t^8Qnnq8Q1~$3}u|jm%j2D$p}IfX|&g$f&=PBiPLOnAbBonI+kyelVT8z;2F9d)UM&RM7L^gXMbaLZIBvl)M!OX2qlbF!Tdij>a2qm;||i~TqKUg zsATMAP~|iTKgFo|5tD*7Vvu-a<8~x+I?Rv$?f?Bqpy*+ z=Rv5Kp$w*I62!@ul1>eBh0gmj@=Du3%cF1NJ~=9x*YOJ|X+7|RcTYdg$JIBGK!_Od z>_Kp8zU8uGr3dmvxv`FM0kQb8vPPZCo?TpChW4~Fk@7iVys?be8)|+_A7kPRgeg+A zrQy(MwFNJRw8TLiFIAffiO2Eeedd5v41HP{8Ex^~iVcNRwz?ham_Ekw^e<5>8Lci! zKd3I)>9A-fqYoTz;Iu->gDRZ!Sei%MJVK^JETriA7w*j z*8R0*7$KC;dW%kJ*iMjyeDwT_M-UT_z+MT{q|%r7^huUgd#mJP7RaW+YPKMSuj=_# zBm5yeiq@Hqw9NxWWO!a>vw(Vb>fOJ56md5CMav8%=E-7r4dnMhx9! zx7b79&*$sqm)SHNdfEC z7>x>g4!z%xnp$Sm_vBIF%WL9UNF$uLW`Z9Xl`y6&Il?1sS&c_|Z?Iuy3WWI8-NIXq zi0Ca7G|rcBQtxSx4O}iEwmBgtjkc(DEf(QC;kSkY`Xix6TwWkzhS8g_`vOHpsiF zQ0?GJNKeJ5Q-}|w$pa@7fxIvrkX4<87bZCGw$zYs_j=(r0R7%kCD1mISMs*lML(z_ z38xo-^6QZ;I;bX*Q}R~NkwjlRJ9 zZoaH=XCfvD^u zB3}I8fIp{`KOWF5xPbR2TjhyiawoVmlBoB>aWzYyDk6&i1;Nh?6%D=L1&g@_#Gj2C zd$a?JnHAzEv48KyYbLm%Z!E8{kvQYn$8edsz&Rt-RK z7Z}hb=54aa0Rh}1pis&zdl?h2G(qs|w}rNV%6)N3L3=II+B&x_x-~jg+D_BDh;`l$YbE0+DZ(?#lLqKqV zH*c^$@`QB0DS|YI&IQ26KNH5Jw_YAmcB5-u6sw2b(8^1zR$};p!4I zUZY9MRluw6C6^WCHilCm>Tx;nlt|12?CI)!69i*8(7M3Sz4Z|&sH)dfWjRO+M&@CHVPW`4*h9Kk zQOgPfI*4}&0x#fprbFmrE&%J9B}@P|KOCssIDAEcc!mTznkuQVYzgqmMi*}fG%tg& zAoM-B)fi}f4LD5ShT^b8=#P03$*>w1P+(iP5IHYr_jDz*vLdALt(u4yW@(g`)$DFn2{6m-%ATcka6h za-m81I@mC4Pb?BN7~s2HCm`xGsa3Ke_W0YyO1_}dcy0B&su|a_{M%Ce}1CImMt}!uqP!Yc;n0ADL z4$?-6;m6b-5m*@&aQW)LFEBvNNDDV*BcTMgo+6Ly$?$)TPSq?|JOD-g&fgVBv2wTC2Q75FO3t%DFuXv-#|5C$yDeZ<|OViau<5IaIa z$UJ5?m{|*2(cUE9k7aId-HxJ|wnJk|(d^c-TA`MM)FOyObO>0&Vaef#A_E10?HH);$m5DJs$pM^s+%9RuOPjgGc|5@K_|38HaoI z!^t+kgh+$aLxWT3mpuqGWkz+7=J~%rl(cpsG)z~Vlx5w9N*Wwp{btfh(<>LWL za*xJ*|1T)8ZI}xSodtYg`Nx9+)`QFZ8>T|bL;*22_7meJN0}hd+DM7hffO!YjO|4D z=;i+{kYL_22=J*!(V+*CP(5d4SXD8y^IuP%sZb7HD63%c>L4lKN;P^U{#QA|1;j|iom#Ho4@N*vs2w}=S zGsOMWGhr?#2A$a@L15}2D?t7MywcEo)LLAvWllFxmnz#{%l~*lasGhd4HVtnAV$H| z_3E$C@34+@9Vj#Eyr79=ojem=g)>ZNP+R8RMSgjTv%@@XNEx}fdcD-?6@UKA=&d~r zUbyV0jj!yV{93<MmMS zI?xFy$ikYK@6c{GHkxT@%M7KKj!Fi+p@$ctngQj2fV7d(mIMnF1B3g>QxHYD-PlgP z_QUK#A6@v-$oA!Ubr8%SL$TmZsvM3=%v4lIP81Ul<#a?%a8j7cdyEpsTgSyi(4|QJ zz6i#8BbLfcO)h)f*-RJ7PZ$)zy14H$&}GMup3ZEiYTJhaoPq+gU)-fF_wm( zp!bj@&~Z_q#(^fV^U%f1!lI9+F@8)z!&f6}E(}x(%l5`3Q$-sSgaxc7Q`~NbtW(I{ z63fC7!%71L9`njA!5b=J_kO$`QQw6dCO0;~ZYy8|6GZcQ07@*+h|*rT2~f({zIvT} zXQ0Ap;Eq=hYCOJ5gX^&>(ATnwv|6hT$j%xcaVE@ga-;u{)*w<2nIjh&)q>;-VF6*i z20nbiZJoH|lX$MsL2%Msj1_AbWuWORYLR1d!;Ba?N($I%62RHsaUEhpXu8}HZsNv1 zfm$f-+;t8@~(l`ywa3C7reKKZZ)EeL;<^h_F*EU_Q~=-$zCA| z8d2Z4KkxNzfI$WyIodM3sIBFQ+?@4}1rI(R{ z#G(RjK>^1B0}o7G3d1tQmrQlE{ETNoBb=2OeR0q*#UG=%(iJG1OD^ILp^NMzDz|c( z$OsF+OJABbSA7jgmVcp+u8NgAgaKuFK&$bU9wanE@T!1>_$rGifS@^rO2>@4`$KHM zmzFKY$y?_U@J^162ti@6y$wFf(G3pE?}g?tjg;d;5rnmXpyISY@2K{$>Ed0?7C2%t z_dIfIj=_{D%Da^IF_ZP}8yM_mKqC~yCvfYQzf>XoCC0EsK2i2xs40Gchm9`)0EXfC zDP=4X>jol)9z0ryrsu{k5UMRLuOs|3szI}kgKt;ilydBkLf<9oNCGvUMTrq}Nl< z(%|c6b@@l_8cjIhVg6JvoGRsLe{%;S=)7YC%XuGm12FFP0Qru^5@i9Wexo?<$L^`2 z4@UW2#!F14Gh>0k^%%KqRrtgu+Q=OOV~)@X9@Fa7@;P;qI&L$0-lNjAuudzQJoqXSt%q8@^$cj>p(h%ERTO!LXje0jSI_1t`6H`J?M~iT!dq zZumk=z4fM8X5Vc3$<)6Y8!e|?F!{Q~s3 z=;ot)Xmc8U1v`L~J;G+}YG5(JU9pWQC-Q=&XgWB~bR|;lQPD%oTa4;C9i+Y*85cr> zj;Qj5C-VQ?qZdq62vlf2%CJ6KlT-%w9joMFB@GRTCv&lTZb)2vkI5&JZ($|TP(F-o zAQqv=P%M3nM-Mjy#~vI09+#Yh@zUc_{6e9}cDlomPVTla6+z&6$r_a=u?W4Z-Rk~gi7s56A{1X|AfZ}Ei!I>g zZ2sV-47(*ZdRp--;K94%C}|Rx)jwtgp!PCT!ndP9*)gnaW2R97>rc$sLnk!X1-**6 z;wVb+N}zbD9mI%{?}QLFc`SZ#z(I})n!#xE27zR+o0CQItrr}>(GI3s8g0S+Y#a(* zLT)>7k(`(B(S|Ju1g;Y!;L`&GX$i)mfRr)j0nCAxq!W`VAzgAVaGa0j7qMWe29L;$b@torbw^&IBH1{)OJ_6nH1c_ zS3%)R)9JQ-PxiV=~8^eJPcfMbFh)e@-kEHM@T9*zi_T6Q7S&b2eGO#TW*95*;( z;SPX@sLqFO-m8LEf!vJ9Wrp+?U+y!0BhWXP@dDOq6(xHyDoZ`BKOUa_h6OkOP<7k4xKrsX z2%tgv^7`OY4D=i6pfSui{UdLwVrV$i2Q6QB8Ne|JOP*w1w#*O3LswP_2M3)&-Cetm zYi`(umuiNIE_xvK>R|kHI>M^oDvd^FCk}AomHbq&{hL0uAp5?sPCoxA#}4kVKLl2|(P0d(X6s3~f0o;T&JMo<-5! zMrX(_+idJJE2)QVj$e|}P@cmK(i>8W`)?pY9J}Xvg97CUoX~NUgSz_yzQ~j?9Iavb zmIOev(p?mN@d$-G172+2Tb7>j*h~h|Cb{z<<|sG{T`G`dg&4qsc5uqt5FyZ1qm{tX zih$5)GB7k+{RGy6*j|N;uxt;?#|FMX$x%LNrh+^mCP01X_XP^Lna~}K6z_5S;)E+L zVGY?~h^eQN36_d49|fU++$0>xyU0C5qA;y95>@ti+v~oHF+ZFWI90o)Q>|5eLDY20S&-9_7in! z=@$!~85tuT&VM5@WC>256I{ZAA3^Rq6h0C`oDWq9UBCfJ0JgbDG(|(4Fde5vQ7-&} zCI#m*wu6#E);V*;Np}@>1w`;*xxt{hBn2fHJ~6{`GCm?P1W#aW9hsm;I0xaQ&Y%Yv znBWiKrJyLtnqiqt4ZUROUK)eQI#xwh(B(%!k+Ct$>OwNa0_0>)DICSvL3|NRMg-^r z?cB%vv0aIR&qGmnA_jjYfZDc}e--#AqZ*@c*WP#c1PrPyZa1r&Idinl(B8XMj9mS3 zLWV@AVuYDr*nJz6B|4uNm88gmx+y`d2L*<>9{!@ME;u6`N&)!IF;;Y|S(srR8Q`IL zv4(g6Jz7DRgq_RjodulIX6`+8DH}RU}L8eNP>0&Y&FWGreMTAQgs@Sks6Ga((M>MCE zd}1&e1N=8djCyGEn;OqkDaOq`L{%n_YDXTOaTu>OklOw`(As-C8WF-4qsoOjY%sht zK8ypZp%M;^6nON0R>tArb;hi&)-|HMquQ2=Z30pVB^+!G8=%wC1`BxuC+9%TfuY$- z{Czh*bv_YxMP-I10|!H_Vz@gqGSjTET2Vp5ohcz-C*tf{VILy|jZuXx9W34+? zLYs>bX5?YbuYxL*E!3(mhPCKlvQCWgp6|SYRtV!Ya)Ng5z~TP8kvb^NB&TL>uxe!U zlzm?aY-NeBYcps>Q?3YhEbnP$T@}bd#R4f*n>Os!5&2}nvG7ykF)0+XJMN8^&7t?f zGqWu$o<8_N$M4X%hC;A);#lza@nSREn2CtjK`jK+hw}mp8ys+PErPCqWI=?p)gj{t zfJgYPz{hlGla*YEVu-J#(IYQFl#C%`6UuLe+QGBX(WHP6RBB`AY`?_GAW%*ScT-)6 z>JLLNML@g`8xo%1_FvJOu%drfBr}OaK?W;87TRu){(D9?*4 zh+K`w+K%Vpeq|%m#E3FVOmY4C12g=KLAETTdf`Mig`l?b4KmR8-8(VV^kYy#1>-L@ z>(Is;&BbAJbqHqllT64THkdxYsLOmU^3u~o`>0z^uNWhNLB&{iWPtb#tEP`$dLO_V z!@NFd7Qu*G4;TUbs^EC(Wp$xy5o|dD^6%wHgW5r?6dZdf#X#&EdS}TMCcd&(pxC_v z9TG(d#(`;p>F#R*|E-I@i5#N@2X+ZaiAXz+jIt!bp@0XEWy?T|Wz>Rd9cVNl>)?aS z|9F#uhRNcXx#C%KqK zR>;%WZRgA9%3|-EXla}w>{lK6D!4}9ON_}`6OEL)- z^fLk6^N@jNfrH)3_o2N8xF?bLZV>FPii7MzJE+igqInOVqwP@vW<}7h9^M8xcOwKI zs|&b5P&c@ZSK<-Y&M4UIIUxTdQj%Qw_?ca!oZ>?w5F&Hl081wY0j}T0X&E_`mZarW z(96vsmF?D3nGP*#ik}ylNVp*+i8=22*WSu{MtSYmC$Vu?toRbjrza z;qo@Sx71{uxpT{7*z6pJJw`h+IeXEQ;m9)q9Ml6TBo;FA$WciR#G?>D;*`bsW(Izl zar`*50ohvTuE5xb8;*9HF|GDrRq#&e@I!7R5U7x46>fw(W%VIYoM3?EaSa9!X&@cX zCy6iK1O88-diA3VAhf;Yfm---1S9V$Zj=-(!U!-v$f&MeRXNO7p|3Caz6qmEUe)rf zf~K^*vVMYMQg)5M5w0zWuKLj7FVtkH>6Aib_Ta-r5PDBbq9SYaA6k1zzE#p;6`ATb zO%AN-27F`JpQA}jO?reAXgI_)H|iB92Lw2o37yxCp2ARjn-8XX;7xWCXd9BCbwh%L zT!xK0iPk44gh@cCay=*&Gaff`p!Xb#>Q~znB^@C zG22Vjef=_I5&!{^DF#g#&TNppOA71^%X=>)Sl8;4bM<(cn8KEA~-6cU67HK>Z2HohqUWA5GWX@T%YpIlBGvn~zcS++=Oh;2d z%MAzcP=!%3BeK})LzBgdU0-hNgcF%4+NBe90hMr)1GPU6gBnBeeytTFzJ8*&3=@`KsXx+~4 z@hJ{>6=jc;x-42yfe@kw;kks)NE1G4usXWPRIUyhno1zrEt;c_u26q8M@@?L?#50q zLVfCPlchxU+*`Zy>O@xC_=mdc<&ai?N3U4C(GsTTk0C_kDK}zah+=}Fv?kx5yxmbn z4A^68`)tq8SPU$Xi0$bXi%9kh5cg)_$rI+^^g}{JM@(qJ#0i#&pM#YIL{ z(YN%oOxVWU+G9g_R7Gf>M*Z#^Z>KkGLwvwW6s^e^y8F z8j-O1_5@O^jp# z^e1Hb17(#gw;fHNsgW>+LKk(Bc(F8!aVO7YYl5)4qH3iz-g9_)N-oocB6WyfyObdV zJplR&CV;^48kJyX6%NGrOL2+Ei;?N1M=_(IA+jMA;3vEQEZevNWqsH0{__e zf0RLFfG5QNclx= zZ3wrcF)v$!YMqh#w5Y6Z2n@b4Enx$bMc@PQ2hXwSK;w2t8W^ArOcTNZ@jF|bAPfOy z009a-u_>~^oF52&2xu5#1VvG9@(p{0x(KMfftZKFjfBi(lF(sp7#b3iArWRD7z^YC z5D$C$!?XVo+5uda1j~G81kX<{-)$~zpwQkoX2kp{qY**~^Ym|J>|fguIwUG*YtE;B5}xt!C8OR3-)pfHSkKM? z^!xs=4O1{Sc{I9qU#;A5j*ABEB!ZzXfSMq42rt7{q#k`iE3*6+hU`?r=k6d-i;h^K zc6+WBfyUDX3$!ZL!rYN5hLt_fJuZnL#eJ4n7;)A!Lfsky&5T$6_G*HL!env_LqVN?uRhgQF5?FS_>*OLJXaT8It2E8M2{NHUdfXMU9apQ z*cn?y%WyzocpdF#5OGatfU#kNSpHmK?!Y?+1b2KDJDeXFy_V$RsxgGf<*rmP5>B_3 za)yRBM@IHeImAz6H^Xq?K2~wS^7vStHiU=40IEH(Fptwl<~1?dUeJwc5Q(_^(WmLu zVB<7<6y-AVi36}@pTY~l`i9quOVbP!TSC#CE;`!<;UxgjVE8my5yS*~?%=@p>`xp> zJzvIS)*{1od{Y(AgVEItE=yx$X+o?g!U{EbHNxq^*=d`>91hC{+cGYmufk z2y^!cBiLtRTyo{;jE%O5elrCaJ>A8YG?+Bq2plViCzPS4#9eTK?SfQ%7L9Ai>ii}XB2G~ggZDM)Yk9c`-u`}@Wr`VFeXz-S3N@oE875$go>ZW+GgbPI2=ML_85^Ei1I z;Ct*+-ccdw3<7{f2m`34Nbi?yBYGFn8jyc)@KnGWQMAH#hK2;nc|@}A5WwZe*P_U& zhN!J!s1`eIf3!V;f~9)z%L6_(IRmog^B&)}^bP$9-9#agg6j5U8PsM2UcWJ}qNp7u ze&*B`FZN#+u>Ke$_cIX}ZW#Q0q5KFB`*8E=sKk$>y7D|Ae5^wUZ)97}Tci)}zL3pk zl=lz)RE9uy8jKaGRU~os3<^>(R))54!kY`|o>n`=CWM%LHn)!GBOr2;hCZTK5qMs2 z$Xrzw@_@v29{Cc3P*DiCmPbYSBNl{wAT~Dz2hh2F9Xy>0PK0n&4^hFLsO~{%!BYBC zT=rmdMjH8I&?5*Qv=Biv%L(^#>Tslj9@3 z5t4@1twnl)*YDQ3va8sEh_Q1fFeU0|c~GcpOyRHpo|wS4QH=0IQ>ZLJfyc5`4}6}m zWBF7Eww9^UN&VH-AjZHzd!-LqQwc-c9Wr2EMfuvQ924CeVO0|e1e;y1O69%% zQ_8_igb5FWa6TDQOfV~s{PfF8NQE)-{toNTzD6+~hBs;b;O}%R6O>BM(8!QB>v*9n z4qsO8#%iFKvj)HT9{;n!Be#kbo_61I%Jjy(cX5atmzppaS}4bWOkp#;AT`b0l70<=(G z7z_M+jht|yUV4BSCxQY{KvN;P3g_Bbuw=^5dcuQ_q}27V_XuWxj4cU*Or0ca*u}Qs z(A?Gr?)IS0y`eJEu8Ux^>@^G=6u(aC1s6%pGF}#K_J}G>JRlB@gQL8Pyne9Y%v_`X z4UmpKE;q1sJ08U%Yw*OMnQ*q;^T-t42jQ#GWm7?|8Oc*01h}dVY7Nd(P~`-%>!?CX zBc?17KxmL0bc#(57J9P|J-i?uSQ}?d6E$3lvYf0JA^GIBmN12MXaBwwOaKBky6AbW zU)Sr#fDu3XZ&#rUt;4)QFZ>Pg_0~UZyu$_TC)KN%XSnHH?=|dVHh7G*b1n*HjmKL}Fc1EEw zRZ$SV?C&>kam&==#+n$?XKvWwm&!9>m61*{A?79clr~#3xdj0|Nli z8G#tdx55Z9!Rm`ixwVbAd*LLj(IJl@-m>^1TMde9xmyLI98Vx=-zrR^HfF(}XDn9F zBxBG&k`Qtc8zvstFs#@cpuFt{_$73P>fV=Jt@c*?1#*s(3b@-wq!HgYH}11l#ojXGvd@IA&%8Ok==x}R;{Ufgh!!M~U7-x01WPEp#Oomth>rNK&B z8EP7{^U*O5;eg5wu%g4`6oEUnJ^;7RL~T8uW13fU|Hc9bu8)02Pcv_-L^=#ni*4|6TwCSxHj0Kqn)?)xCrOBdEp2|47UX#Nt1fsu zaY@sD;&lYbow-I972Bub=JSXN8DX4jgO%JKyZWi&W&S@y+@gY@kwsx`!1Q8> zyneJ2bwO?7Bf3&�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�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