From 49e798cd52d1c73410206b3ce8cc7d1bd3a5a812 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 14:06:19 +0800 Subject: [PATCH 01/19] Create hello_world_example.yml Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/hello_world_example.yml diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml new file mode 100644 index 00000000000..fac451a81d1 --- /dev/null +++ b/.github/workflows/hello_world_example.yml @@ -0,0 +1,27 @@ +name: hello_world_example + +on: + workflow_dispatch: + +jobs: + samples: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Create KFP cluster + uses: ./.github/actions/kfp-cluster + + - name: Forward API port + run: ./scripts/deploy/github/forward-port.sh "kubeflow" "ml-pipeline" 8888 8888 + + - name: Run Samples Tests + run: | + ./hello/hello_world.sh From ccc21350a2e20d925379c4f113098e6ee0f2f2d4 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 14:22:27 +0800 Subject: [PATCH 02/19] Add files via upload Signed-off-by: sefgsefg --- hello/hello_world.py | 29 ++++++++++++++++++++++++++ hello/hello_world.sh | 28 +++++++++++++++++++++++++ hello/sample.py | 49 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 hello/hello_world.py create mode 100644 hello/hello_world.sh create mode 100644 hello/sample.py diff --git a/hello/hello_world.py b/hello/hello_world.py new file mode 100644 index 00000000000..840b8c5904a --- /dev/null +++ b/hello/hello_world.py @@ -0,0 +1,29 @@ +import os + +from kfp import dsl +from kfp import compiler + +# In tests, we install a KFP package from the PR under test. Users should not +# normally need to specify `kfp_package_path` in their component definitions. +_KFP_PACKAGE_PATH = os.getenv('KFP_PACKAGE_PATH') + + +@dsl.component(kfp_package_path=_KFP_PACKAGE_PATH) +def hello_world(text: str) -> str: + print(text) + return text + + +@dsl.pipeline(name='hello-world', description='A simple intro pipeline') +def pipeline_hello_world(text: str = 'hi there'): + """Pipeline that passes small pipeline parameter string to consumer op.""" + + consume_task = hello_world( + text=text) # Passing pipeline parameter as argument to consumer op + + +if __name__ == "__main__": + # execute only if run as a script + compiler.Compiler().compile( + pipeline_func=pipeline_hello_world, + package_path='hello_world_pipeline.json') \ No newline at end of file diff --git a/hello/hello_world.sh b/hello/hello_world.sh new file mode 100644 index 00000000000..b277f1222cd --- /dev/null +++ b/hello/hello_world.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Copyright 2021 The Kubeflow Authors +# +# 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. + +set -ex + +pushd ./backend/src/v2/test + +python3 -m pip install --upgrade pip +python3 -m pip install -r ./requirements-sample-test.txt + +popd + +# The -u flag makes python output unbuffered, so that we can see real time log. +# Reference: https://stackoverflow.com/a/107717 +python3 -u ./hello/sample.py \ No newline at end of file diff --git a/hello/sample.py b/hello/sample.py new file mode 100644 index 00000000000..bff7e0651b1 --- /dev/null +++ b/hello/sample.py @@ -0,0 +1,49 @@ +import os +import unittest +from dataclasses import dataclass +from pprint import pprint +from typing import List + +import kfp +from kfp.dsl.graph_component import GraphComponent +import hello_world + +_MINUTE = 60 # seconds +_DEFAULT_TIMEOUT = 5 * _MINUTE + + +@dataclass +class TestCase: + pipeline_func: GraphComponent + timeout: int = _DEFAULT_TIMEOUT + + +class SampleTest(unittest.TestCase): + _kfp_host_and_port = os.getenv('KFP_API_HOST_AND_PORT', 'http://localhost:8888') + _kfp_ui_and_port = os.getenv('KFP_UI_HOST_AND_PORT', 'http://localhost:8080') + _client = kfp.Client(host=_kfp_host_and_port, ui_host=_kfp_ui_and_port) + + def test(self): + # 只測試 hello_world 範例 + test_case = TestCase(pipeline_func=hello_world.pipeline_hello_world) + + # 直接執行測試案例 + self.run_test_case(test_case.pipeline_func, test_case.timeout) + + def run_test_case(self, pipeline_func: GraphComponent, timeout: int): + # 執行指定的管道函數,並等待完成 + with self.subTest(pipeline=pipeline_func, msg=pipeline_func.name): + run_result = self._client.create_run_from_pipeline_func(pipeline_func=pipeline_func) + run_response = run_result.wait_for_run_completion(timeout) + + # 打印運行的詳細信息 + pprint(run_response.run_details) + print("Run details page URL:") + print(f"{self._kfp_ui_and_port}/#/runs/details/{run_response.run_id}") + + # 檢查運行狀態是否成功 + self.assertEqual(run_response.state, "SUCCEEDED") + + +if __name__ == '__main__': + unittest.main() From 29c8180beb53919e584a434e6cc0600fc7f76383 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 14:50:06 +0800 Subject: [PATCH 03/19] Update hello_world_example.yml Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml index fac451a81d1..0eb425329e4 100644 --- a/.github/workflows/hello_world_example.yml +++ b/.github/workflows/hello_world_example.yml @@ -22,6 +22,10 @@ jobs: - name: Forward API port run: ./scripts/deploy/github/forward-port.sh "kubeflow" "ml-pipeline" 8888 8888 + - name: Grant execute permissions to scripts + shell: bash + run: chmod +x ./hello/hello_world.sh + - name: Run Samples Tests run: | ./hello/hello_world.sh From ccdecfc4df4f7840a0fce623dda988318ea36569 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 15:16:55 +0800 Subject: [PATCH 04/19] Update hello_world_example.yml Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml index 0eb425329e4..e2b9aa3c28d 100644 --- a/.github/workflows/hello_world_example.yml +++ b/.github/workflows/hello_world_example.yml @@ -27,5 +27,4 @@ jobs: run: chmod +x ./hello/hello_world.sh - name: Run Samples Tests - run: | - ./hello/hello_world.sh + run: ./hello/hello_world.sh From c8294778357e53d363c5dd4737be2a6bbc33f6da Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 17:48:51 +0800 Subject: [PATCH 05/19] Update hello_world_example.yml Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml index e2b9aa3c28d..156c27febb6 100644 --- a/.github/workflows/hello_world_example.yml +++ b/.github/workflows/hello_world_example.yml @@ -27,4 +27,4 @@ jobs: run: chmod +x ./hello/hello_world.sh - name: Run Samples Tests - run: ./hello/hello_world.sh + run: dos2unix ./hello/hello_world.sh From c698194f4c4dbf0b8a90d8142343c623811ae2bb Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Sun, 25 Aug 2024 18:10:56 +0800 Subject: [PATCH 06/19] Update hello_world_example.yml Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml index 156c27febb6..0787f35236c 100644 --- a/.github/workflows/hello_world_example.yml +++ b/.github/workflows/hello_world_example.yml @@ -26,5 +26,8 @@ jobs: shell: bash run: chmod +x ./hello/hello_world.sh + - name: Install dos2unix + run: sudo apt-get update && sudo apt-get install dos2unix + - name: Run Samples Tests - run: dos2unix ./hello/hello_world.sh + run: dos2unix ./hello/hello_world.sh && ./hello/hello_world.sh From f2f7e1d8e1fe158cbcb941e628c13d1de7070c0a Mon Sep 17 00:00:00 2001 From: Rhm-B-WT Date: Tue, 10 Sep 2024 00:46:18 +0800 Subject: [PATCH 07/19] add RAG- kubeflow example Signed-off-by: Rhm-B-WT Signed-off-by: sefgsefg --- .github/workflows/hello_world_example.yml | 33 ----- hello/hello_world.py | 29 ----- hello/hello_world.sh | 28 ---- hello/sample.py | 49 ------- samples/contrib/RAG_kubeflow/Code_para.png | Bin 0 -> 26890 bytes .../RAG_kubeflow/Pinecone_create_APIkey.png | Bin 0 -> 30586 bytes .../RAG_kubeflow/Pinecone_create_index.png | Bin 0 -> 34277 bytes samples/contrib/RAG_kubeflow/README.md | 43 ++++++ .../RAG_kubeflow/example/RAG_kuebflow.py | 123 ++++++++++++++++++ .../RAG_kubeflow/huggingface_token.png | Bin 0 -> 116580 bytes 10 files changed, 166 insertions(+), 139 deletions(-) delete mode 100644 .github/workflows/hello_world_example.yml delete mode 100644 hello/hello_world.py delete mode 100644 hello/hello_world.sh delete mode 100644 hello/sample.py create mode 100644 samples/contrib/RAG_kubeflow/Code_para.png create mode 100644 samples/contrib/RAG_kubeflow/Pinecone_create_APIkey.png create mode 100644 samples/contrib/RAG_kubeflow/Pinecone_create_index.png create mode 100644 samples/contrib/RAG_kubeflow/README.md create mode 100644 samples/contrib/RAG_kubeflow/example/RAG_kuebflow.py create mode 100644 samples/contrib/RAG_kubeflow/huggingface_token.png diff --git a/.github/workflows/hello_world_example.yml b/.github/workflows/hello_world_example.yml deleted file mode 100644 index 0787f35236c..00000000000 --- a/.github/workflows/hello_world_example.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: hello_world_example - -on: - workflow_dispatch: - -jobs: - samples: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Create KFP cluster - uses: ./.github/actions/kfp-cluster - - - name: Forward API port - run: ./scripts/deploy/github/forward-port.sh "kubeflow" "ml-pipeline" 8888 8888 - - - name: Grant execute permissions to scripts - shell: bash - run: chmod +x ./hello/hello_world.sh - - - name: Install dos2unix - run: sudo apt-get update && sudo apt-get install dos2unix - - - name: Run Samples Tests - run: dos2unix ./hello/hello_world.sh && ./hello/hello_world.sh diff --git a/hello/hello_world.py b/hello/hello_world.py deleted file mode 100644 index 840b8c5904a..00000000000 --- a/hello/hello_world.py +++ /dev/null @@ -1,29 +0,0 @@ -import os - -from kfp import dsl -from kfp import compiler - -# In tests, we install a KFP package from the PR under test. Users should not -# normally need to specify `kfp_package_path` in their component definitions. -_KFP_PACKAGE_PATH = os.getenv('KFP_PACKAGE_PATH') - - -@dsl.component(kfp_package_path=_KFP_PACKAGE_PATH) -def hello_world(text: str) -> str: - print(text) - return text - - -@dsl.pipeline(name='hello-world', description='A simple intro pipeline') -def pipeline_hello_world(text: str = 'hi there'): - """Pipeline that passes small pipeline parameter string to consumer op.""" - - consume_task = hello_world( - text=text) # Passing pipeline parameter as argument to consumer op - - -if __name__ == "__main__": - # execute only if run as a script - compiler.Compiler().compile( - pipeline_func=pipeline_hello_world, - package_path='hello_world_pipeline.json') \ No newline at end of file diff --git a/hello/hello_world.sh b/hello/hello_world.sh deleted file mode 100644 index b277f1222cd..00000000000 --- a/hello/hello_world.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# -# Copyright 2021 The Kubeflow Authors -# -# 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. - -set -ex - -pushd ./backend/src/v2/test - -python3 -m pip install --upgrade pip -python3 -m pip install -r ./requirements-sample-test.txt - -popd - -# The -u flag makes python output unbuffered, so that we can see real time log. -# Reference: https://stackoverflow.com/a/107717 -python3 -u ./hello/sample.py \ No newline at end of file diff --git a/hello/sample.py b/hello/sample.py deleted file mode 100644 index bff7e0651b1..00000000000 --- a/hello/sample.py +++ /dev/null @@ -1,49 +0,0 @@ -import os -import unittest -from dataclasses import dataclass -from pprint import pprint -from typing import List - -import kfp -from kfp.dsl.graph_component import GraphComponent -import hello_world - -_MINUTE = 60 # seconds -_DEFAULT_TIMEOUT = 5 * _MINUTE - - -@dataclass -class TestCase: - pipeline_func: GraphComponent - timeout: int = _DEFAULT_TIMEOUT - - -class SampleTest(unittest.TestCase): - _kfp_host_and_port = os.getenv('KFP_API_HOST_AND_PORT', 'http://localhost:8888') - _kfp_ui_and_port = os.getenv('KFP_UI_HOST_AND_PORT', 'http://localhost:8080') - _client = kfp.Client(host=_kfp_host_and_port, ui_host=_kfp_ui_and_port) - - def test(self): - # 只測試 hello_world 範例 - test_case = TestCase(pipeline_func=hello_world.pipeline_hello_world) - - # 直接執行測試案例 - self.run_test_case(test_case.pipeline_func, test_case.timeout) - - def run_test_case(self, pipeline_func: GraphComponent, timeout: int): - # 執行指定的管道函數,並等待完成 - with self.subTest(pipeline=pipeline_func, msg=pipeline_func.name): - run_result = self._client.create_run_from_pipeline_func(pipeline_func=pipeline_func) - run_response = run_result.wait_for_run_completion(timeout) - - # 打印運行的詳細信息 - pprint(run_response.run_details) - print("Run details page URL:") - print(f"{self._kfp_ui_and_port}/#/runs/details/{run_response.run_id}") - - # 檢查運行狀態是否成功 - self.assertEqual(run_response.state, "SUCCEEDED") - - -if __name__ == '__main__': - unittest.main() diff --git a/samples/contrib/RAG_kubeflow/Code_para.png b/samples/contrib/RAG_kubeflow/Code_para.png new file mode 100644 index 0000000000000000000000000000000000000000..47e43e04fd265409337bb63c55b2729c20801745 GIT binary patch literal 26890 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 Y5Ekhc^6GLLM<2JAl~R%{lQ0VUA9gHq)$ literal 0 HcmV?d00001 diff --git a/samples/contrib/RAG_kubeflow/Pinecone_create_APIkey.png b/samples/contrib/RAG_kubeflow/Pinecone_create_APIkey.png new file mode 100644 index 0000000000000000000000000000000000000000..19aa70acab7ce07d62e503ec6d72502454990b2f GIT binary patch literal 30586 zcmdSB2UJsAw?B%Z=UVGG=labRuC1xUK*vT$ zLqo%$`sA?=4Gpax4b7?Mzy6>;;owIaQ~#av&{26rQ`X0^LjCcl?L&=+G&JSW^hXwF zsK3v-J~8s3p}FLF@^=bj!|h8$_@SP!Ic}QXRL=|3zTMpWtjB)aK#qRmkA!fz z=`BUGhw8U|n1uc|X_ag??iO7&P-gi;?}#flYpC)QR2m)-{buu~=xwz0bWQvVgASYK zT|LWfUp3cP78#V!9@oy!2VKtZuiuqE>ZhbhE%mr|d=?81YHxLbsnKwBRFuM`b1R1K zzI<(%8OM<;zaxda{`(Eqxl(R{zf^7}UJ;*8ku z+xyp>fWL2DAH739AiaF~(oW>plPngVqcf8aHG(>WPyKu{Kw={Q0a{2V#!`OOm6dez z#{7C!($Vj-5v(&}19gk;<~zTO#T$znl;}JD@ioTU$kFSGb)I#{MFjkJm1#U5|1UO` zS}39Cb8(lNhnH96XfffBz^I6b`I#B{7q7~KDM7}DDxLqS#8`~V3d_p4?z=uf25pFn ziW&n3#-2k^#lAeC9jRhS~ z!T5h%Y2h<7Gt2ocW*VeH*?Ce(98=Q0YSBM`Rb>i;{uU99z@z_}3V(n1eVornW{n=pg&(4ShpZ$X=YaQ4c*G-AF5({`~nXyIpGCpRW7EXn%f- zzqGTd>>!dQHb7Y_M6Ld*O#ZTeSY(QU^Qia0tbf-ELgmLG6%x89z#rSyo=&=Ria~d6 z+a6!ov;4$UmyvSxp`@>WtN@Y3%JZvn52yy9gdOtW30CM7xiqY`;GVPcJiG`^Ym?Ib z;qF+TtSsP`w8P$;Tx)iQ)`dy7`*+-)6?H=G_FJsa{;KkRx@6>0;2zP7TB~hzqaKfx z0+1U-6gH%dzT_w)d+#~fb98!NSVk{j1ht*n=yXgEm}E3gE58TP4nW9?ZYu}FN`~vK zGVO%GJ3?h?@7Eqx?q3`2F2&6Svl4%e9X5-3vBN}BRw6oTYkx585}T3>h&7hg&CG6| zkUjaRo}fyp%a}>OXL5Bt^DCeD9X(rgU-G<+kbVFHq^_zH zc46e*#<;*_%N=4m>*bZDH6DLdsfME=S^c-7+3c^7y;UpDdS-9bJeKil21tB#bpBAI z8LpwwE2IN(hJH!6SKARfBc|Cqu{AY&VDENLJ<%D1xE}OwS=hXqFX9%Brv29>^Yj)z zUeVhyTXMsFiCz7r-zqX5E!r~N+9lLV^Jdkmq6-!0FFQDJT$JtF)6ZiBesyRLg|SQa z&<&}^+Rr%wz2297bxVZa78ngOk@hIE7=4rc^B@{y{u1i_2wMtLeOcuoN4{@rVHQJ$Tv>jFfz9&QJy=AYJ8TPr()Ipt0#&JEjqn`TCV5QE~ zPMk|}4E(L70V{u(1EI+Gz&P@wfPveC@#?!3<{Bx%9*=)4m)~J5ScJ)|jR^z|vz)0t zbEYUlag-Faa>N5=FSvIh)9xO}m@PS_S3RHBca0Dv-}ODk>Q26k=v5#Ow^5~U({1ai z@>F?WvPXE#mxQE4^Nfnf>GxoilUka5m&)b>c2@J(ghi8Of}h1OTMgU!>(mNgDFN5)|Dl)P8 zq=-g$#i609HW-*ama#yz)^DBpy2Ue(#Xhr7RjZ>_O(`}X+UgvECfjlTw9>k5;vP$V zC7FrV6DZX9qPH_dkN5W+@ydDBq#0OgY9QKe=`Ore!hSUXO|QO$rrWY%7Ua8@q8pR2 zlayO^boaQhqqW~qkTnN!ig+#wLqeHU%uneDe$+n}%4MM57|B^i07H|3<>t zOMzbizB86~9&iO%gGKC~KKH9>3G z3T?Zp!Bs*QLaXkXOoYPiEi*G_;%sh#dyT7wbM(}6d)sxEwCEaUb+BKV8C(uRHE)V3 z5Oiyu`h#1KCYHv++sY~N7xoZleVKbt!y zw3g|$;lbgdIn%W}j`pECxbH%;eyV9Wvdf#Rm(^)?Zj@~?1hf@a1uF>pzdO*WS{Jjp zLm!*i6G2x`K9y633t>%}EI5vDR0F@59sjDJq;xFkv>wl^Sj%g66^W06PfJ_?Z7nOF zdyBw3kcG-_NDv9sX$)*$TKC&tUm4UshZsO68bC4?@|~deuSP0NVGcWiRsp}dz_m|X9o967^ z$?H3(F8#M^HAql(b-6OMx3V8v$>L|{vO{WSTwpQ%;Tv8R?Zke^Tw6O!6mIt7MOLz* zfpO@0i+6W_+7lw;s6NKHTbYuXV@$uySvPkHq;aN$af&n^?6U!72Jx7?)VLi;n2|m9xYM^f~_n_pE z5clSd8ATQ?;;$^!>?#u+o)H=I8<0H^$_T7mB%c}O4t%l`vB$*nvBs&Tl}GeCq=fcg zkVix{xY`?s6rTKJ;QH*PODwVQ0o{L~(W}IU^3U@uW?4&Oy#L_fEIy*2oZO4cnnnN1 z!x5rV(lU`g{69eSr;<^J(Ue!Z7n7j8~v#c=v!s zQ_-|%HkRx5gMxn+JSzO-;^JCZP)O|^ef;g;U}fD2ko`UOw;UI!Xsti3sJQf=q2bs? z%9l-dw-{O3DcbV`Uh>3*{~oxp9|uP{KqPBg(50|feZ>5#35DmIJ$#cKd`F`xG)})o z;wn$I00#g2M_!|ie?0K$sW9zRaQ|fkf#-RGU$1|W(WmD=q$V!f;l74p&94;0Qit<#>e%O1FT#!kLY4TTDGH(8C$&ES&fd% z#kK9z4w`fh(joK+Mk@*07ufgxoikNHe{KSNuSA8N#d(~c+Wgr(x%icJ8dd}zza>g^@TO$M4 zoY;`$CrdBl7x8XI6Q_>7ty7LxFeP?FP-f;Dc?bg4f<8Q;&pJhIhDdeU!N46nXnl#t zWlEe-)|(f(gB`-rw}qPKX-2@491wB~Q(Ooyl?tClM-2`8#SCRRoM8~}?#i-BhGa%M z#XD~uXIg5qV|V(j``RSgg}=_szwxE~v((g* zr`9(1&)<`}O3BgDqmrxsmt_qav(fnYRQR~t2H>MUkT$8aGF7v=JIbM7sCwMN+oRSq zr9FR4?om|&j#}E;X)|OJuLlmf_!%gM@=s@{dY`n+6Y6VL^7aGFO!Sn-mFd9R%%G~x z=`o$Fnhb2kkeDD0GQi#@kl}RIEWM&ZHmXV}Fc?UlI9-@}ceP*85olDRDa4(ru;0)0 zdT;X`FQ+=fc7-&3mBNLU6%&;zFg4kU0K$YZCck{;G>`IQt`F`pyldYJ`VP$e_z$DI zu6RO-gq+xW0|c>fuI4J7e~|@aEl@%`_Jbobfj96y8d&A5g3>ay?-%lal!xsd4Y5(( z2k(zLdL@#A&95A{)tpL_u!+KA}!e8|&qX%tdHIx3(De6x#34k+mVb?uy&%ouC`>IKfhE}VmH&nP~Q58sEh|x>oy;paf0xv4$s+wGYJYhf#cI21$LmK zugl3ISMPBH7S|=_1AI$^@GC`D%7ZyiRZ`fvoD$V{JTS&cJTcGGn38xM`PjMcsf&{R zbkO;>Ik-lTwaT8edA6*pM^FePXIdqx2g`k@5xVh`xVRsw(&$pA{PljKH$F|w30#q^ zP7jAx%iSi`fa2g^=h^SB(LFPjm02h%tixA(?rP?soW#v0j54OM(a-|UXKArscZ zd8sVZl}Zgp+Gf(=g&ls;bM=x9#fw8zbz>gT?3K;PImbo-vT9r2$uP=0K2J!e(t|Ea z!s8^|MDq>$nxx;w+2nu)mn)l}p4%8J^x zIiq7k%#8Q;gSD|*7%P+i06y1J8f zm_|)Up!@rSLc@9=5Dw0muyt5$uVJ|9#hVJTlz;I;=7Y`o)FPAW4t+5rkEGNkkSPGND11)`4*O_oKb;RKFLW!~!GdXR1kzr@sFvkb66IN`2b00gCdMCa} z&H)0wf+@^C)8+hzGP{fBnf&vjnE`8T632u_A<(9!eJjDuu@NQ$ZY`Tix-?_&2$(-; zh+o1yE!5-9?E=gP z17%fzl71{mpXnB8w}&R&<6HPq{G4>=I*XI0rf~+b)u=jmmyH?rV^eiI=UVJ}sv%@q z?`+0rjcA@=y%Gk|?TxP20ukiJ>-h_m(yMW((K~?Eov|7QQs>T(o4W>(64ebyg-xGk z*Ulp&LK;$!`$%(z4PHnIW2{}(e9rapo{PS}X`4a`+B2*q-XsvmUD6%@y@?BO9^NRg zQu68cdN!F`)P0nB>}k4o-iXA<(FNqXzu|fNSp>B#w^aW#bUr zd|=lJS`esXmDibB71zzIAdu=^{OhsvGbo=W1JUu7odNLa4SFU=p#pj92(1D_H};48 zdi+9pcP~_^n-i~LU+JU$6PhTK|0o;-0yA&hGiV(}q(2hFteJ+FG|-sbv8o%=>#kBd_0Vj1DuQu{CWuxoKx z?>ie)ru(H0IZbbQ1#eEt?^OpR&AbT1K3G00k-+8?J~X04zupNoRPS`DH`m`R8s@3W z*K-~4-2;$1!ld^4-V4U;%~#{G5zgW2&Nqn6@%5PAjNOJ9rf(-h+rOa3WNNf(OgY{{B9?sFRbW@>#57`8P`_t1J7CnT#kUOyJEhyldwyQQtXiYhj zoe-2XHr6IWLKO$B57i%(blcj4!fZX#{UAHiR~AQZ4sO{>&_;jIswLNzK3=3;^cKqlMAo@IJ)J|pV0XMm1d7|~xPO(< zIOB17BblAWAd>^gah1nEUhw&mf{``Zb)})eV|A!Ld#p_WqPOt^z8ZeuxVB-w=g~JD zjKz3L&=h&1cf8<(<5aNdFtYqC$Sc}@Zty1>F%Et#1eCEGiI>Unb;C`v#4Vz*tsCQs zN)eI(!=9ODeIZOmI!Rl>4gU!o!#Tj*--S##xzO>lZJrW{a^Q^GKoRT?w%ysoV&9VJ{A*|&h-qCSbYOb z82-HXumdh6fa|S-Q9*^7&&pB2OS7F-Z${LK)B7spA~?b%=M%s)ZHGy-hn)~1G8$Gj z8g0P0=aqD}Faq+G{MFDgy!|6FeP^LK?Ci}15UeQEeN!Ucvk^qE>Yg58h=jQiut{PD zeu<4gP_x{oaO*IJV@%-D6V>7(In!l_Zf~;-S8rZ->hLliH*U8M_~JawZn?UD5V$cX z7Mq(XEH-UID1*Zprt&H{B5;y!T$F&O>+}c|!SW8WMGiuKN1Hoc?39IyzX`_d6%IOA z3ng$*k$n?zZT_D@^u>n&3D8RFiI z1h=0SP!gmxjW<|#lrxJtSI@Dcee5;1Gp_$|hm5M~t7X*JZpcX7T;KLmol7O{BThqC zzixHzl_MvlB14V2`^9es%j90W!op?4J$4j67{uN5O=%5esHv^}!uN5&P(DO;@>#A` zs<@2t1J;vqTsOQ25OD~hCB2l*4XC@it9)#!P7Q3q#*F#pof*726^zzgf83RR%6eO- zuJI-4^2<2Fnk7lkB-tc2)x=Q;RU>D$j1-(W4lOTZd19HcFb#r<9KlM>c4eHL+~1({ zW+Up?fRcq1WzM*#CfY=BH7OVx022x*SR@cu^^Sjt*uGKzoY`-$!fLW>J9@4?)8w=?=$1Q5G4@B%X*M09;y=@Vl_jlv|Ft?LFj;Vdigm! zO5=+!q{_nNkEc`T4tmu0ZAayD9>!Q$>?PIV(Uw$5*eq7cNMz=*)FmUPcAVGXE*y*0Wpf$r)zbR>**ryV^Wo6fxd8K>lFHCmH-z$M}N-la2|A}6n%uyS6 z$ZRz5o|VQ(9>JqVtEyMaRYr^a9W_DX!MCS4)-Yb9wX+W>#s2;U`V9u+iL1`~r?;V{ zUA8*98jt2K%Zm#rsn1Yg!&h0uYO$_4=+;;~AtUAR`*7f&RG%Sq3ZK27yMeA=nMr-y z(BF4ii>uqHdO5VnP2FRXs9?gLo@Bnsenm2WTS0ZF+)8BRaP(-+~kL#9fa^uQGn2pLiUqGRoNe0rwJRqW4#WB40=s6j)-YX_*b{H_* zkov{;DP7|#bkF3Agv@w?YR%Cwe(`|)-)XeCFdtRdQ%`%_L zx+Yd+s`3?kX%nm#!lutEMy$B3ka6rN2sBmFHrTW0dNwE9-h5rig>rYpYxg|urU4DI zOGN^yjRc?yP~U8Pe!LDLGqqVJD^ODQA;f12uiZYjy4o?(h5ch9Ae}e@nQQx)ey`c! z18+eVA!X!52S0k?sh16eUau_IdlK7e*TGOqnbuhjnE{syT$!Dg!i)MOV_iC6sUPK? z&RGEN@^qIiNp4qbx)C7TMyfXtm@Gc;ET>I^>=1jc#!`a%Wzn15E_kg7FVNQZn$Q|0 zycP*wr9H-)7GKe}qpoGW@1K2f*eys5w&zT#(97#7o1gQJL)=$1EdC6DE;>pG8GfLk z8fugpJVgOVm6S4uu3=N6IVJdUt-17MUXMZGc>W^pt%2&2|B6y9{_{d>e-%dl9TkJ@ zPI)$${S~S4#JJWA==?p~CkZ>F%{V)rnCnHv2`lR*R{B3QT~037bs?_FX+eyU7Snra zO*|^(cKJ6j^z-$wgIat9k4no!b`4tZT6H0+hgO zZM)$hcPx+268e(yq}!OZ6q;~Rx>qb{w9KsAcA|3SZRf7Rq9aI!Gf>}au9*k+a6!Q~ zu#m4~kulOsEYT|PJbQIkNJ(51hht295?6V`jn6CvBe_xFmmWbXYB47|c_rQvxY{#9 zl&BSGX%|USS2R^2)hs)d0yj$=`Gy)`D;7ve>}XGY(dx8iNnbmtjdLUTGtRq6Q?~e) zMFs@lf++?knar~#4Fc*Y3m5iH+UwT?)xtH_0u2ZN>(ln*c4OOPwYN@tnP4nVZvY~z zr)5D)MkS3Un4F`SqV9u2Zw#p{Qoi^wH6;N%xVc?Enbiv`4^! z0{eEv#85!BL-py@R z)C0>+BnPaeiA+*9X?v&Rt6R)V_YW4S9vcja=FY6zhfPG@=o}h(w_M=Cb{3&{tjxII zC@U=d^%iNHFlj~g&aA~St2J8fX*=?vf*SD>KouZGWE?4ZMcZ+isEkkhE#vRI*-Z7CkIEP>&~Yu4xD=l)Z?;!I z@hwM;1x?#=c@Hng4N)Y}XpLA#eyn@_ai2?2rMbGJ=Tdc4V=>*_@b~Jx$+D1$CFEz= z&5qu*n&x7OK7KTY8DE2dkKvrz9Odt-+(hDC8#qm4u z6*Hgm0ICJ=;}ZGXKURo$?Xgd$9MRE=S2PZ#*zR7a2X`u}a}>xpUtn~QCgO4n1(Jk1 zp;_F>t#DrjlLA*K^)5QA9BJ-!Uwy@bQNC%c4ci6vSib(}`-Ts4Eb}E}j_9N}2M%&! z^&f$pebcFp_6u{nR{W&V=(D2zeyc=W;I_}#6WIlYsA(9?U5}tf9?kMzIwLz9jXMXfte=V>^-bL zW(9|}PTv7!hYQ+#k-OB}KM4eM?U_nrvnwj(J>7<;4lV0bxy_tiKL*PXicv|jqP;zx zN%B2?1FMpMDrs=#!Bg^v!9XT9Cgjb91T&KND5G4GH@DP~HJ{8$@3PqQ5Js25aYj^% z1YS*C^8C%?Mv8cx88sS;Vj-;pBB*m5r;CCD7N};#;ix4|?`^|5n1TqkU5>R~LaR^`8_REQPahf<=t7H4w0+~R z1|%(B0|eU*D2LE0hXV8A>o4aV)e`3CNwc;sP-i_G<0W?1I|h#Gu@h4X!J$9-MF$cd zh;L54y^!8%lilY(Bcc8z4(dLN*VLl|%EV0nkxO*i?$O@Sr3vp6(Mr>xp5zqSCDc3z zDINAlfr@Fi1TzM+N2{)KK2$88qc5Y)k91hVFw=}+Sf%X8@qzfa5GIQf(Vep{cCOiKb2}8#H4_h6B z#=5tr%qhtj9@oK&!#^4nY$?Yvz3s3N&Bo$~7G5hZGam}bdB@5#lZ73Jn>os23Hjma zP7{Qgm}nHl9Gv^THLfx!;+Xr#0|f=GU%S;0mPW{q0r8R2A)(X~KHA~SX8WQ4v> z&OY(D|0pkxyG*^o+My#^NEESNF=!Z>?vEZ$RVYP{CSs?QD%s~foloWD+iB#{IO3PP zMe99#-cA_nv0P!(1(Y5SqJ1pS@QVvlXZzoUE z{f(E;SriGjY(QOw;yx4rk{p^{WcG{CYDU6nu_^Bhix|{Smprn%6b}}>71U?MCFkYv z=!^R{uUL)OP_Eye$q>VbgI#>(o1gfOCTNt}}?(xPSdNRq~y>nKD!atv|ha=O^mtwx875ky(F?QvDY|5*34wsLWIlgq85m-a}!); zX6`?qvo7MYz#&+^H1YP2O(UdmWB6A2bYn+XRrCzv{;dYlTBo7HuTR48KERxcvxqmT z`|AR6O{*28%zXiYN%dgQReet8I}i(Dc|O^O&KpC9Q;5~p=On=XOVz#$3$qhx=|ZAh z3GVUnte~<73?~Eg8}zN?AlKV$=et~jmB)cTR*Q4W@Fc>>Y;^6?4v(C%8?N!=`R*~MO_#5C7 zkskF3e;0MCrxlgJ-Pn5%-_*s}^nOB>zG)p>%b2P8JjP@{ctW$GIOsAD=i6;+*s8a+ zy4m@OpAU92ME7l9op$J<#zxmB=ZQdQ`dSvkvB#p*GT&5Khpgq@YQ|+94s}b+ljR?o zmE2NKRq$3#ywbo6ZcjHJ)tviKc;)TT?O>pu>D=WXAkqM5MslroJrRsiXtG2l6@2|`V@@k`!-ym;?6?Hu6}R4wvLqO{fc+6LagOQSVu~RNr^CrlN8ghPQ}+MsA_NFhZgmZeVs$ zf0mDGzM%5eYp_5jxn^>f{7*1h}^iG?B_f1-a;fG z;>737Vj}wRz!D?L3Mw!IcGKD3`-+~CE^4XA9O%#LRZ?mPU|~VqT@XBX#Hs5^eW&f(H_|}+i~s?<9LyL0W<^$Ed5i7~&1pZF8u?)n$FG!fSKjVZyJT}3 zOx!Fgok>dAcj#Vb>AG2D@qUJMzTQR2^-kkz-_I7t?z5g@cVdCodE9@!k2ueDRZ?)r zx2;hN=KNhCz~8sExHfK4)K5ZWGkH&7I!cqH3`ztWKrCn;Y`*9Oa-qv+{b zGUwh3XzX`(jeD7zc~kq(q_V3LRs)QBk?Y2Vfc z?D%uXd4Qd;Rv_`JkIF$G~D)KZ-j9h47c!KwDgY33?iVrJ%)*eCED?%?rqkn_b7 z?0b0$Ymp^ZEs9?<`lNX{)%tItP!k^;t-Ngf^OGy~K~dsjsrC0toTHVDHWyT}1!7E$ zA2U*obCbk}DsNSJ(WPrGgTft$-0A2%GE%hb*2}K6!*t`~1B-|00q&Imn&rqS&OU`a z3BJy58DaT_X^0>bi^I>UWI*Q38GziYOLj>a$WLtCT9UbWoEI)I!a@oX8_evL$YUA| zjIhraS-E&O@7^Cd?fl5d-zJ4zyw!1T)v8G#gfwr>%9e}tc9#EcNb1fLsIsWb+)$HQ z=jJNn6!A3nbtRSs(vIYGwlN3_ZjRvEhHVemmtXA+U5>n^Mh(9MkOw1EP&$R}0!@id*pGlSvMN$+WGv7s3=6}Ak|G#| zP4@iD`;%$BlASS)=XJGBXLTn}Urv&huuVyWtMsN2njLmfa&Z-_x^cqsi;%;m$uHe+ z{@@^Mjtd`x>R}p?^IB(V(qyC&N#@XkjuX5 z_z_<#$m+hu^I0bL(Wu4qwtXFqhq}$9e~&A3OYvx`fqiT%PdjVKh*vb^Yo`3zijlW- zm`eUqwZFP~rGQhE_qL^5;=SV#!u}Z{#8s<9NnO{MHAoOUd*FQ4eS1><3Ot91Ew@p0 z8qKfy`oO}nCtp_=crZ5mB8P(kBY=wL;4)t>#rJ?aez9RXj3m{i5g6Synz}S$q5Vt3H*adQpha)r*6tA!5>X7@ z@>xGo4-H=QC&~CHS4AYtXE{o}sz8O!CovTl9ikfa4=qtCP~=~<@v2k*6_@>Ifz(*Y ze@}$|Hhi#9YU{V`G++HgW%?gB^ZyK&|G#O;e@p246mi0DqH%g@ zbanU5n?JnDaetgX-P-Ug2LZR@(X;4qXLMv_OW_yw=~bVHTg=q-w3jsF9eXo5Y76bw z4cW;CdTB*v@H8LHD=PQhtcCLVSF;AB3`$_d#fwS6TXM2fvT`Ixgj`4kBh3{XDxn`{ zz4havbUJP4FY?oaBv&`L!4=uFj9hwVpgXB0FiZxO6#w8ldD8>qclv$cFT1Eqi-_p< zTVnY8=!~oL$jAtOZRsESRhBwoZOL3$H%A12h3cQsmFN>W<9{b1yb@iQogLZ*0I8`A zzeV;x&6@bXE9w6-9pnGuf|nsdQVzaC$8(z{FeMt?3Ck!V?RII+T3LN;H5X(+dOgbd zve3rlVF>)MEI|PVvG?5ZD#H;lYuZs_D$55iC`T+T%4R$WWpGW?E`r+FZ&F_nZxL(T z_*i2|38aUa8L6jtpBJH0iE`=1)RH05CVqhPS%TD2Qa3_j)4__!3X#tY6lZ@Q`%`tO zGn!t#>Vk~N%uK+xu0)X2d-Jsu#rlhHU)V!}GU>IhT?jxmGSv$(9y`v=hD0geP}Xb| z;kTSjQ#iBjd~KPAs#&x3mwktvwJpd8^(!jT&xWv5&5>tS^th$cC=v6-usb>LxX2v=?l%!RbY)5ZgLEO zJKQqyTh7Y~U7K&J1_pZV!m0RBnA|rP`znIAb^^{)taWu`vdX$U73u<}H0NNGNymHD zNY43e$mzo?(*u*66+02#{oG#D9p8;JYg!braSlhQxfJ`#H)1+vq*ZSEN=cWA3LF9A zg6lu7%eDN$mt^{*i2Q)6$ zM=Rh|c~a1PyiAUmwDZBb_;f2164_y9Qc!$Ts%9=y1C5!A-FxV~4PbsNTKlqQC(*zU zS+~2q?`}=d!UpV>yCHqWOBy_m?;d|P^a;S-xiwxdN;%G(|A9^gAg;^nZrI}!Yrcnd zF+g2{0@pUQki_kV2o*A%toZVHuu|cuv?kyyHV>Y2T5blvA}*K4c4vp>LDHedK^nR_ zj2w&f%9+VUjdrLu7pr8V?G8}QODXRK$4rG2*3tN>3Qm=T4zpNc<{h`Vm0*TcgAFp= z|Jx_}yiIxR@s7HQPre8+6Ralf(xEiuqrwRCC-(;64BMGid}R06yIFx59MU#wj|V~) zfca4H4iRLV#Ci7c&;G1W+q1U04;N@*i_Lyxrn_Li1PIx^y)s;^AlT2nV_8u5Mq3)i zEa z0v_g?{?2jPxjMmq2M6l8lwOTssfC0@XVYgU7ShhKLNLCScQXs~OOiODqK2DxYROm{ zw8`ued<+o{3oZ;;LBxu0EJfEmIcyyGxo6B-n&+#i6S z057#n$u41RGY|l$Wgn7`55TQkIE!)Xnw+xfi~xm{ljD`ZT};o&eWb*87*@`c5L_-4 z6-Z1ch2*#d9!!8;BACXGn%bBCRAmmKRgk38m}nK`skXU%0m~fVsTcdEj3Xy0H$s_~ zq^1+}Fz6UDIUnuw@=DjznO?v3iLlKEuRdz)6fOo0iiMb9k82*Wv8Er40}D)r;dB{A z0W=>QO#?sj5a)b`=@+tR_GL>NqK|ih+?sxO7eCO&`FgDRZhkycL(=MIT;aY&9yG)2p2gj0%Z)SyItrX&xRQeGjbmA4hZC2;2`8f1C8G@q}5Cw96qCXmb#( ze}xQoyo{7bxE^svaDjan?ZCDC$HXq~EXvJH9TsLo&1(u%C|3d=@thc@aC4pwaflSs z%8UqXN!rx9MY)&6L7tbfZ;5A(TO}7yk9y#_sneN&g1kFQr1F*gLxBI&PX+kyb|SF2 zdo(13md}1!BBvE>^YF-Znw0FjUrc`W*HU_LV=}jbm$8`>ZBW3;)X3Q=)WfnV@V4zE zd^!V%9Kr8z%}`lzvro*)VzDkS@xEe^_T3K(7`J}JzB%|=Bx>*rFluqZ;7Q}mj3Fv8 zA767*)~TTYpMHJ65XJNEBX@ANL4S{j=YZYzLc}J=&h#eo818(#VzVkFd>`X)Jza14 zZH1b=xO_H)$I3>tb~&jD4`2{r$JD7k6G@c^%3{xuBBsY{duMVKepqf#TI+?Ebxk z85UJ6tGRj2?d{J=fP8j&KxaDQI_E$MHCDZRl`E;ehd8Ii9AcvDp(%NA3`s)@E_}B& z0Lg6;tA|`vqBs=hqTa_$7VlL&>B^83YdF}6;lT|vKb+&qe_H#PmEjy-wb81KRa8G9 zHn<99u=~*SXok&e3i_feXd}Bl6CIxryqBOu@aP|wE z*9=I??U(I@S*s}YQTpJoUrM#_CvP>(qEvLRV%V5G%WbVYv(rrs<#u1pc8?r|Tt1l_ z%mOH$DpgQVPxRq_l%w3EaEtcu6vFvB95>}j&{IKUwmTS~ukhmO&!?r9sA3*ao_tUlN32!bW0$Sl@Fy?K?PG2gZKdyR4fo5#m!Z`d4$h!F zEpZ;U)e-5Vo!0W+UyF_@sB=b3^MlXVvByt8&)ycaVpWsxs-7;eTt3saoTO zVExfmDfR4+3$;)D8iWDwKLtzWeI#hL zoN$2z+_lBF8^>{TQ_aouZEQ0)b>G^JsS7c}kw32RXSh!pZG!Q)p@HrMw9!0e|5O~} z(T{V@U9I#iWu);L`P({P9?!O1(Q_XAtg9}5rq2#$+6DOfw+-*Pfos}sMX_Nf@jGqN zu=NSWP4>IWwf!G!-vGY58k~Tw;jJy-FmU}j7LwVV;Ad|awA0rPBF|sgjt`PLP#gN7;es2-@8t9c8RRrT zN4I{ibfVsP-DXu)HU)pr958%YCHh=!Zd@jZXi-8gg^gQoc0M8<4zHARSC$uBCrci;iX4~J>p~ApSk0B3F zd=(bpRg$bMOX=QiKWb7m0s4b{8husL9mnhLm~qH0JB0a6zw)?FHETp@=rkMdBE{c4 za1Al6Qpd81sajn~G6db#)2f+klRWZ=OEouB4u7O=H)}1}I{EvJc0(Ho+eI^TE{M&j zt;N~fSuQnpo}Y{tt2abD*)r{SH*4CKM%rBvH$)GTuu_Y=OHwn6RbIA(KyeagxtkCh zfPb;K(L6f0sh0dD-v8^|&pF7fBaN~xz&zwP*M6@rs8wb->&Hb^>FsR`>viZ-M@`sO zO>Ue~MrPyof+3tWO099mhrj>apuD92pRMovKORy{M7abUzOukgXVDh_I}fQOOuk*pbN_p zKi&2}U+{EyVS}&yMq?_;B>Ljt)AHV)tQxvP;4*!^*GQA zWVms0xwjZ}W-z`RA>!hipkT3!AF)@r{nf{%2ap|ky#T^}Xi;@`mvQHALn0=tc=H3F zSs13RI8!xMMtT55%}8zt)8(PkKku{1%F6Zct~ceXu0tJt{=(bLau(P8K*t}^%}%@S zc0#}XoF4j488R-I*?CNqRKODeg{$?m7aAk=72;x#W({BcN6OCsTaMQM2fh3MUKIZ_ zf{J98|IG&Q4qDthbJ1Ouzg+(Z`ztde|2X{SCx$_t;i%WEvOQ`B7!{sB+xs25q4}?m z9{Bai|9>R)AIBQ}Cn@s`ua6b zuG44n!*zAEOH<-YA2D-b++E=NC#iO9zk?C@>j??^)Wk9B%Y;pAe{=J6FQhVf2~<8} zU^td0rK_)N#Y#QPz~^yXTIIlLY7zNM&A_e`Buu^V`U(`&XGVU?Q0{|NY}yzy7}+Nf z`(`|RJYhV095P;e{~i2Gglk{%hP>?qYSiTCN6T?RozrA90OQ?hzJgO_A`##a~x@AUM>Slt6vwl*V_>X^L zU0Ko8&<|;Uvp@v@m)m_eZBVx2{U!MFk<{s^f3+w%C54SKnu{%}_)^$q+R>}h?>w9% z`ZE8$kn-ma(^LNUMwx!Skh|a^`MES=1G>}r^~V z4HW#7ig-Uk2mKXGCH8yw1P^0MnIfpQen4~z^AAdLRp8;LnlSQZ^75i0T9f&R1Ygxr zL-U4?+0m{vZJYwsYGGSumz?84tz zOC9Re&PFnkz2on6`WO@+NMDz-)oqBL922Cb|68ciKIREhS9LF({FzK_XCm+GO)j}Q zO4xS0^SLySzhqk*B3E>Uy#+Iip}qupSZsA5)K?i&Unj`kFpXT$g{`4Hym`$#$5ThP z)zwDUaC4WW`}AdV7#T+=f!;3MhUK5_E|SR(;V#aM1-MBsS^2^XJ;OzWhaXrriS^4 z?x{w8ZB=cX_RLR8D^5>2D*nE)!$JzzW#C-mH#ZqHxD4W(bav3bJpiGauIHJ#io)ew zGlzP+>FL2|&xBUxHM(0_#riYltV^LTFUB)%`hzE43MDVN`kUI)r$`@Q8}g_uRpAK~}*Q#=<2 zQ?dFUDw{C^L+fRel*f}uAsU)Am30jp35SpMt!6zqqRaAqfQ!jU35H2iSTwji)A-3l zVbMBd@&3DF`1eZZsJP{4h6MPLp+-$tYkY%f$fja>4Ezv>R|8QSWVDM)Ls>U@{f5(c0GJAVgjKIK$c1`6^Lk>--9C| zj(6vomr4zSw8JmwuQx*z4;FRyPCelEB+R~)b04}I23FlE=+=>B5i&{K@E=P&I_$w{Z+WS9vPg-we9&5`n91{MiYlPFQicv4B# zrSul3y=HWPO3K3j(cX84HMMQ+vUMZd0&GPoVE=5W}1O=q`4gt3U zLMR$~??ie_=n(1Bdkq-rHMGzJ;Vu-;J?GqWp6`73yFc&x#lw@V%r)m&V~#oAcf3O= z`Z*z4p5RJK@|f8~KzHaRuvjvUO!G;J2R4OQ*(1NAY=VnM-;IxT1mai8XMAw1c^LT7 z1&LrFrJ>!swDZCvaoj~?+@o02#?7@_AlPHVyKPT@jW;>%A+ z>}cGahG{WX@{+2F4?x%l+c>O4y-K98}r{4eCOD;<2*@5q+P+KFC=GF-J#eI7}8C zqFZhMlLz({)G>m&GM37>x*?wtxu1`XBqjc~2elyP@+Pn{k6Qo*Dg}Wbl@pT6!(fLE z;|Ra5Yk8NdE}Ag=w%jH3K6Cbw;+FiD>!WR{bU6W~;w~J2N79NjASi6bF&%zwoWo?0fLu$fGQPaIZo1Jc1~*Vq#lOMLQgGxi7ug#0)iKYEkRgYj1sC(2XzL~4SZNFw9BCm`1oq4V)Pv;LCEB{wt0$_9T(X`x?bLjB`|8ez z5+2^yAuLIcfDlm>MYHv%^ZmRSv6fF3NDE4@=82?}@i8*e2ks*RsgQSrW$)1;AFP|A z7Q~ON1+3SDRgwe&G@vVUo{z+AYDTJiS9pJoH+CtO98u*^_b7S8b7XbYP)%LuBYvIs zMu9q!@-D-0rguTXrC!d1iL%P30<&;K79p@$NgD9SR05NPkgizKUjR|T*N~T89A%Ql zeLH7weC2?iaww<1Kw?>o%gEB;?!@aY*t{F&1!%J&2gdt5pTl^(Fi`h>aq>qhuP+-N zBkr8mnKy`!lzs0{#>J?6qGx)yJYRqo(M`V1$Z%cQ%-|DS+Zgy6)kSab#)x*xB#-20 z1L-Hd_gVX)&7L_*;t4*tPvhehYntOO)-@W}@HTo6=ge1$WF{Y1Szr>^fp}qPRlq3$ zqD^jiyz?7Mi@+;9RF<$D6fLpKflnjk)_8xI>2<6aCvl4W{!t!d2)g}(+R<-)wTlD1 z6?Ovo3%z)7&)Med=!eD6MfTSfx*;wNgqB4TaKCB{{W2FfJMDtXHG+obU~+?LzS`PF z1f}W+4fR*ay_WAH85QU#-|ruCFj!fi#)pqrR)wi(CJm`Q!^d9d9^82}q(53WoOF_7 z8PBr=i}DL~)JS*PRJSxxel`-sOQ#c(1c0k4xr=`=>z9f;#Z=iXcCecEQO8xVN<0L~ zJ4I15g9IWKJ=QnglUI*Syuow|3T^I?U!Icm0E;kk-FsvVuk~uM^)zaw$AvW=+d`_g zTS)S0RG!%vkN*f)k#FNRa?-t}3k#6c{aXHeFDx0d?|tUVkT}tr`R@3mq#fy3XPRoQ ziF!0RE?G3L!ieXtyJ{Ri3OQVMe9GKRj`eM+n1YyTeJ#;N>{;xu7-wq0C!9RIHPEsm z9VHGky5NPOK?}@ymiFlyeJNDOtY0=2e?3ObYAzm^4yQp)K}{s=@IsOFk>dfJ59F*^ z%QX9OjvkE*uTimW`h@N#LF((KGM30WnuTomiwc$h`I*Tr+q1~-~AePM%vE-#c>UMq=1T3j_-Dt26ZvM`$h z)JViDcAWv{$fmBYA>(H@9K(KkD$wSsraw`B6y}77t>ZcDZ?5tNRX2MZ;UT-T4_zaF z#PFZck6)b$#%(*C?D-%FdwYvm^w{-6gEc@5PS7mJ2Os}-+<{=jyOjb9TSdlCda!kD3V*MFYvfnEN`8%JVL@ONj-f2%h5IWi8N zJWCUJ0O$u1H9?fS{hr6N>+37Hg_ZOI>Zj-!nAY+i-+%plrm^M=8iCpD?`l-mSj!C; z-v}>Ty)#|an=5@`@Qb!pkq6F2$}l;W|I;M(FWO&A#)dZrSDedaZC``B^<#GjDo9JE zcWm@%5AU9>5{XmgH;2aZSL|74$%Y6Hw06L+oxy=Mo-eGLoKpe)96&(`P^hyU&dPoT zCGDH3@TL`rrdOZ$Ck>^zcCA=hJ2=E$RJc$dg1H17Tk7iSz_QLukKsBowZ)1m{XEef z4wZ3Wj8}4!!%2>F8)e>+&dSfJA@Ozm9JsNEaB$xl$E8gztl$B;B0#LCkmB<1xUVbH zr#fe$8`PN32Zf8tQhX{_cgkqPN;n%5Iho}H1Cy$|U-pyAv|wXD+L?L1{uog%!DYHU zF*q|WvY_&<_7ajD<+hOfA5DR(&|{`?ZKxyT|PrW zU()g~HKpZCmR;4n6)jO$@OeVYW=@W|7RBKXHlBvh3ftnkz3%H9n(FL^1q)bLf0JhZ zy;O9wd&6k(6c0MRdanvmoC@>-nosnrnP@<9X?Q3CSPkQ(+SWJB%ekSy(S&JHO{oZ2 z8%BEQZ&mU>bRWN;ub4_1lU#8}9`2fjE1@I`$6x!q6U{sa?rS*jc--^019LDwt>KB6 zcdKltvWhUYaK|zZD7Z-^OG^uP34GpHRh^!mMq@VGauO#%0}zY(1{9R;c4kTB&i4eV zF-h@T*f_*V*9TRF%%u$mm~lhya(;ZaswUeowOIEG(fOjJn6c-Ftpm?NAAq)q@zg33 z2regumQAD6rgRpxy$1mc&4DG}S@3a?hhLaBmhP#lkM}vUBqgoPP3J@MwzWjWr_UFB zJ=9~q?X#dM^^k8THHOPaSs2B_DQq1pHaE|noxCD@%+Er!@a}8L(DiY;d)EkCDjG7D z+Gyn&>fSQ?L<^>2A|n%kTQQjt1*5l*z1 z_7$7`Lnxbg3K;sV+8~*?C*9h8EE*Cohx_{^M%|{uyQaSqJ(UhPy?Ec;Cg$|z)326w z_Ke7NGQy4y2_7(a?TBOEdzzPeFOlgNfJ9OTR)E;NmY2F4l8jvYAZ`QRg=Pvh^^+5J zZDVj6WoEhxxh5>_0_sr=?I0Mo#IrRHaU)!NZ4@nLuV2YxZXS0i@7z<5cU}EfYqX?c z>9X3PL@`2Zt6w5wxK+97*SS5LZJh4=erPE+wj+z1?j|hIFzEfD*2e;_Y zpRvpG_Nn054M*Wo>(~)nD^?%ImIDv>M85fDrblg7xgS$3Gob+MF4(w@8w4#wi##4x zW|kC_)Pa`@xDHXu+XQ)iKhAUDTB~d7t%`sw&@wY~gLMhP?Wrh;^@T zwB)v!xcO1~RoYf5p%i6uwZ?>1iFP|Z)a|DWi_(p(>}?U7p{bi-ouJ`nvP=FGiNsnq zcfx)k(?H;*9q*0~l@IQpeY`m)Z>}r01iF6-Zfar=$$GEG7a$=fsS}TtlzJTzRtwXW6;91tMm~ z_7Y66rB-et_wK)*E)loZwO6nK-JwkU9TBaRjag>qV^meeaDo4vN-Ybb;pP5T$zxtW zq2>In(57iSd*nkQqSI`UB4wqrLLN}iJrn(X99^Q956IS5w*oHN?*Ko2$#V%1EY&WY zgzoNRU$Jwbu>1?u63dUj1OC}U)y&wcQ1PVa|ZMV#Ei?k-AOEXDQHvBa`kq4koA=JJCM|BRT2;A}B+ ze+hFgM`O517M%(u{@L>O_@20li-W~*5>g9qCQ&rTM%o1%NZP!gdm7+k$d2y>bF$n^9>jL3gW+v2=HR+})ap z=$cNLvA%x4mlwzjpK7X|vGbg=b8_fiU0tnH5fwrYhxt}6&LG@nEVfn_R%Z6ZY@J2z z4o=Kj|7xD@jFAW8TS>yvBh0&u>V;+(nR-LAbEUq4D`IX3?^`)I`L31EmD1yjkr@F| znRB`Ei{1?jyap~|>Q#RlDI`)wIo$y=mL>2pCi$(z@JFB@-2QOn*Onnl9{0(Y_q3x1 z6Q%ZE?%#ianI7{@Dtqay@Wi(^t9dh+Y|Z_TnGZZ66=tn<&GjLn>@mQ!=#=EG&F*}g z!Y6r7C8_OfnpyLJTV7*z88Y{k+1schngyiW8&xyt6oxho#0x8CBbqj@S}QJ^mRQTX z{u3QF1K+Ib5jUpqJ+CzMz5boP2Qgah=X)GXxB!u4#o$nMS7pl%WkGR-xS(@=<*4DEIJRiQVBj8V1@#k84n za$(+#s2Veq{4IIw;>*TYGnMQVIk6WU-6z{nd+w=J(8Q@iwP*HORpSl-8S`+*k@Lb& zRA^B=cSui53*W&P$;4!nlynTxHv6sibAc%09*9d~H(9-pX*F|?kXW8v8209~C8-Ip zblGb`-ftbJ0OIHsQ%6*cg@wi4lb_pnuR92&P^_HTogUD7l%sdq=dEF?q2swWGNP}E z9DC-5NW2;UpK^lF0SF-F`Cp@E=f|dhtGfJmWaIyTP?!;eYHc3ZN~bet;sK`MB0Z|YA#J1Z3|d0eDdMac8VhXZKg#F z(^B0|^a;@uAUA_*HlFYoW*2*SEDtjMw50F)_6&zuLNb&fmMnF`^@ZgbucDztqj$%E z1ji)vTDtRP6I;H@sc&Me;uk!sfJ!%PvSvtPHw$|r zyYlN?2`iD*lL?jq;CY?!wOuj)(@{!iB ziHIwcW3;mD_7KyGqkDh?g$#K`Mndo00SUP2jAneDp(98RRjnjQ?bOe{ALyW|b9&B` zci#-B6#dHVDaF+!p)O8tPwm)YKJbZUdw7HNUr2TagN?kVCWd1a`;=y}eOP^pvdm7{ zIo%u3PS~xN5IuZ;f^_YV)JO3gPg)Z<`|3j!qG%Xg=0alWB^BWQ%5gW%6})>s=NI9x zDIXCe`a2ZWgDI#PG^zc)bsh9|Dn`vVGL|HD>8h8nJdGjB(M{z#YD5Qjq@||~n%m1B z_hQwhmlZpr%m+ZNhd0mXmLpr(hy8?M=8w|;el$D?3+@OChSe$I%DCG-_*4%iy#wK$ z-O9ZE9dt{&nUUpxt^mdu>41EJJ!pSMUAG%t~Rj zN;f z-yWUS+R!oO#L+P6*I8oUmdfrcsDDZ1h6f-xBof!uO3Ha81eJZX+-85>sh7EUvEjZ#3pUQfPv0#Alz_fO=1Jln0zDekd0?_ca zs*3&V@Se^JdDVQmQ%!6^QaOLIiNBPYAM&b<6ASX?H*{s2II*-gJz;;Vo>7w)J*%EU zLK=ZQvS};6K6AxP=KZgiRDyL6l)p@m82)ai-c!M&0K7O+-f7NfCjpYUnNx-R`AX9$ zlTx56(FyS|rM0a@9aWW*^4P$t`pcKc{DpbQYjpi?`{F+*skd=ij+o^5NaC#Y0U(Nn zytsL;-cM3><$u1h&2FWaqlbS@7<@S}qL*v^ud6%G=o;PB00rmg$o`>oz`x$Z)ZQ`F zq4w%@9%z!zcYVZF!9v&;7?E4lE=UZ9~W zt4s0Yu0|atJoBWaqyRmi^wOmu_n+-0#?KZYfjjuf5C1toGAB1Pj^6tE&nMXzWUWph%uH(TY?Y#c7bNkz-&ksQR z`6<+hc__W(jr`56Bp!gr&ldDC-=N37=QLSn(fVRvNcnB(TUbnPpWTB;8pqqgf`Vz? zoqF!Wyz>gVv`@KmZzFVJIlDgEhJmB|s(t3)UgYqKq(~kmle>D>cznXybx{6parUc= zje3+mJ^9NQQI#~A_JeH^i3PezZ@7x( z>q^CGloxS@=VyLoO6CVg41+LVtxi6T%V>4$AL9UmeEpbHMF)qoc{x_uaSse)VM#OZ z;ujI7cg?{3MIdAkXcR6#?{>Nlu^H3U$j`SCgqe66cR_W*(C8k`d#62LPOrzza9l0(n{1n@DZM_Igh93aCd%i1&?UcRYuf~^s8qblFw>zrT(;tyWb4iaaC=uV zl4hyO4ZBMJM;(nWT1{;HtMS;u)19ar<}YIi1LSbS6-q*GQj8A=Xt^^ucAoP^KImaS zP(05pjD=P|oGeaxpE-{@NGomEF@fZjtojVqyo^$R`iD)_!IHJ`++@VZvkCm78%OR_ zZmrcY(Kb>I*nnKeKqq9fIm&a-#T%)6_$MwJ?sRZd+t#o=P~i|#U9Arp;-QR&8bkGt zMqE%W)I)_(5P3~MuF`MqB1$E7xMIR76s?C=0B*UsIR#r#T$1x?K;ar5iX2_)%d$=57P z6d$wRa?V#uZ*|ge*H`Q&Q|Jn?pP6K9<8?}dvFSSQmfzsl_R%L)?hCY=WK>OD%EaU( zcRXvMmD-C4D4+R^?Xi5m7S3i^9tm*@!(!JrX`Krt79Xh<7#zgifO#6OdsMouz8$YB zMi2K;4kkrqe7tPKWXx6WVpb`1zyBEJb8qJ^li^J9cY4}FW=qAvKkLs&*Hy(;j=RDh zbu1;{KUY8%a8I$0N+0wwgYTreY;zQQ&(hsJUm$YOtEj8y`$P7(iK2~NijYbAS6ykm zWz~(5dXDJQoxy{nl#<-VYFuCuY~<<4N`L}_a&&7hwO|GmoiT%|HyOcpKbp&%u^b3RFji&uXZIbJ_6HJyBoILf5>Te z(DQ7rgRJKs%6la%j4&;9NbB_mQI>+`Ui9=&M&j)E{3g?;=SH<%p-vyl|E ztUIVw9!icDaV~#!HbaX{xT`+vHH}Ar!vVb2P<5>{A})bvPO+_wo)?p-5nd47iGuci zuGp9>fH65~AX-nBirMo|H2TUKu3FE|3vf5H?z)7Lvb5{W1Q_O{tqme^qO`$ImoFn# z3sS@N3(+s=-to8@6i(=?Fb3yQP*KExj*xm@QP~VyFZX(D`85;Ne>vB_dM@xltDLW} zIJ4z^>2N@A0UJ;0tFo#`FLApYFKhT=&8Zh+`QZkrC7=XZ>mX1}dPZ$@W>&FEb+09R2!m=j51sz%=ceNN@Y+P>@ zcvj61appd^$$M!U&w=HqSe51O?PX{CBl zDUYyBR@4kS@lbL~p5spJ&eq*1&)Gg6B9!JN#Tb?fmY2QuRXm=YEwHbJrfi!O>>y_y zj$h+i?EYGp>0d~O420)C&(dDU8YU7ghT1Q}GhAyWpJL7iLsF$h5CA+<<)kY*01)e$ zO!q*Wpk>;$8V@ZcTwYKa@I_|~kXcCC>g<=pD)c4gE_-F(=-9&1WZJAtiQAxC=C-3z zg~yF0UM9E&guxTjN-6K~#sOEyc+q;mMeTUlLZqEDTekuXye0CO^GbP60_IRkxw9*W z8&@cCE_UZ8(xngG-UTF1go^ep0d+vYegRwY=EyY6edl$RazrvpNBHPMwD!mn62z&Y z1+n2iwo8g$87qf#kG+0@ob)&_I8GuAjPXUF^va0FpAO0G=td3cN`sT^$4}JrO$0|Z zeT>Te{x!eu=NP_J_A3;5PQOR-hL@pAmlu}jGL_6Y(dzCyyNS=+y5_p#9Xily&|KFd3ag(Uf%wRV)n)21Q}0csHJbfd^Gecd z1#Hgmo!7~tYCSQU5ZA5O<*`04BQ#Li;mH=J`fpo$mp}S3R^~h< zf>g(!A$BCawCAAXzs2kRo4JT7tBHw!2%r|GmhZW{$*--A|M7F0HZ13VM4Ay9^;v}| zn%?N+S;y?*67zLG-j098C_XJM1TMP*A>f3IIFB%W4O!0VtpCZ-&uf+|rWk(SE`j8% z(-Z*R|C=^g=Rfs7i2nX=b}i)gJ@c9(cHY_p5Fp0obzs@>d6Hw%dz_vKg+q`YxZPEW zmeXWy;?CP=kP&i#n@G6AqF8bdndBezT!wqaJG^@Cc5s{VNU27cCG6*;kn}DfxsD{B z8;=8dYoR|1uGRuTTnua%$bL>r63fMLlZhsJm_9^xKZT|8*;l@djo&2FL`MW20J-l^ zBLRm8hoAAu?ItKR#Kc;eZ#d3nKCfIO`_Wmv58z1}`w*f}Nelqi7J{yvHqmlKp#gru zJl`B5%O{7|qP-tG$+5zR-|LH7iCD;F?+J;!wYVZCV*Elqr_bnXk-e^_)8NJRnD%R2 zj)-7@$^mm1Mad^r>qi`JtbQo2drOr*UuPA;J3jCHdZxp%SGVH zAgf&u?(^6Xb2_IFN1ll3KkI8@=b!ePACwu|F}rnZ7g5ROsYJf_Lw5~$NP{fpsX}@J zG)_AMbR~I~@wy`#>z)gnWD{axQ5VRpOPsp}r$L8Du^%*XHa+;wCk)Y@NMHK;)u*-g z#rI?NhdmnMrpmF^#Wr3=GN4ELP7bQ=c>&}mNsSjTCADLcgt+a;O2|y}JH;}q?|(lU zknyK3oiDJx|Fy#Hc(PO^+9RM3<-?) zKn)vdL~Vwd_zRruD_6VbDXDl_bcG&|1ya41c2J0G+`vjVH-@{KnPr)ou6-*J1<=`o z_A28>;$&9{Eyj{j>1^zKv-O^D8~R&u$b`-eJMT)Pv7l?h-@1Nah&PiW zVoQz8r{S3lyEyE948m;&j-q%M0Sh{0UnSmMz{bY%H66&qxd@ZN0$f`MKDJO0zdd*> zZkrq??VU0GD&ss2Q6(MUfCZisfHDS;_QLf|jtbxO1P5x4xFC%B9<(fF<{@2?{FU<( z=Gm>8-=$EU)}@+A-13ctT>!_sgp4TWtUn>}nhfs0pezN=zcwm8{K>)t@e3i;ussmvK zx!b*$SEy^{SO-lRwrH>LB?(v@=6$&>JgvACD8SEs?-6L;T=6yq?T%U;7_Q{t{q{<7 zeIqg|M0K!czawKh#PMR`WmsJK>oHmBXLRg8DL6pRAiB)|v=iFSjNWwG<2}T-8>h*ARCe>8Xfny<&@)|S_j(r z4U@G1M$4HsWLXZt4w1F3cjwb;_dm_0Y2*!w;6#WIT4WR)#>JNCma^U9sz=J7LSS6` z`(adgU%EiW8w|>qcc1)@d#*EaCx-Xlp;9LSYy+Rg&2Yw@2rng-Qbdowk#}Hyl-!HC zF=Ex$*>*ggj%=QKVdCGaA<&MBJX@t+KfNnHL!%Eo!!`j%Mp5*)o{%D)HS6ae z+&OF>w+ZtNkm-rZjxLE3FKS^UZI(04bRJ>2PS3;!Ubj||C~*EQix;dI1?t$(Y0RXa z-R|V^tbaN7G0H^;{#T2ihaw!ZC~7a+GU!Y}>Nj^WH%k1|^yt7xtBIJB*WcjRaF?8_ zjI@=Lh17*Q5h`cxjsQAEByhkBiv&b??tUr&un)aiZQgwbckj=&tA#O!j5ktbzbuD* zuL=NdWx1ig*v;nmDTn0mgh6ht8`{VR#U~>9JBnIAmN~g}0?T;`e}BCt{XK@~<+dvq zKVDtkmA)Tvqn7qL;4RgCNDXfB6x|E(q(*#`vLtqxPuuAhO5R@~nwYOsuXx2Vyvf@e ziFd()J*RichH*l-c3)>o7Td)>>sO8EAA(@ck_9AHYNb=_WsJJU(7hTReqndp2hKbj z0K&!}*sQu0`uTWrI%jeJ4tOglo^4+#Tj+=bR9cgnYRMr`DBOo4Fxk1-_OKgUdA)f+6&-ZGm~zicM4Vd|jgUVEwHX zzNWC=;biO4kREGr5T36?UiZH1TFn7CUYS_j22sy?V90jsY|$TepDMU?`6qcpCspUR zfETp3Mz7LL&;1}9utk7|Bz36v*Rbm*kb+=WFuWnQq4R|5b*5S9}s^<<= zt(G&tzbe(Y$$dICHZS)hXIGd0&pEp(i6bXn%1hGGlReH#?b0FN9F_vv@h9~U z*1-A@E`CVcLt~T5FUhuF!jcBc#Ue)VM(|H#7db=(Rc-~*7DsKBPN$;xD8+`P<{xNCJUU1UJz|kn-OSX?RBoUalL1(bQE^wXQDS9pvxd z^fcfwX>ae=^=FU1&8&3X-fU+$FTJ*=*w_Dceu!>hUoT1BJNWXS!E~5#>VViJ5Z{%i z+>~RcvPiI{1}Rc?99C_&MSrA9ma}$z_td5sJMZq|&tYP8@=(~hOaIQ$a`G+=#I`hA zsf$hw?}Ds)Ax756cVbnj^$YB1-yZ(>oR^k)=lzA$@w)Nx#;koZUS%@#Ej=vdkKpb% zN7o@EQwU3_=`hBljOXn|?LH9{W`B?NAU0l4m=Jxg*(?iTTk7dFfz)fpth~LNj_k*r z`y5EMDW{=rL~C`Zjusg|sN-c9_(_DZaayD7N*u8XmIxU}-8;=KlVk zuyn8~qkJ{odk2{&%oP0CFOqESzA&AbX7)2$BLqIN7nVlhr`yxu5_4UQNeOzL99I-_ z;cZj%;`^kkb%=i?)Ad@{!xeUF&uh^HpP3;NY9=tH7F<{&X)3+7wd24(C>~#vnMdMST@b-G}kA25H@NnN&RHuW;SJVOcd6pm}$v-?*rw8Jkv_&!p?-=@Xe^A z`JtOOw+9t`B~j$=eOSZ=sGmm9ynnEITC@Ejc?OShGaTRDUlh05m#)w5d6PCp>+|or zKk3>Y+iq)&%x7dc&qr{+Gbr?fbl_O#^X%S+LhwO{PGA0B_-zq)>-H&e$tqd5Z{E8K zuG@`}z>jpC_*j8nXO`k3X=An{&rmlk-|iOC*vG_baS)PoM(d|ee*R8FTv!s_=rrmJyuGD>%bba{aa5?rZ89E z=W1IrebttUi>$#E;(LL`Dw}AKWV){Wo7tlPQ_vk(>vqIYhUQLgweTT6LxASM>Dgl^ zVeb;ox~{!n!GXZy*y6!5$hHy^xAvhz-aO~IzBH!6oiA_y=w11Hq65*Ve!DkKhVm!F1SiQ4>YuCBr(w^0B)>te(;>{z2 z0C zd9S|Ac+kemq)K3+7+YWMEUU>?acA9CR=;A=ET^0P)9=xnt_vT_qCJVkUdDZrRMW!) zKj&@ARsytsT)^lsu)2zMaZ&tsY58h6xLp|Mt%PnL7dq^x(XicgB1a(nH8vEB3c})L zc;`E_oCM4^En64@o5wv?5N7AxkC=abFU;HOwA*fz8Lp+UPVQD!S?u_#Z7~})%{RCm zwI;Ik7DuNo3~jZtE;&cojyT`J9?pnYk{26$rVjR$MO%M;M+$rVe+PG)7{5)@@0 z{PI1JBhR3F^L}!pT}jki84kgRrF9Th0xM;;)kn;CUzB2LBOaD)S{WxZNSwUq1CKly zS40|uk3wzhR|O`WN6=&Y{ZVK3tXylqS2f*i6=n_G%vxW1E!}6E*Ka)TjtPkKtzK$3 z7N}ER!?nLR3p{a0)A9)1c`jq;W>m+i!T)8PmP^Uv&q8QQ_N$X#;a z@YazA9c4jw<17lCMw-SShB8Wfk33lXJc|$1q`c_@MdV60p8Pw_kIK1V6w7&;k_DJw zS>CT}*QE)zqPLG;*4&m?A9nTl6w(>><+-=@{iDvxjjok3#-$5u)nxju(cn%2kLI}R zCG$3B934Yfq!ERt_s`}nNqI(w2G=GH{nbw102I z36t!dB!pF^tkL#}volew5-tRm^PX*#b+GW=%i9W?3d$}}cSUWE0Ky)lI0%o+xQ}~> zaMF1gfclOmefVIg-QLx>+qIQsyM~^3bsA4N$(C^xT@6EBezs3MQ4(q6@i|+!8q(H7uV263us!Lre%pXHGOXQKy-X$*jKU2o zhBeQpUPvT~2OIlRUTUOAWn!Bp?M$m+gMjk;?I0#>^st%DIYp)V+PyQ_5?M`3r}(lr zyLAee3tDYuwm8Y2qAe6ql9+59t`s4XFZn3UP2AV8t~z>ttP*hv0X5RV7L@c(z1gA& zwzQS7!JiG#v2*@$Al|1CVMHTr*W#}^-A+7a(rpu9oM zpd)Cwyai4y;CJGvrjk7ziom}%)~OOmG#T?sLgp9+3`ON2^XeKBnO6!q#a5&nNJ>j- z&j?;gz*IbIwp#K0to-zBpTsJP)TXvJt~C$XQX_5Zs}d6p9f)>xbA6MTb)#{4>An%S z&O5oG4&i_8U@n^(XxP}W%E9H}&}v?Fju6!92s4?|nHWqFo>>C*Cf0YwA1wffC}KB| zurHT`1-CI4Q)?t#~cwHL}k71e9wF+b7jhisvVRzrb z>I2~(3T0nCIY&IrBqIZ6BHL(^)Y803v$+WKvku#9kB-l8sZ>BgD2F(7l zt5#d_`-!FO*Lx7aHiOlTL;5Q_h&|^Z6SEwk>%im!dbWOk(fM89gn?;%?@-f1fwb?> zm36LCntyx09-W0;X1d0}y01jp{EV~cCGEUyOdN2FEhvVW2&k-?Yo%o}bgugzx!@Q; z)o?or=Z%;;eeXF!E`6##XjrV)csR<_YGEXI_GskO-8v7FfKNbtt$V6_fWR+EYg9DB zaLT3xxg7tGivQ`-BQHN(baIsfqLNj7vta(?GT~e|Q*6=OBBxzEzaYHRhxc{t*D9BT zlZ%-o$0f4K^4J0O&t2b+Ko^Jl_T)`tp7}7bEw9p^$A3k4J-QI7p=!F~^;NHd)nuoY z#%Uv^_JPQQKc1J@R}T*KTKfd(Nkz5GL3v*$HQSW$N<<>BN0IN}@AMu9%P zkv~6sb3`jV7C!ev&pNY;+ zWk=bhf*rd61X*j4U;dc&l7?vR^D$hfv4!AGHVBq?yb%(WL|ybS?;RdxQPy zSv~0{;>%O?uHES;AG#}m!2uB*+j0;lf3#4U$Rde{0(Y8 z@GTN*Iu=NQFrTtZmiG44WDhL)K!ZQvIlKMJAODv-R$#u z#YUKksl=G?7GIxLw*bpw)MS4Hqx3g-j(BL4k~&OHxLu)s*~QZ%4F~2=TB?_1?X3JB zmn$va5b)SvXkb!hytXtWZVcVieWd{z_EDm}=?+4*!)R(YS0V(o3hl;|=g|SH4^(8KU0W&`FDwo7e;Q~}IA0nLeRDA8& ztwm^bXORx_^;Q>9jrq;~Axwbl`r3iwb5QB__%T1lYwL47Bj4edT>0IIjnQe}TRX{Z zam4sp(Uw>C#QU#p=oDEIE4DYKw>zSJefVug@{DBp8tN)*SodzvXv2rW!onb!iRD7L z4P17+L&vFOkl7MWyj?2*U&%|k5}d?|ZfS1}cKjP&J|S2-5cMAiX`31~$VCnFHSgC) zOOv2ij-vf%*fBqrF)lv`Q$D=eWYj*2xXJ!l#+|I%*SVfl{$?Emes_rELr zSHOY)l9aS7$x%_{%uM6qQu@F{@xR{K#qxgk^X2)SS-ieW>#EZ*Vn}O8`eDoy4$^o% z!s!^Zp?Yyzi+cKi}4uG@oVHe`s%I+3~3yz|<08(>$So zgaKhj#F#m^v0?iAOF&{xsvJ&JjlO*i3{ApE|m+S4+#591~U8CK2X7| z?fZAyK7B5#vuOsGLU2(ATp>r4(qiB%C*^@L>@IiAd&+MqQQ<+{wKKzOFMn zuT((Pg7nAw{dt^w0xUB=hS$`2Uinnb(CWdB`bV67ZE|BbEYf0?rlXfo%z%WxVNP_* zSGrJ9305mtBF*45d!aSi4H7=wnXGo#9%vSwDX{}-QhGwStv4kydt5w*8$<~cw(9os z6!*Z!Uw&VD)=AG@1p_MUNlA65sopArfDP+bbY*PY(rNI1g;MA=^!nsD9`>_fvZ=HT zk6M^TP8hM}A@iKMwXId{pn1#jVJ2Qp-{&Zl_fqiv8}E<8LzS#I+^OzHfa$2H=JdI$ zT#6nCJwo%vk0*ODlyzJd<@M`doTzkZo`l9?-r%dC`jna8_0wW~&B2{tMw;Rb4#zNd zM5_Cl$Wv4=YV}^hq}DV_DN_j1<&QotA^L zQ));DBqu7rWNheL0Q__PQI!yPB4j$GU`9?OY-f8{UHoc@4xhQ^fifV8*v+}u_54X1 zRjM4jk(CN~96?}c^Gk-468VsS{cRPxH8}4B#GH>7lWa7lSCf8uHwkiWu=ZmCWI~u0 z*v)Pm6gd#}`*X(zsk`I@oS600TKZsw%W!nxp5E5DS8}-si#wOQ+*{-==e6C%74Ld#lDX_LDWxTwBP&`iq zPYa}n)Ga}D#R`Vm7K{V}@st+Z*)FR9Fp%rb zsyviufuARCscw#Sj}l`^QbFU2vR!Q4JGUbUOR>laSFGPwyt-+KXlaqCS)C8;<3WnB zU=wybcE*UePXB^HkzZxmO2f6J1YYjD#>BREzdE!4L4-bzp2X^W@3+a^}hoV-Kf@NkA zYK@T9M%8XH2V1Cz;sf45%}-<7Gjhf?-9B=Nu{omwWXqNlf5<9kO%uoOAp3$o$sr}m z#(U9HirY!nXzJUgiXi>b;WyFk9L1<2V^j8Y-^!c-Z^Qfsl${a`N0{46GoZ*2gVSR9 z4wioCgy=*SY8rZ^GT&IXMKMI0F%AT9P-y~S^Y7hRhSZ?-EE$w2bR57m&F1Z%QNpoH zeIt!ePGxQJG4=F}%D{9vbfEDErkg!Kul|_RIo0`8>tyt~6~#d|u~k(!oJL(r>i1xa za!X|^Wc!Nm3YcH_4W*SjJpKvePy40L)iZ80g!*KhsF?zAuz=Z98Mi9>!5mAFsG#v{Fe+#Nmz1N&#etAF-lt5UMM(K5xy}NaI$qIFT^3@&!&E8h}@TB!xenJ)oPH}qd zFQ7M%*pPYAZA+x0dIpcR1&Q6E-m4pO`O2!d6|s;T4jYGQ$E?3>V!x!9mRgrjDnL~W z#Jj`BCxxXpqTyPH&{}*BY7Yu$3bfJKbVmn1ma#>F+tZwI6u&Qg1|USANXcdF^(?j} zCqZ?EytLbFnpFm@H!>7i#lHK*Nf~4m7n_W|hIZ|L`>?GNhNx7i77c2%?a5}{0I%+5 zcMV~X1NyqP9N(Cq*Ui!24E(D(wMfaw)O+e^F^6{FdQVn;zK-{WNUVOd1|#3zJvcNJ zoYwR$&w=Q=XXEL4w_?moCY}x3l>{PKAK9(>eM#knHQXP!O=~xeT%OrkI_VV~mEa)n zH3yb)7UVrdbukVP!9pKX(Cxjn?oLThL8S#0HA{Enc>ibOFCP7|!e~K4O^^5m$t(5? zRS1K=ehjt5a*2E^-&y#Fv*g_DQh4aIxPg$7F{T40u_F1aPD6 z;BjJUX=b4G8;+%e8dsbamVrKY_~G==Fn?9W6ja?S$9Nvc_Ed|LTC$kE5+cdM1qC7K z=1oZjxu@a8>Ds06rQWAa!p9>~3vp^E*#YNk>H(OajhUZ5R{91Ks@!pEPx3Yn+wvTM zmdd`@FNIUP0~2|lH@h4vQwWuEEU&gR%y)#wi?1^P>ikG=pvLf}aC0SZf2I|31!Kz) zZ$6+@R1`NmhG|PD@q53l-1R31c;jCjZa3|6A1FIgoe%zV>@K2REQAZ}3@zgKHWoWo zRyOfzOS@b(09dK#{-rihM|HxgU*J)i4G0n0-%uHw$(_a4$!of-`?0I$yw8e8UCBVN zIjB0~S^B`v55S9iZA&zNoaz(}SqJkKk?MZ>cA*X2(QZpGLU98lqM{0>bUhxd9>iB} zg+(^LcK(&KYs#BKB`-Cqkztep#OIo`wNJx;$(e5Ydp?$D@>{621LKYRI28#HT;gW4HR13z(E*He{v^!?ak7_jTLwJpgr*v zb<2`aX5lXmZ%_Wcxm-(v;4TAOiOhIBvd4d%x_JE^wW{2`# zL|q}>u6b39sJi)920Z3B@d`?ws6m;=iJg3A{db+sLFq|1qzDVrn@M4m^EPu4U3Hjj zylI!G54939Unb)NpVB-ystG|!B%c>oF2!|9Z zs(`;6xB^Mj$x}AxA=>2dL2szoA)*#x1_>he{7|m zoe>z35#3%&APwW}be<+fZs0uJDArMrR(?1}2==6Pm~#(dck(R3ZDPr?|8!T*`2L@L z$R;E^0>8L`c4(e$Uq2n+O#N@ee1r$Q@q{IPU2JqUDf#*JJmjf+C;!aPmUvI9kICea zmFizt^#A>m@h@LM2-2j^-$0|xeyzB8=syQwEiGmo(bYIXss!p*<)?q5hW{Lhj2Nt8 zkOKdc=SMWF{r!C8wqfS;RBkF;zcP)d1NV7&fcWn7aeQ|uP%~X>?)>Y_TjtLx3_Q2X zBrfyZB_AEeUZtXvdj<%j;Xj35GeR>dL$q?ATkVyK{aU%76u)a->Sz$2?E>QKo7etE zEVtfVQ5@p_PvhhN-%tVsNdU*<@$qR5bY*+Ic);ubj|COqj$wo*1S#z=WRP(w*6@l= zqtZMJ1jKfuE>?9?OW>GMLPaH#bw6ynn6l77v?sE&69ad3UiAQnKk)K;SI)~_aj(}W zvR4uX=Kt^{{9RdCod)M`@yJ~~Z8&796{l#m6$8|T5pQQL(9=%T1^92T_x(+Pym|kY zRqMT?8vl^Ki!j&!z{MU}i~dV6ID6~P!hcW`-n`F{2mMXkTzvG3?q9ycqqFBE{=34z z1djizls?)Xucy3xHOh?baNq4Olzz)HQ|S*twKX)K*gA$`2#JzC;EGb6tOd-&mEQ|b zlXkBoizDoK_45>tHHJyiEIgGJh*yCP9efX)b)U(ernU$PtoLOPv&P@$RQ>P%2Uca) zEYltIXZL7d{vV2Ww7>p*^EXOH^;zkUHXg$ez^gV3h-QJ;MUlS+53~Qf;Qx7f7@vhn zCDwdnB89YBPWwYHKlKRw&cV<~eZzq<{_TaUDxi8)h;MYG08anSBP;B3J%4f}5A7-F za#5RciNVBpvL@m;@Thus0;9OM^6pK^)^dKnom78vf^Ot_<=aiQ%4#p{p6Zk~)EAjf z(8a<+lIi(Q&nK@SKr#<9R{uF(@oUP}NY34)mL^sdmv1FkKdg#P1X2W{(<_FD!^4Ie zEj>vu!J?@^L^tnP;omfU$>Q7F4la-Q`!^!_g@cDGO>`-L$3Vbvu7o<|=NF7!LBhix zi{VBkLussjRK3iodQZ=Mp$GyU7|&a+xI^vZYfcVptC2FK#!Dd{tJ>_}2kJ;?^J zAX|h*ZQ(n;WMVcFu={LHTH(6S;n1{GkVg3xaH;*Q(6QOars7u?Dt{z?=C9vt!wk-ghUfiiCKT zjE$>H8X*y298thCk)mKmZkjq&-+Z<_`vyQ|zKj`7w@lwPx9=K8*aagvse94Yj)g^{ z){iy`nA}rB2Wp1VT24nlwRD^!DzHiECZ`P4ui zZjB4QoaLIC5P5t^ytu6kz)aqiT31^&p}uu|Q@vW_9#BFnhX8uGC_5F}6{l1;yVJ+A zRkcbub?OwgpHe>L%~&zRM@i$hiB^W5A25d@>9ii~snpHY!KSy5X3Z-LSOdEV3XQov zZeJ_6twmdX#J@~tK*tyzXpEap9`vbgfJ;%Dh^4L~cBPf;OR7P}t%Qxz#?S!NcBg_L z1c~r`di96D|7!Z>pF#@LAzrQZCS8TqANLD>1LUD{=c>rtj77^O%Sooj^~HLFYswb# zh}c2p_z?Ac)_Wr?^*+$lM*opE!VMyt=(;eM7l5^iExgmZX5c+B)^zlbO@q8#_8>LnHl-SzHz% zM5=+QblY`r!;!=%Us&a#6A~~9mNu_R$zy$auUv}ctiuA@uxxr}AB#Tm|PUd+dv9loumG8h~;d>laGOV{gAR zYQRZ!Q6b&!PIHswYjEnUs9N4o)6Y)&%EbPDHJ0PET{9dQqvWjqa=LiUh&gP!O6-Wc zQ|Hoh0to}J@K|2)d3pyv!KJnZ=F^g2l1N1^4mupS4cSmvozBO_(F|Z5v=5&NB|W)7 zp_qAYn%L~N?5e01Avx;<%?~CA`d21lUlPv|obL5@NQb$8%2uZpEFJy5nc9NDs5=rR zuc`^gws{=HOK71gUVA;eyi|B-L4C{+gJ20bZPC>>y6np72UF5GX+7B-%iB>kSDZ|3 z4rIRjgaBlYc|_8=!ks=V$$oek1jAu?-Um_hW_a0`pnhaIyvl^ifJI{6ZBa$K@<{L z_G+ZjykPQMa9X%im34QyvzwCBk@MFEe4X%9?`oI%w60vYIcd82I``h*oj*?NT>zo3 z@nl7pJCD84;+RMo%#$4JTcI;sO(|4!0Ry(osLvk6gp^#NKX3DM>XJ5^y!K>#Ga%Ki zVjhoKF@#L`nNC=7D}WG_c0DrdOHL8n*2^rClJkSVGfgqY+K$957y@rN!LO?~g)h?R zU632r_!;(I@3FcePGk9(Pgq)#ax2*IV7Ts0jbJ@&{NVK~f38mjKMY#y#*@BFP3|xeVaAip*pF6pvmlZ09Anx_8*Bg)5QPG>M25WEyM6Q=T5uwM zc@B@s`#{bQl*&q00uL7*d9Wp|?&9P+e1<5q;Hmm@-msbgmSgCLis~LTXADF88*xUh z{K(W)#1WqCiBBaGVgM*#q+vu)kVhX}wZkgA2QyJN4XIwSzksDBqCLh4(~u9>S<~N% zN$QxIUY}$HrMR1lwF9RhX51|!3w#6Qe*RNE5_|AN@`gi-Av3(*d@}t|FUWW7My1VJ z%n;oJU)F?wwLhfV#p-_IHT49czKdyk_cK}3f29n-R&(kmYcMHm%v07r1ZEwIWt0e8 zIx+jSe`bFD@veE6X>bkJu+Wi9nDVXUBlLe;Uc|j#!6)`>JB|K6fx81M$vd6mJjQKH zwm(0VZF=1o-+t(8S&OExMMVB~Ddh$-kbRK&v9Gg*h&)Z!zq!&Y0)*}T*oMntK|D~- zm}qYM8{-ho-;v4{5MjGPEa}?zP1a~8*~m@Pq+Yvk$77*dzj_P_0O#BP=7gyqo)%MI z-$!2vT35)D^%TLUYgTLC3sEUsWt{_JVyYKEl~Ks_&^OCM9l})$mKkAM z4k>83R6zH3$+R54)jAzNJ6tC>R+ErrprYc~1Ot&AriLdW`(w_heioJcSsxtSc4=zN z$$qvT3x<>X`~YIP{%0_}ScN@rh!2>|WgSc`S8U^`+gjTx(*M4 zkhG^ti1mdSa7JRe2-5MCFo2ajtW#6CDhE9W+??Oi#Md)-R!RBc39JfCX*3yv(pkOG|u0 z!wzbgWPROX04IlAAKY9{_gU`aKzFAvi?A_v4r3~c)d$0s1CrvB*ERWfcYEamX#hKP z_VXhcu?Pf$K!#WBA~)TuVW`+CF;Lw~Y4qPr57f<9gBL$wQr*B?$va&Hj>E#9llk1d zp>9gNo|Sy%Mt<@15C@pa5ggXw4xLy_>Ug<2G7#q@G`Cil%YxQ(n04?V6_qmfcw4D7 z?=0}@n1|P*P;i$LW@8QCbpkh8W=R4UKL=!^((9XYjHQPCN@9Ebt)XN;C}WR(;wEFO z*HR(&k=1iwosZ=2bso4mOLw++L+?UN@IysOeR9SIR}u*Me(+-d@e_uf>N) zR+0GX1c5u8HHC{QH|%?u9cmp5FPXI#d2SYdG3OQwYljTM;S8jFe~sTcvpKms0MGX9 z;UI6X#%->t;a2Pmp^V_T7$NybqI^ua7M-3qg&kZwk3Yl{g$9-%WiF|ie>E?o4;Obl zoGZ_*GPiAi5Ntw(&+B&Z6|sZE^DN zl|K=-0AeA!STRqB;C{|XvADO~xZr!i^yLoG9!a7fZxQDu4uTb3n>FKb1tbkDEABfr zDjV5N3^jW_Gc7@(tas51c-9 z6^~tjUu?YT4;tQ`*Uc(29e*Bg>Cz5l(>4{s*qCb;_-50v4>woK2+tg&?^P4%c3w}Y zjS+_QxrT?WhEH8%6Us6|gAv+&_mzpvmoSE*U+ zj+xKoxwJ(~vuq;R=m9HxBI^DW+H_oN zaQ|f;tk=&$D90dT4HrKmE3xev2cE3S`(8_^NqI)m2|tHgb~kN_+ML*7d*<0eH=lQc z@yz=z$%_N}?f*lp<|8sCs>8L-%f zSZ`17gfQ3CU0$Iaw&$!~k$P#nz zH;hl0SflRL;X_8_Gm#LZKXM@pSY>fzcO(*aUG8AhQ5s3$ zH2Vue7Od8ZP}U~J#i=qA<8s5vRG}hh-&G$(r`{vD!?l&Z`=>2z<*SqQvzPHdg}c1e z*(@n<>>NO)7t)uD+2Y0_d0ctkBDZ8X?0;U*y+}osvCTIGUL8Hp*(_72bi=Hbr%?YI zbpau&{dsQTc`mcBn^y-nCkT{pi3G1IuBYUZ2|YXh>bE?tBRqw8Fqq}tCUme#dU*<~ z)0gwI3WwKsIEwdzNGi8hcci|-9%mHo?PQ13cU%=ZzchI%skj?k7&I~=KpJHxLn?XK z>;p+>tT4>Y#%Xn*kXGE+qriF9Pd@sKUctxIO0^_hGy>6JR!eX$x{H$OuStg2$^FeAcNnPgI)0zP>?*T}-{|g-f z1)C(Bt?HQaK=pd014$@Y7Rq#Vb`be+&!JPWUdqo+gDv)H@-{Dte-=bWlNb4Dm~7mt z%g|HY#2vr)I`D2h+M``3zREWCGppGZzFlCbc z<*a)07R6&2;V`9wb=pEXO%gI+E+w)!otJqjsMr`zz^{haCEOKt@j3XkX4U%7CRDZ4dEl>Mm z3l8fxs&69Hx73}D45w0=jhAZe1vxPF3YB*yE1K_Gd=Xdr4hm0Ckg<$K~^3LE$!P~-l`R|zmzo>v3tLBu z*S_ze0AF;e4idwzl5+inb!~n;xR0eIebvtXQ;~WaGmqNab+xKvtFe1QWDf1gDzNw( zm3yk}gx;N*)_S^b_08c~9~zq^ZfS;;g^1#OxT^QuFF-3I)FhA6MXrqve?z5yhsv^K zJlhvCFjlwOsGgC<;fJ2tq>h^|1%#F$lyc_Dn5Tx z5VKiv*$Pa9Jw(snm~@r+#rJD0kikCRkEu|7I;Si=f=2P`vce^B0)5P$In`=XxWmw& zc7^jvmDPg%!(Ud2j0TA{HXLT#Dks$%xAFNDl~%S2(j)pr z*^W7l;91<}-q71oZV0}kS#auxcGrGw@BVX_z>V@^b!fJBU^O9jX-4vDMO`B&9-%e~ zR<||N-%}242?92HDBbVHS&CHMU=id$fL)$4quEC9*9X+(EXp1GB;lmzaM(Z2;^ zQo>-`vjd~<8uyBa4e`A%6TtG{c$rpmprm|dDQTU5m3{L1LejZ4!9DP>cJp{nP?Ak$ z?<7W1VA;tjzieKutqZfIvS_VFM}oTwTAQ3VF33k>iq#_Q&4&`Jho1T0QWoAeUh7V= z+Jwee#6I>n^gZG(Z%&D~nag8&UDYbw%^$f~<#KDVe!aonum?5yhEnR{gZ-)jPp8)d zr)r785@kBRqE|bV-Ri<+N$Ul}?{k4bK$R`duECJ&k`rArr+bWi<6z2zK}YqVTDR8E z554&ieHc%`Qr_142J_1eU)GwfgM8fiKF%r$8%(+^Ms$5Bu5R$n?<(XiHY(|>3CDn6 z>^=f4IyJ!CW4EJzA8B?Wb!-1p-zD~Lm(Yr)`cBFK`$2%Z7-IP;^VVsJgRy?hMCwuhpjYuJx>03u{zdvzHZ0?Dkj! z_S~E};eqD9HY{JMQ@QoFN-;JZh+Q&l2QV+El|W`UgX%#&%N_z@AM5l%$4UTj7VibL zkQwK{E!;EgTwhr;pQtDJ8nyvI_!Zgz&Q1X$qWaItx$=6~*)B;^!}?bm0e5%zcSl;3 zllRW}1sn^WlknjFr70q$#OUgMUekt=LpE}csr1Ruer@wi02CwxIHyvhQ)nInqeg!6 z`s3S^j1xFqx~|wf9%#@a5FsX3FbW!NJph3n1=-F#n>&9vI=@Z>kOlhy zSIwTL0FPkfHQQ{VhN_kFI?k{G1@i|{9oiK%N25#@#NVBy$Jzt#;nAHN6C8szRdrq4 zNyb%DOO7-e8)#B!RqLGMB90bglvPjIoBIOxb)z2UfuQoobac{KOxljZe7j+AxpP`D zsmhN92yD+u)bj)kHQi9Cl9GBs^5T`PioV}+IOM^BR}ZsNn8QhhTnule#=#k@ zj~LB4Jl);%L1)OD(4$p2>xaU?W@_bEIE*}y3iCIv6sQ`?&jeUiZ||B$^#Q*S@mZ=G zAfZ{p2MQe}EXM1;={0B7`NY>|@5&ADE-hVEBP*C0%d1&==bPI-uy+Krg)6pTd9aVJ z>J@>;1Ztb&IeXDcc>OTyu$Mo2U}T4-0LqB{thM(J73D`p=gX0_IzoAk*<)%*)@3k%~ylooid&%d^2 zW*Wqmf?e8^TYVn;foD0Penv&f-FoT`Pxk};ZOo=#Vr~ezBllySjnWUgxA%{C=-ao0 z7~DWwY`xDc5({&6!&&1nWB7L<507PT?)Wf)*13oky(sCZ!Zl@bPAwt7Cvy!0@ST24 zpQCPh++1>;J1j1WIx=IeG96$wPTV;#Ug2y;srZ+q|Ad+HR}Vsl6=xzgie|qT^0};s zRoP7AfXN1delitCq?I=Ez zhv|C5GiLolxIwFQ8lT^<-IOps$^M_q)Z~JIR%$woSEiEXy5ZmdY?qBanw3FErUA_%4ywUF}K6Ji1RtY&R z138$9D8T((Q*jLin=;B|cv@&M+r^lrW0wgyMv?;Jbp!ilVK}WPF2reOX{-uhUEglc z1!pH((BM`pz`>kAoW4dU`jni14KhndR61ezsVK9~6Kb4JwjFLw7O1>)xxzZn=T?yu zh@MUlNYbb+M=v1__F6I7Ym4gQY*OD08tYIiep`Hwq-!=7`eMA(tbNrxv>@;{+nFok z0NU3p5+Z@}*UdX4IYS3VDn+CE7Hf04YjtQ@5+wOH*Phs$>m*v4Id+)q7?6$8b8{q#!dU#neFl4kS}B7hlVy zuEowU`3#F4GDB-!6~o)zf;e3w=g0Pe#i~`mtQ>*EkhibfUw04Fsr4LR*vwR?8 zfzPBA79C8V?_abYe=>~01xUm>rXPH1N;4?V6NneqSo@D5C$mT@f+7>d?hI=_b*d%v zxk}d7P8G0NC~2=N`djEkTl%x4GuzT&g*sk81e9(IO)>Q(l*^D&HijlT)4qADV1Bq! zX=P;^NKk1&fyQLQQ;?Xlt6F2- zt0czt3-$m2DVVq*`_0_UN6jy`bTZ4+7vaxNk-`F*IsQBRo@kLbxJ=S?>;|^M$};V& z^3g8;>OdcjRmzD_9l6Yn2QU+sdrjpzW-D=7bnL@2K6CREwI8$M_}vCQWnfY`n?R%A z+qgTBCKp*`QCM`9gv2m zFf7@ppt4a)X+B$#JmSH4-5{R)d#_Nf+>3_{~UD z$LRGVuGs+$&Sq+y!|5p<=jE1=aeB!ge-0VG@Z`T}9LhVs>gRl>H!xzoX$(csR) z=31dTY(uyqfCB|qa+ULs7qk3?`6Un2pRVSZY$zvp&B^S&?PmCDNL{`=Rp1~Y;2{Pp zq-p->K}z^ZWo5ka6szFpz+^VtrqfMSk(7{V?a?dJPo(_PW4+sj!=P!xCF9wKWqmq{ zYab)^lF_N^m&tQMPd2W4MD7&0r`p{%25FE-#URRCy0b6-7=K71aMwCqXNBIhtSYDP zut_Q!%-`hT6gSai?(uQOmKQ(B>H*E+9Rs$&h3?Eyf^D!DfO={eOuDCXOz@8^z3pNZ zHO@?S+zUf&&dSKk76maJYyj}h8vLh^!Vd$AiBx`gMFe`nB zYjtxG29%fYT>QTR6l0XMmFt(^=inswE?8zmw)x@NTZ>uvD}&$dh=uCQHV-I=7vp{c zzOUB2^+mvkrhg!N5Mn=3-)=j&^^$XRtVXI{!B1o40VpLii^EkUe!bwge|O9(%V9?6 zo|V&P9ZucqU+uIsf3W#pb*3U0QFF{X3Ox<*%e1?+9F7@D&(e;s1uBc%s{xJ+Rktue zH+#aRRKf*(c;THpM5w7_`uwO(;`pH=kiO0M_(>gjE2otKuspen8G!eiSAfiz^7-Xs zR?8J2BlzOO*Z=a@-)h5&78ad9eh5%gJH1=H^(Mx&HP6@&)5Zz)pQF8wKR5XG{G0b5 zG`c*_Qc=CUbaZV|T7uMF3g*v!Zo7a-f{vM+q{&8`$#WU4?=-5n!^1S{wj07U8oh10 zJibZV{09@EyGD+c!~2s&Z#q}9eO zAl1u)3eEhWu{+%*=7~pUW--^LV;npA9e@<$*h6l-3)cE7Ublxwf4D z$KbocIe^!B=Wt@c*L@PmsV4ZE(|$MP%s)~4{Pam)=VD+DA6`CMT>zxq58NMlrq|K{hD?aBZF?hct0@#i|? z=W&MrJl$km?C0KjQfr{_;!z;IP{)4y%a^_@%?W}>Y*d;b{%1YH^&uy-pn(St*+*;H zV^h0x3EQQ0!%8B~>nEnaOmi)nQps`s&t_UPYI^Rc-(keUNTNfPA)#jywVD(cQXi7} zG%*>0lcsvHqx^p%UtyB|&FI(U>QDlWgH%AWx|RseCEz ziP-FrP6k<)z2&`Gw;riqjb!}P++=6Z4cRc3!;L}nLX45Dme{`G!5rdLP#Qj(V*9{rt1FUq%%#Bc-d4wnB*26nv!gO^Ka@tlM)n^?Sfi zGLa+i%Ib*GL;|Ty)<4UZdfAp3(sXJQH@j9;nwjNk?AY(|>M8}mVOxBC80_EoQTK?h zJ-pPUaO&aZzsslgei@abN{87(w~m16{;>jy681vbQUW@tbRwYAL8Jr-Bq|a*0qLni zARwd=LI@%4Y%DXsdC&Qs@BOap``+t&uXFZ)N%qcO`&oOf=XvgD-S?_kLHPM6Tc^u- zcm%?iEP07c-=V^^f79b!XSUZ;oe(iHd#@70sQ)lT0S&~p)(&gk+DId*}OpL487Kv|Yy`Se$dRj2yNXIa5!*Yk|M`##^U^4nK|zd+fV$(En9 zzi}>c%J9MMWtBiuz%r?<@ZWj$`@E3SU3<{*CyI?7uHu(X1$hq61618l3v&ik3f|DE zzPf!Yc`&H6-W}~Z5$ZGXv;-jRS@ehP#uwIxMGU<4s|$q&0;v~J?H00-vTo zd|4TYbmK-ZIe!X?ln~@o1dn~AZe0)7fg**4uK5&0r5UBTt5^IHgqwm#0eU-?Syg;q zTr8}J%dZvL7nboBT;q$OI~djdmFmbzefhZ=9sdNMp4u{*)Q4Gs25r8{>~R;x201|R zLHCQ^Y@0*dCBSziLisCA*zCRdVb7m`4~33(e(bJ)q{%79^V z*uGmsyT46_Y0?4b#AVRoHy1+#X_<4sTLDZ&a?C~h`CFAd^Iz2Lw;XVE8K7>66;^-; zY}-_!?5rGq-VO&wz~!|Zn7#Ic{-da?Yip@{2Q+fy6e`eg#J-B!5?GD!K$`cdh*I*H zbhm-uaW2yaS5u7B?2p*#W`2rteDcEfWsQ^VDZ1HSN}t!%*f&}vX*pYqSbLkbe+}9U zhNs>SKejRkNi|W`Y2^%@QH1r)&&jabYpH=x2dA(DF?SX+_&wl0)t1N{-zd0pfl)ZJ zV7!-TMv&L@%e~VJdgz3HwcOY+se4O8-xK?UQruzG-Ay(VslalGoEg5As)bN;r<<68 zO{^=IAZOlP$PVtU*4}ORaAncarXU_W$Z)nyrI_~P-n~{wTao>EuXdE+B|$IJ?QG@L zhZg>x5j7mzGY$DKCV$duPxWQdS%I86h-QF|_{}R939^`f>rGgMPtC6Yq--83vl!_6 zp?&Xn_cmI;^fSPQT+;`Tj=}fwNgqrCodd#Ikw+gVm%lkX$IV;wbRaNgD(UwRGU_|7 z^QB5Yl|elDl>G2}3Drs4**CxY0{*ITeTl{x*6sO2*`yueNLv-*(Uh&zY)~M)bE#yh zJMTG6eIG3IJWXpnv_>-2GHSzG;i(})A=ot=z3)YX$DWPn#!qz2am&Jnb}1{TfCaux zu0MT9_S)1kX;T8Gx?JWMaIfji2XxEHKg86N1C_rqwnL`K7^+(Z|2i(iOVmKFhhIaP^DogLM#M`(NinJ=qWL;NlP<1$zvF-{ zu-1XsLm1r)Kmnc6j2q13)88YhMBbX+T1I8La0(SoKGIcn>~dA(?zZku+}sy7x?wakcgf55HqD+cjrW(}-%i+4jST9Ry`f?Yvrp+H9D#1{3zDu}Kb;NnewimGo-+D2%6p#r(_!2PyPLhZ&Lm z)r`{DP-?Paranxqsf1k3zqJ;j-GEzhYwfr0-BXnt7BGExj(9z*>&*=(Rdd*mO|?aI zQ<3#dKvKx9Aajo+_?PDyPcs1b{8zvxE;&Bq&Gf0Txn#b$8dOj3Ug6lePXIf~yD9y1 z6@Sk#5!#)nS^8l}Ki>MKN`L@$udcBASBmRZsV&vK_CTg&ImtBA=2=67dVboLT)zTX z=r0YcdMfy5iqTf{lM_$UfqK=s<3@|GR3BYVy-rC!6beMf~ci@O?Jp zX@w`RvsA{e89Qt)h)WMp1AO8?UR~npZ58GDHH*c=y=dolo6Ym1PfLhr6|kZpV%0?^!`Pt*SEh12iYrKR!D3S?r8rC8Guhw&Gw~gr73O{n8a`w`g(j5IY zhstdRQfZa4U?W>VjG!tijY3SQt%9W}|4P`W9QjkMu=*oD|JbGipDhaY@fgDK<9|&9 zidvu7g(b$9=WbL?-M#(6FPot0paIjrS!heFc~x*RuK-^xI{%A~@nWS?OW78B#psc8 zP=AY3CMQOu+?G|pa}vNoE__EUX`6x57uoS8k^Y{xhg%`xE|47_Y<~Vmg5r{=6Mlw z&k9zmtJTV3_eKahVL3sqWyR*1Y5}%Rw!fi}p1keCt=$w(d9`G0E+p^|UCu|Jd~+b0&Qo`5hxl zey2HAbMy-{j=t>Ury^5=)+>PttSbY&SYb4;XTRE~#>~mTCs5tQK)V@hB=fw)IAOEi zI*yFY^8@OK!nU^Fw==ENnIZ4(19va1?~RQtnK+p{K+Ju$ccrstS`kq18~k;>d4q5G z?G)H%l|9nMcTCliloc&!hpQhQ`BTd-+KOQhE?H?vN#D1AO-f0BDJ z-Sf#XpXDN&JpbvwM;&Y-CGn_-lj>87`( zrh-a(2|7r%PXI&m?Sj{J3PDei?@wyA_1!3_-;#ZozU5UP4P(<5YKvfEdq#4f#S+28f21u@ zYw$l$Kk?JuRuJO9-wzO+EAJ*Nhoh^MjxBle>$eF1GZ6eVUijC1yX4cs9~4#mKl4ZK z_}lAA0>*Up{g7Dy<-GnLL0AF+9`F3O**5x1w*BPV=9Np@)BhdF(DCv7@l7*85*2q~ z{gUZ#x#|Bgh{1miK+>M1Z)y<2r{ zrPq&yI<8yx`q4uY{%i04{slBisabys43MuP092`o_$L@PZMFaPPtpJWq%o6|*!h7? zzu&l~tX{iE-bAoW-U1*f@2{1f1TZ1<)m8pFKis_wo;O{0Xvc^^%Tzd0t}SPLJ8S8S zzs~y2yy1)5)99|}>4~fN*^cxaHf4?^YMJszY~b{ifQ(-cFTyszj2-(CU@|}P0D;ly zJyB7F9XslFy^8wDI&1?5#@{CLZR&jer3Lq%gj<&^HX&}l=_~+Cd74)FFH!pG{~Z(D zSGlNK7S@}(NVQ7#1cc8YS;srr03VhJ*8Zm<$_dI>Cgo`W3R}GNco#4|EgnCj|Nk%k zd)Nbdg*-2uY7lX0Hl<&>?jPK2fXMr2i_zriFTdP6bJ^okx)4AhouJ{@u1T#>=U<0@ z;W8{yUgTu|B_?Y>&*dF`1$X9NTCw5K-7{+-C(eewa= z-qU~cv73wj_lWiXr}X&NFo-&H9_|9v7v9qjD6p{IZZrhLF z&wI0EB)_32{suEs=bL8#s$JKD{?}2=du}kX->L3D{dv;(K3TnwXkvvJ)BoOr6EiWn zZjLo1S+&tOJqf3QztO1gE;ngsp+ z%=g+290v5sqKFFE_pf$;dZ^E>Klpg-wjFi;LNZ1!@m??HX@B2j;nB~XeTA+Mfp=gg zWTpy|X_?_(2MrG~@Ru!2PfW~bto|e5OVwh@^B-w72+wQRoSuwj4S$%Q=cJDu zA~2D>jt>vFN>p|hMMfT1uk(0_J$8^&dJX(Yz`c?l!(42vK6h;*lqxzOMoc{Sy&c!yc^n6XB+Hy~ z^k7z81S~Et`f-@cUL-a5#$Q%BZ?J3`24#38)!nIsnjv8;HYOm*)jXl~8Hgb=^}BNO zs$Hkma>rZsZ|;P#j?^YRPr z?=8Evv^eYcQEWJ%{|6ku;=WzZxKqW)*(Deg5HeP$fH}FIG6**UMb;sZBHKXFeI1=3 z0jroY`CxcKr)-rA;W?}$3)kWZhR0jvIer}1#L7cFr{H}6mutz@;pT6*P^yPYdzd77 z$auM#sSVg77y@I|A!Gtgd59hD_R^ZJ1!jgLuC&ncW1SaM&IJH5U=7lVr@$hkvSzq= zOQe-h*(h}YQm-f`^;rxjG|iPN_;lCE0$8@+7xNw8@cmAn!`1x9N{1h3OgVPOr+}jv zH1TXF8lpH$1E7B)|MN4H4=f~Xe8Dpa9x--JaX66Rhc6co)$_bhM@|Y9$7X$JCqe_; z#<^!vMedSkv?)|w`5yu~ErW-G@wS`HbGbJV67gd}MllF8R3jHBdRJggL#HbH(Qa!n z^m;zy7=0n+L!A*innY5g$)wyBjQMhNZ$`IgPL!KnDPGv>BDO?_`I?R;*jWBAs1J#L;R^qs_s^o6!Rp!`edB0gI2CWaFh#&i7`-u>fG7~a2Ov{T3 zH$;sNO~^GqM{Xkp8jIa-{)G3k!4MKTS4p9AYdOb>(V1(>DoG=BKrR708j2H%?3v5X) z&ZsJePLY;$OD~Hk3sU(5XsJ5eG=goX-qH^V$g(|Jf4G=aCSsT%YwK(5jq8Qj{DUv2 z&BT-5-edEp3l-QzmVC~BuMnHz*6xUb!v;eq&a!78+XM_mh@VWzi_?PPa6|bOc1ZhR z1|vMWxYQp08*;VaFxxk>epnpuPSEj4N}kVkO<31<+uaTlCSrGIK>%95Rl$_O z*KG&KamSB3woGKF8F4TxPW`}%fMR`f_bcB}n5!)#^vUy&{~8~|5WBt+vAT%CuyAK& zF3ZMvj1jWhZn!S~#GrQ#0kb9Fd;ZC{WD=}qoJuA(Mb))Pgqv?}myS9mIPuM_lQ zYX!LI-}Tk2z(x^9k`L9}5=6Xw?)HXed$FjCUl!Vy>@c3Y?VSNJOIUpQ{vu^#-!GrZ zv0`COBqIkdAZ`NMnb*bYtFOo#6?KvCU=f_WwZ#hUusU2#tn%iY87 zZ_ZdCoVp)LE5ZOg|45Xdw?2a#@a zo-p0bO2;D}>%a&P&NcaANR!wRQb$1Jny#92d^(?n^Tdj{`~b+J2is@5pF&2E===)P zBP5M2DK%_kYb{0*Ap2!yAq;Mny`?Cg!`9>%R+dFq_8HK_$WSS4M!>+B^bZZqe2fhI zsS<~lP@aeGF5k$U_84e5B#-VM>mt?@jOH=F@Iu2xXClI~J323M<=9XADMO@@AVD#0 zPDgr%#E5XRXXqM24j>#~Gkm=t?*CBq<$4OWj>K;{gl zMQB@q!slLg-i3#_tG(xJxClyM!}%7ZcZ#F&0akXdx!uG{XXSQIJIiuaHQZ${x5eqP+=sx5XJ5OEBYo5=2h9I9CI75e{^$FqU<9D{b0BH2+q#Hr% zm67G5WAfN-WuAh;kI%G`2pala${{2uE!21tmG&9eX#5!$IUyR)^zV zOnu)Zo|x<(&lftbR~2_icyiXYHUSPp+pG4d77elu8lQ_-LT$>aHJtrJGz9{KW04=R z{QP`|`r`pR3Q{WF%zu)GGDd}qJV>Dffy9(y44tx&MjGvP2_*#LszWC#49ik9^_uj# zq0#S1mI|jQ;XV(pX}@LFOu4G`_{n1o?en+4(aGsogoxhV1T9#2v(lx07duH-?y4Y6 zzoim{rVsO-av{_UipzN-MN74YBM7W*p`979(6g)Trm14KD1EpD@oBM>PPZ`njh82E zy3~HXK%mWV`jG|zk7pKe%F(HsR#+_(xsp&%vaNbR{~SKI&AqE9y8`u*M_E$hk1iM% z=cvnnn?mjfdbM{@-IA*xuMgH}^+Y{*1NIjd+s&nFMkQ*Oak?Ds(ofFmT6mWLf(et{ zi#*WGdot@n5z0gH4$)7PIIWrP3+|&_%Jsg`_lOr6esL4?rb<9hwMS8nL zxBy*b8BcE?vr`P zEM_0;NS`6`-|NM(C;)TIeiq)a@+_^!`&S3^{%95r3 zw|`mu_E($~+F>(&c0;4nt7D3pj^$tF3_Owu#i47|_Gc%zT^@JE*8pqOfRmH;SYrVJ zgv?9PGmBzgz5UfPEjVGcSLafg4bS zqw#_oHfNPntS)?vdpN>M=xAyW)avw z@MJY(o%YP&ly{vk;1^-y@s{8C(y7ELW6{d3;uX}z&iQ()<@$4!PPA3q3i@k~@EQ1+ zGQPVEnbzHc@rsx#2y1sbfY!&4bl%_K&fX|8#rcWYLpYTc+-=z06$#YL`V)8&c4RYG zRpJTU@VYO@r3Nak*_U?=uL-aB zSSvJf{um{9Y$`M5nB4-F6?yEppwlF;gS&_u1C+#{x+ycP&Xx}yNKAdGq$VeLKVK_L z#MoP@*x)WfL#)&m&f@!rXmi7}%wm;MlUyumVhNJ@)ahS(?WS)3A#j{x#wO4atTO`0 zfUv{IiRx{s_4O|WpFmMn+cUx?tNR`yT~)v$t}o0*eM4p4(4oF5u)27<#L(%oB+&?+ zd(;CQF9WvhN(7EFo>@|F^A@CqQ1@bNqL1*L8E4BK=16ga>VzJ8BetzVo* z*zZ&?O4*u~HwGTtc%MYCh(F+(wf9UfJE1W-akBmf)QO|9Q+?;Fey0~LIAq5OSiFKY ziXd{ADf!_d75LwVANw}41NDX z&}{Y42=LmL4_AudDa;zAuvsvZd8IrI@Fs}hcJhcxKvrOR^|&zE_vWO^?S4jTldYA7 zMY0tZoh6RRvTYx*L#LGwHqxUuUVN_G_jjJCJk|i)I|}?c^kI(s$Gu z>V;6bA6puTM~jt0Vo-C<_cSHP5A+eJC4-)?yhE0@t88z)I;kiQiEXs zy41?_Wzc{+(w9)D89EoQBXcKZJb^fF71G0DKg+aSpt1IXNGoJQEq!n;qWkKo`+#!+VG($hCD!niGsXB7}QOH84;)p(B z3kq<7t6W36kpwWXq$!wZASz0oH>dVN%G&YcJ~?d;V-4wtKbFLC>OX}YhJ!GyRW=p; z+tGTR%eY%hgMv%v6vbrvyfV9YYGGn7cua%sx+aclYVr#>0S<#!Po`c?ze}SLGc?+l+kqh3Q?m;L z=r=6S^${M}t;HK_#;9Roe5`-@eO5J;YWrI-NXf(Pz%J2R>@P|sg4ZkYNF;Ln1$A8d z>ewcyvlJp?YgXnas1!?1SRMu{)qQZx=p`sLWW;^kvNE4ah0P4C-@(DonjfTl%K=YhcAE{K&I3=fwBlVQA?5z;M~3#I1ucu}eiZ&IdK zjy3i<83y1_RiO)+L?N0U6b=N_4rMjGg$|@AskPy~Fn#ba_&VgL6!T`Y<`~J)eOzvW zW%~Rnx;cedj_ykIs_;kT<)R^1jo;FUD11^A$UB^s&-gh^ zYOP6j0p4)7@~E@(KDoYJIDOAIdG2#-dYnnH13ugPlU&~g{)D5%`lC;tyz(}~s4ydt zIza-2NuF&8(?#pUw(v%2w1pL%<`>kiVsdqjimZO4ki4w!QdBI;L;7mkzfgdmiQn-! z?e7*oCqj-`=2amiWrf5mehsw8^ntX-j7dK($*T2zkvduSneT~!Gbi1=kQutz!k)Sm zE1d_X^@`+(nCkp|NajR{7@bo_iratSw!Xa5UvLVRodi3o4cV(ZmmIpKA|F@maY2OT zm(omkiIl5@i|F*W2zI_kFvQd-^law&4t5DSiwuk}DBJ22jJc3SPBFUyF~7bYN<9Wi zzmnC|ad(ijj>Y<6vV}qSw@d{5*=IS<(~7E-aN5;}b87llXvzF0f~&a^aZ~j?5HWaQ z(FrL3u?!8Ks_smunQOcert$uDX)FkA?crqdwjne;^^4AtfZUfz>0rLqKn4@~L%V91 z4lQ(K)O)+nYjWO{fq8OLIWIFpK^uHryg_ip!?2293 zy;(p#fEFNy*Ow9Ag$M;K6}I&aCV4fn<3emky;0u!ge@II1*QAR^Aj;DXrie|N8UUP={OyW_t?q#MT) z)?2hp1v^ev9R8S3uBP6@BR`gK?}YTzEBl{uR>IV|b|R(d^581yva2&uA7;187)Ski%p5G*V$AzwZIzd^t*G3{#8hOUV=hjLG}>r!8W>Ld7?Vo*P@IN^#hc$a99A2rlc(DtPB{suT>%5j zJ%E6c-hQNtT{fC(+j70f=#T2Kes_k&r8M<<82PsY%ILz4jfO2p-={Qg6}U4~)?0u{ z&RB0J=ag`L_pjMz_B2%LKyksvpk$87oYL*c0zznbgNEg4)PyTqW8&%ZULt`HE`<(G zBcA#RT&2o^gtNj61HBF7_JCrsB|tZUPc}M^epFvUH=>Bnm|;!N8e5wzzWKL^{|umk z?ah2T1T7+CqnD^RH|BPO)wF0BrIde$(fdL`q~D7P;qV49YR>M6M7bqVojxxt!N3P!i*`-z zS1vw+1rcOf;*jejiNTia@Bp5*poYO9c#)9mky#Jy+b^~3sQpz>*w|DG@L3fXa^_G0 zXV)&|s^GI+Zukfx+mz{nE)~wXn}X;uAUGnxDU5KN}$^Sqlw!C?A<9ZG0ZB4KeN&S~2Vr7@-r1UaD9) zY+;MS7TfdFOBp&IR{p5)iyYhU|4bkn4^{CA$Ud7uSvvW1eASqg7}c#{Zu1^3gh+yyV;>>b8Ul9zH2lwu zX$_qSubX*jD?N1~T)2_+`8^G9P{Hy<2|J2iv9Tixef{Brb>!?_uKtq?c39Kd2_KL? zd%&`fehq5AC4GgY3!7TB@?kPmD&4C?URg!HE&(ZT)vjPcfjzbIMU!yjE~(Wpi?G0$ zWMOEc@^yqD`hy-Kq3;^JPoD0jV?Da#5asBbgXa)NyvC) zA4V}U-o!2@WG6XLkc6@p`b(PE>t9g9(P&X=3x~i2SEzLOQL9ZlTqAZZ#Mkc$A89br z&RacyB}sPP5=4Lt?9@UyPeth1I|;E#N1`NvXc3rRLC;A(P$R-W%0`bH9gLh)E{$|^ zVMR#E$WE(a=S;RWlchD=o;*krxa>=Mo!aWZj|m3zSeeD3R5wC%Xw8s z_!!A`ez;IRg$A~m_?YBMpC4(Bl9jxgnjI#T1?vSLn6P`#@5MC(zcMovFEXbnU-m2s z>@k|u;yB%u7?pG5v|su#Hx5_^+EQ|DQKR?t4xI)iy@DLX^BWK)W*Bd5d^!VpmVq_d zj94}gQl(7>!9GIu7svOOBLD)k>2Cx^=OEN6b*p03t_d|S!$dF(3$~HPtyl`f|LNf3 z1|?D=8l;{PYg%iI?l7FDt{um8hHDysBv`hZR_Wm5&IL5~EiQe$8*XEd-&FxWx%z|6HPex(1; zH+Nq7y#8D}k;F$?i#%iM?I~VNh_NR<5v>c&7eHJd)>>{#V%4{YUjf!(rsZC{U|*x_ zy98YNkeJf<|IlTto}(!h4X-l_Lsx&M%%hdT5svHL2!smR2_aS&_ERPd6wD=UEku%D zpr+P|5q1e~CVcN@6Hurcjx5Y03HZJMN>Bz;QjDRP)NdD&&oxV+(4^fES&FG1t zkg*MYm{WxOnCvP@Xsy1fd`jKHR-m1lQyMuxtm2xgxf`+I_uJyeBSS_7zb5KuPOkBc zl#8sN+v{ZLXJ!R>ZoS53WCj3)v?Z^v{)aKM6w3!ek+z0XmNr9_S!@AQ#m0B_D|=ZE z5IHLqhr-SP!lXArSPU+(XMdpG3Pd+i>FB{%Jw)9dKL8xQGzm7>n7lX^|6`Aw&JtZF zbX|A7gIjQ=_)WhO3U%=y;XCAxjc2zUaSqD_7?^M(r;TrHk5!D;ob=;^zba9PBmfE=?`~w zzoLbgrkO+ndu`!?eKSuX@CBSE3jap~32a;=+9f*#D~Wv+@rUbC2}zzUjv9Ff^(d|L zpSTpLa4k9}@62_LM;S&ka}Y*$GINvPuQ>oKP^BxTe&o4|=OT4%jS}o__+#RA{gu^( z8P0%<@l1=RD|LQ4V2h04nU_t6;oS=*Y_=D*d&OQ_$s4jS>Lrbs;&Lqgit`nj{ zDLV>MF&BjaHh>NDOuXWHdiKH-p?c|@bDYIkA%rr0a6EndTLXrOr&ohXV|(Rkp$M$} zY#^Zjuw+Rrp;%Qub}yIpIQ!x6e%}Bxk1Vv(qMMua>BB4eM|_=lxU_+%(aNqg#Uq4_ zqv9gHyskQ^$eD1IjFBa%=@n64v>FYx>K{oZw zHXA4WevS1;aJDAAJT*ffCYfmixl%8l>w9lP>@W+%O09m^*k)B`b=$@ zcK_HFf1BE|v>{;6?>\n\n" + + SYSTEM_PROMPT = B_SYS + SYSTEM_PROMPT + E_SYS + instruction = """ + {context} + + Question: {question} + """ + template = B_INST + SYSTEM_PROMPT + instruction + E_INST + + prompt = PromptTemplate(template=template, input_variables=["context", "question"]) + + qa_chain = RetrievalQA.from_chain_type( + llm=llm, + chain_type="stuff", + retriever=docsearch.as_retriever(search_kwargs={"k":3}), + return_source_documents=True, + chain_type_kwargs={"prompt": prompt},) + + question = questions + result = qa_chain(question) + + print(result['result']) + +@dsl.pipeline +def rag_pipeline(recipient: str): + rag_task = RAG(questions = recipient).set_gpu_limit(1) + +from kfp import compiler + +compiler.Compiler().compile(rag_pipeline, 'RAG_pipeline.yaml') diff --git a/samples/contrib/RAG_kubeflow/huggingface_token.png b/samples/contrib/RAG_kubeflow/huggingface_token.png new file mode 100644 index 0000000000000000000000000000000000000000..c643df81ac395e5e0d0193b39fd88fcd1655732a GIT binary patch literal 116580 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�swqx>)tI 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 Z@_j+oS9rcu=_cUk!a2y<+|xH7{|CngH{JjM literal 0 HcmV?d00001 From 1d94fde951f24c26bae1f08b1024226c4919bf1a Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 00:55:19 +0800 Subject: [PATCH 08/19] test Signed-off-by: sefgsefg --- ...\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" diff --git "a/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" "b/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" new file mode 100644 index 00000000000..e69de29bb2d From c4cdff1e647895b607506f8de9d8381a46f053cf Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 00:55:33 +0800 Subject: [PATCH 09/19] add(file) RAG-kubeflow example Signed-off-by: sefgsefg --- ...\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" diff --git "a/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" "b/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" deleted file mode 100644 index e69de29bb2d..00000000000 From 7abbac5bd5ebda0934dd0a2fbee772138b3d9a53 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 01:07:01 +0800 Subject: [PATCH 10/19] add(file) RAG-kubeflow action Signed-off-by: sefgsefg --- .github/workflows/rag_pipeline.yml | 33 +++++ .../example/.github/RAG_kuebflow.py | 123 ++++++++++++++++++ .../RAG_kubeflow/example/.github/init.py | 47 +++++++ .../example/.github/rag_action.sh | 28 ++++ 4 files changed, 231 insertions(+) create mode 100644 .github/workflows/rag_pipeline.yml create mode 100644 samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py create mode 100644 samples/contrib/RAG_kubeflow/example/.github/init.py create mode 100644 samples/contrib/RAG_kubeflow/example/.github/rag_action.sh diff --git a/.github/workflows/rag_pipeline.yml b/.github/workflows/rag_pipeline.yml new file mode 100644 index 00000000000..ca7eb0facaa --- /dev/null +++ b/.github/workflows/rag_pipeline.yml @@ -0,0 +1,33 @@ +name: rag_pipeline + +on: + workflow_dispatch: + +jobs: + samples: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Create KFP cluster + uses: ./.github/actions/kfp-cluster + + - name: Forward API port + run: ./scripts/deploy/github/forward-port.sh "kubeflow" "ml-pipeline" 8888 8888 + + - name: Grant execute permissions to scripts + shell: bash + run: chmod +x ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh + + - name: Install dos2unix + run: sudo apt-get update && sudo apt-get install dos2unix + + - name: Run Samples Tests + run: dos2unix ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh && ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh diff --git a/samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py b/samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py new file mode 100644 index 00000000000..fbc393425f3 --- /dev/null +++ b/samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py @@ -0,0 +1,123 @@ +from kfp import dsl + +@dsl.component(base_image="python:3.10.12",packages_to_install = [ + 'requests', + 'langchain', + 'langchain-community', + 'pypdf', + 'pinecone-client', + 'langchain_pinecone', + 'sentence_transformers', + 'googletrans==3.1.0a0', + 'transformers', + 'torch', + 'bitsandbytes', + 'accelerate', + 'urllib3==1.26.15' +]) +def RAG(questions:str): + import torch + import requests + from langchain.text_splitter import RecursiveCharacterTextSplitter + from langchain_community.vectorstores import Pinecone + from langchain_community.document_loaders import PyPDFLoader, OnlinePDFLoader + import os + import sys + from pinecone import Pinecone + from langchain_pinecone import PineconeVectorStore + from langchain.embeddings import HuggingFaceEmbeddings + + import pinecone + from transformers import AutoTokenizer, AutoModelForCausalLM + from transformers import pipeline + from langchain import HuggingFacePipeline, PromptTemplate + from langchain.chains import RetrievalQA + from huggingface_hub import login + + + url = ''#Ex: "https://arxiv.org/pdf/2207.02696.pdf", a yolov7 pdf + data_name = ''#Ex: "/yolov7.pdf" + + huggingface_token = '' + embedding_model = ''#Ex: "sentence-transformers/all-MiniLM-L6-v2" + LLM_model = ''#Ex: "openai-community/gpt2" or "meta-llama/Llama-2-7b-chat-hf" + Pinecone_token = '' + Pinecone_index = '' + + + r = requests.get(url, stream=True) + with open(data_name, 'wb') as fd: + fd.write(r.content) + loader = PyPDFLoader(data_name) + data = loader.load() + + text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=20) + docs = text_splitter.split_documents(data) + + embeddings = HuggingFaceEmbeddings(model_name=embedding_model) + PINE_KEY = os.environ.get("PINECONE_API_KEY", Pinecone_token) + pc = Pinecone(api_key=Pinecone_token) + os.environ["PINECONE_API_KEY"] = Pinecone_token + index = pc.Index(Pinecone_index) + index_name = Pinecone_index + docsearch = PineconeVectorStore.from_documents(docs, embedding=embeddings, index_name=index_name) + + + login(huggingface_token) + + + tokenizer = AutoTokenizer.from_pretrained(LLM_model) + model = AutoModelForCausalLM.from_pretrained(LLM_model, + device_map='auto', + torch_dtype=torch.float16, + use_auth_token=True, + load_in_8bit=True # If you don't use GPU, comment this parameter + ) + model = pipeline("text-generation", + model=model, + tokenizer= tokenizer, + torch_dtype=torch.bfloat16, + device_map="auto", + max_new_tokens = 512, + do_sample=True, + top_k=30, + num_return_sequences=3, + eos_token_id=tokenizer.eos_token_id + ) + + llm=HuggingFacePipeline(pipeline=model, model_kwargs={'temperature':0.1}) + + SYSTEM_PROMPT = """Use the following pieces of context to answer the question at the end. + If you don't know the answer, just say that you don't know, don't try to make up an answer.""" + B_INST, E_INST = "[INST]", "[/INST]" + B_SYS, E_SYS = "<>\n", "\n<>\n\n" + + SYSTEM_PROMPT = B_SYS + SYSTEM_PROMPT + E_SYS + instruction = """ + {context} + + Question: {question} + """ + template = B_INST + SYSTEM_PROMPT + instruction + E_INST + + prompt = PromptTemplate(template=template, input_variables=["context", "question"]) + + qa_chain = RetrievalQA.from_chain_type( + llm=llm, + chain_type="stuff", + retriever=docsearch.as_retriever(search_kwargs={"k":3}), + return_source_documents=True, + chain_type_kwargs={"prompt": prompt},) + + question = questions + result = qa_chain(question) + + print(result['result']) + +@dsl.pipeline +def rag_pipeline(recipient: str): + rag_task = RAG(questions = recipient).set_gpu_limit(1) + +from kfp import compiler + +compiler.Compiler().compile(rag_pipeline, 'RAG_pipeline.yaml') diff --git a/samples/contrib/RAG_kubeflow/example/.github/init.py b/samples/contrib/RAG_kubeflow/example/.github/init.py new file mode 100644 index 00000000000..1528a7df834 --- /dev/null +++ b/samples/contrib/RAG_kubeflow/example/.github/init.py @@ -0,0 +1,47 @@ +import os +import unittest +from dataclasses import dataclass +from pprint import pprint +from typing import List + +import kfp +from kfp.dsl.graph_component import GraphComponent +import RAG_kubeflow + +_MINUTE = 60 # seconds +_DEFAULT_TIMEOUT = 5 * _MINUTE + + +@dataclass +class TestCase: + pipeline_func: GraphComponent + timeout: int = _DEFAULT_TIMEOUT + + +class SampleTest(unittest.TestCase): + _kfp_host_and_port = os.getenv('KFP_API_HOST_AND_PORT', 'http://localhost:8888') + _kfp_ui_and_port = os.getenv('KFP_UI_HOST_AND_PORT', 'http://localhost:8080') + _client = kfp.Client(host=_kfp_host_and_port, ui_host=_kfp_ui_and_port) + + def test(self): + # 只測試 hello_world 範例 + test_case = TestCase(pipeline_func=RAG_kubeflow.rag_pipeline) + + # 直接執行測試案例 + self.run_test_case(test_case.pipeline_func, test_case.timeout) + + def run_test_case(self, pipeline_func: GraphComponent, timeout: int): + # 執行指定的管道函數,並等待完成 + with self.subTest(pipeline=pipeline_func, msg=pipeline_func.name): + run_result = self._client.create_run_from_pipeline_func(pipeline_func=pipeline_func) + run_response = run_result.wait_for_run_completion(timeout) + + # 打印運行的詳細信息 + pprint(run_response.run_details) + print("Run details page URL:") + print(f"{self._kfp_ui_and_port}/#/runs/details/{run_response.run_id}") + + # 檢查運行狀態是否成功 + self.assertEqual(run_response.state, "SUCCEEDED") +if __name__ == '__main__': + unittest.main() diff --git a/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh b/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh new file mode 100644 index 00000000000..20562cc166c --- /dev/null +++ b/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Copyright 2021 The Kubeflow Authors +# +# 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. + +set -ex + +pushd ./backend/src/v2/test + +python3 -m pip install --upgrade pip +python3 -m pip install -r ./requirements-sample-test.txt + +popd + +# The -u flag makes python output unbuffered, so that we can see real time log. +# Reference: https://stackoverflow.com/a/107717 +python3 -u ./sample/contrib/RAG_kubeflow/example/.github/init.py \ No newline at end of file From 9114f358a9949e29f14314652b8ab9ebed484095 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 01:15:31 +0800 Subject: [PATCH 11/19] add(file) RAG-kubeflow action Signed-off-by: sefgsefg --- .github/workflows/rag_pipeline.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/rag_pipeline.yml b/.github/workflows/rag_pipeline.yml index ca7eb0facaa..aa456bd78ce 100644 --- a/.github/workflows/rag_pipeline.yml +++ b/.github/workflows/rag_pipeline.yml @@ -1,6 +1,10 @@ name: rag_pipeline on: + push: + branches: + - master + - RAG_example workflow_dispatch: jobs: From 914c22f920daa4b6dfc17d01a169b63d39d24f63 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 01:34:18 +0800 Subject: [PATCH 12/19] Update rag_pipeline.yml Signed-off-by: sefgsefg --- .github/workflows/rag_pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rag_pipeline.yml b/.github/workflows/rag_pipeline.yml index aa456bd78ce..9b132416416 100644 --- a/.github/workflows/rag_pipeline.yml +++ b/.github/workflows/rag_pipeline.yml @@ -28,10 +28,10 @@ jobs: - name: Grant execute permissions to scripts shell: bash - run: chmod +x ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh + run: chmod +x ./samples/contrib/RAG_kubeflow/example/.github/rag_action.sh - name: Install dos2unix run: sudo apt-get update && sudo apt-get install dos2unix - name: Run Samples Tests - run: dos2unix ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh && ./sample/contrib/RAG_kubeflow/example/.github/rag_action.sh + run: dos2unix ./samples/contrib/RAG_kubeflow/example/.github/rag_action.shh && ././samples/contrib/RAG_kubeflow/example/.github/rag_action.sh From 3da269c449d0b62f47ba1fd7a8c2fe4f68d7f562 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 01:35:28 +0800 Subject: [PATCH 13/19] Update rag_action.sh Signed-off-by: sefgsefg --- samples/contrib/RAG_kubeflow/example/.github/rag_action.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh b/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh index 20562cc166c..0f2fea07141 100644 --- a/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh +++ b/samples/contrib/RAG_kubeflow/example/.github/rag_action.sh @@ -25,4 +25,4 @@ popd # The -u flag makes python output unbuffered, so that we can see real time log. # Reference: https://stackoverflow.com/a/107717 -python3 -u ./sample/contrib/RAG_kubeflow/example/.github/init.py \ No newline at end of file +python3 -u ./samples/contrib/RAG_kubeflow/example/.github/init.py From 9b7d548b73ffe060ffbfb97d4cb611d3ef9ba9fb Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 01:54:53 +0800 Subject: [PATCH 14/19] Update rag_pipeline.yml Signed-off-by: sefgsefg --- .github/workflows/rag_pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rag_pipeline.yml b/.github/workflows/rag_pipeline.yml index 9b132416416..6f3b3c46c4f 100644 --- a/.github/workflows/rag_pipeline.yml +++ b/.github/workflows/rag_pipeline.yml @@ -34,4 +34,4 @@ jobs: run: sudo apt-get update && sudo apt-get install dos2unix - name: Run Samples Tests - run: dos2unix ./samples/contrib/RAG_kubeflow/example/.github/rag_action.shh && ././samples/contrib/RAG_kubeflow/example/.github/rag_action.sh + run: dos2unix ./samples/contrib/RAG_kubeflow/example/.github/rag_action.sh && ./samples/contrib/RAG_kubeflow/example/.github/rag_action.sh From b2ee7ec8c23f2b7afb052585608112b51c96fca0 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 02:15:42 +0800 Subject: [PATCH 15/19] Rename RAG_kuebflow.py to rag.py Signed-off-by: sefgsefg --- .../RAG_kubeflow/example/.github/{RAG_kuebflow.py => rag.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename samples/contrib/RAG_kubeflow/example/.github/{RAG_kuebflow.py => rag.py} (100%) diff --git a/samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py b/samples/contrib/RAG_kubeflow/example/.github/rag.py similarity index 100% rename from samples/contrib/RAG_kubeflow/example/.github/RAG_kuebflow.py rename to samples/contrib/RAG_kubeflow/example/.github/rag.py From 10c5fb10458f97daa752b08a21ef49184e8d561e Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 02:15:57 +0800 Subject: [PATCH 16/19] Update init.py Signed-off-by: sefgsefg --- samples/contrib/RAG_kubeflow/example/.github/init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/contrib/RAG_kubeflow/example/.github/init.py b/samples/contrib/RAG_kubeflow/example/.github/init.py index 1528a7df834..c29680818c7 100644 --- a/samples/contrib/RAG_kubeflow/example/.github/init.py +++ b/samples/contrib/RAG_kubeflow/example/.github/init.py @@ -6,7 +6,7 @@ import kfp from kfp.dsl.graph_component import GraphComponent -import RAG_kubeflow +import rag _MINUTE = 60 # seconds _DEFAULT_TIMEOUT = 5 * _MINUTE From 1b982e6898f07ce22115286cfade4f4a2abb5a12 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Tue, 10 Sep 2024 02:34:12 +0800 Subject: [PATCH 17/19] Update init.py Signed-off-by: sefgsefg --- samples/contrib/RAG_kubeflow/example/.github/init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/contrib/RAG_kubeflow/example/.github/init.py b/samples/contrib/RAG_kubeflow/example/.github/init.py index c29680818c7..00aad854479 100644 --- a/samples/contrib/RAG_kubeflow/example/.github/init.py +++ b/samples/contrib/RAG_kubeflow/example/.github/init.py @@ -25,7 +25,7 @@ class SampleTest(unittest.TestCase): def test(self): # 只測試 hello_world 範例 - test_case = TestCase(pipeline_func=RAG_kubeflow.rag_pipeline) + test_case = TestCase(pipeline_func=rag.rag_pipeline) # 直接執行測試案例 self.run_test_case(test_case.pipeline_func, test_case.timeout) From 72fdbe39793274b86f4d312e9600102ef91945b7 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Wed, 18 Sep 2024 14:39:03 +0800 Subject: [PATCH 18/19] test Signed-off-by: sefgsefg --- ...\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" diff --git "a/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" "b/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" new file mode 100644 index 00000000000..e69de29bb2d From 725041e76692041ddfb698c3da9484e9c9438874 Mon Sep 17 00:00:00 2001 From: sefgsefg Date: Wed, 18 Sep 2024 14:39:14 +0800 Subject: [PATCH 19/19] sigh off sefgsefg@gmail.com Signed-off-by: sefgsefg --- ...\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 "\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" diff --git "a/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" "b/\346\226\260\345\242\236 \346\226\207\345\255\227\346\226\207\344\273\266.txt" deleted file mode 100644 index e69de29bb2d..00000000000