From 42f675f1a2ca93ff29a22c663921931041ee395c Mon Sep 17 00:00:00 2001 From: Kyo Lee Date: Fri, 27 Oct 2023 23:20:46 +0000 Subject: [PATCH 1/5] [Release] Docs Agent version 0.1.4 What's changed: - Bug fix: Update `docs_agent.py` to remove a no-longer-in-use error message variable. - Clean up the prompt format in Docs Agent - Context is added to prompts as Markdown - Remove extra new lines in context - Add extra new lines after the instruction and before the question in prompts. - Remove the warning message in the Chroma module, which as displayed when launching the chatbot. - Update the embeddings diagrams in the main `README` file. - Minor updates in the main `README` file. --- demos/palm/python/docs-agent/README.md | 32 ++++++++++-------- .../palm/python/docs-agent/chatbot/chatui.py | 12 ++++--- .../chatbot/templates/chatui/result.html | 2 +- demos/palm/python/docs-agent/chroma.py | 8 ++--- demos/palm/python/docs-agent/config.yaml | 8 ++--- .../docs/images/docs-agent-embeddings-01.png | Bin 139420 -> 100945 bytes .../docs/images/docs-agent-embeddings-02.png | Bin 412176 -> 488676 bytes demos/palm/python/docs-agent/docs_agent.py | 6 ++-- demos/palm/python/docs-agent/pyproject.toml | 2 +- .../python/docs-agent/scripts/read_config.py | 4 +-- 10 files changed, 39 insertions(+), 35 deletions(-) diff --git a/demos/palm/python/docs-agent/README.md b/demos/palm/python/docs-agent/README.md index 3ec9cfd38..526708391 100644 --- a/demos/palm/python/docs-agent/README.md +++ b/demos/palm/python/docs-agent/README.md @@ -125,6 +125,10 @@ The following list summarizes the tasks and features of the Docs Agent sample ap the responses. (See the [Enabling users to submit a rewrite of a generated response][submit-a-rewrite] and [Enabling users to like generated responses][like-generate-responses] sections.) +- **Convert Google Docs, PDF, and Gmail into Markdown files**: This feature uses + Apps Script to convert Google Docs, PDF, and Gmail into Markdown files, which then + can be used as input datasets for Docs Agent. For more information, see the + [`README`][apps-script-readme] file in the `apps_script` directory. ## Flow of events @@ -205,10 +209,10 @@ by the PaLM model: - Additional condition (for fact-checking): ``` - Can you compare the following text to the context provided in this prompt and write - a short message that warns the readers about which part of the text they should - consider fact-checking? (Please keep your response concise and focus on only - one important item.) + Can you compare the text below to the context provided + in this prompt above and write a short message that warns the readers about + which part of the text they should consider fact-checking? (Please keep your + response concise and focus on only one important item.)" ``` - Previously generated response @@ -597,20 +601,18 @@ To launch the Docs Agent chat app, do the following: ``` $ poetry run ./chatbot/launch.sh - This script starts your flask app in a virtual environment - Installing all dependencies through pip... - Using the local vector database created at /home/alice/generative-ai-docs/demos/palm/python/docs-agent/vector_database - Using embedded DuckDB with persistence: data will be stored in: /home/alice/generative-ai-docs/demos/palm/python/docs-agent/vector_database + Reading the config file: /home/alice/docs-agent/config.yaml + Reading the config file: /home/alice/docs-agent/config.yaml * Serving Flask app 'chatbot' * Debug mode: on - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://example.com:5000 - Press CTRL+C to quit - * Restarting with stat - Using the local vector database created at /home/alice/generative-ai-docs/demos/palm/python/docs-agent/vector_database - Using embedded DuckDB with persistence: data will be stored in: /home/alice/generative-ai-docs/demos/palm/python/docs-agent/vector_database - * Debugger is active! - * Debugger PIN: 129-640-957 + INFO:werkzeug:Press CTRL+C to quit + INFO:werkzeug: * Restarting with stat + Reading the config file: /home/alice/docs-agent/config.yaml + Reading the config file: /home/alice/docs-agent/config.yaml + WARNING:werkzeug: * Debugger is active! + INFO:werkzeug: * Debugger PIN: 825-594-989 ``` Notice the line that shows the URL of this server (`http://example.com:5000` in diff --git a/demos/palm/python/docs-agent/chatbot/chatui.py b/demos/palm/python/docs-agent/chatbot/chatui.py index 4b6c64bcf..d6982cb7f 100644 --- a/demos/palm/python/docs-agent/chatbot/chatui.py +++ b/demos/palm/python/docs-agent/chatbot/chatui.py @@ -143,13 +143,13 @@ def ask_model(question): # 3. Add the custom condition text to the context. # 4. Send the prompt (condition + context + question) to the language model. query_result = docs_agent.query_vector_store(question) - context = markdown.markdown(query_result.fetch_formatted(Format.CONTEXT)) - context_with_prefix = docs_agent.add_instruction_to_context(context) - response = docs_agent.ask_text_model_with_context(context_with_prefix, question) + context = query_result.fetch_formatted(Format.CONTEXT) + context_with_instruction = docs_agent.add_instruction_to_context(context) + response = docs_agent.ask_text_model_with_context(context_with_instruction, question) ### PROMPT 2: FACT-CHECK THE PREVIOUS RESPONSE. fact_checked_response = docs_agent.ask_text_model_to_fact_check( - context_with_prefix, response + context_with_instruction, response ) ### PROMPT 3: GET 5 RELATED QUESTIONS. @@ -176,10 +176,12 @@ def ask_model(question): ### PREPARE OTHER ELEMENTS NEEDED BY UI. # - Create a uuid for this request. + # - Convert the context returned from the database into HTML for rendering. # - Convert the first response from the model into HTML for rendering. # - Convert the fact-check response from the model into HTML for rendering. # - A workaround to get the server's URL to work with the rewrite and like features. new_uuid = uuid.uuid1() + context_in_html = markdown.markdown(context) response_in_html = markdown.markdown(response) fact_checked_response_in_html = markdown.markdown(fact_checked_response) server_url = request.url_root.replace("http", "https") @@ -190,7 +192,7 @@ def ask_model(question): return render_template( "chatui/index.html", question=question, - context=context, + context_in_html=context_in_html, response=response, response_in_html=response_in_html, clickable_urls=clickable_urls, diff --git a/demos/palm/python/docs-agent/chatbot/templates/chatui/result.html b/demos/palm/python/docs-agent/chatbot/templates/chatui/result.html index d02d95425..60d1a30c3 100644 --- a/demos/palm/python/docs-agent/chatbot/templates/chatui/result.html +++ b/demos/palm/python/docs-agent/chatbot/templates/chatui/result.html @@ -22,7 +22,7 @@

- {{ context | safe }} + {{ context_in_html | safe }}

Reference:

{{ clickable_urls | safe }} diff --git a/demos/palm/python/docs-agent/chroma.py b/demos/palm/python/docs-agent/chroma.py index 403ce462b..c6d3a46a4 100644 --- a/demos/palm/python/docs-agent/chroma.py +++ b/demos/palm/python/docs-agent/chroma.py @@ -69,9 +69,9 @@ def get_collection(self, name, embedding_function=None): ) elif embedding_model is None or embedding_model == "palm/embedding-gecko-001": if embedding_model is None: - logging.warning( - "Embedding model is not stored in the metadata of " - "the collection %s. Using PaLM as default.", + logging.info( + "Embedding model is not specified in the metadata of " + "the collection %s. Using the default PaLM embedding model.", name, ) palm = PaLM(embed_model="models/embedding-gecko-001", find_models=False) @@ -138,7 +138,7 @@ def __init__(self, result: QueryResult, index: int) -> None: def format(self, format_type: Format, ref_index: int = None): d = { - "document": self.document, + "document": self.document.strip(), "ref_index": ref_index, "url": self.metadata.get("url", None), "distance": self.distance, diff --git a/demos/palm/python/docs-agent/config.yaml b/demos/palm/python/docs-agent/config.yaml index 21f2e78bc..44e5fb7e0 100644 --- a/demos/palm/python/docs-agent/config.yaml +++ b/demos/palm/python/docs-agent/config.yaml @@ -73,10 +73,10 @@ input: condition_text: "You are a helpful chatbot answering questions from users. Read the following context first and answer the question at the end:" -fact_check_question: "Can you compare the following text to the context provided -in this prompt and write a short message that warns the readers about which part -of the text they should consider fact-checking? (Please keep your response -concise and focus on only one important item.)" +fact_check_question: "Can you compare the text below to the context provided +in this prompt above and write a short message that warns the readers about +which part of the text they should consider fact-checking? (Please keep your +response concise and focus on only one important item.)" model_error_message: "PaLM is not able to answer this question at the moment. Rephrase the question and try asking again." diff --git a/demos/palm/python/docs-agent/docs/images/docs-agent-embeddings-01.png b/demos/palm/python/docs-agent/docs/images/docs-agent-embeddings-01.png index 79df22fb6d1253f77154089b41caf523b60d6b52..32ac4dc5acbfd40394fa2f87f4a016f41365d472 100644 GIT binary patch literal 100945 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 z

1}3_w;9v4C?m4ax6xsD}j`b!5~2WIrRUo)nG}z;$9R4N@kCuE5r6aL8h}nfh8X zE4}<@32!hhzP<~j*REP=C*%iE^16sMHq$C*11Y8@-gREpcR_RE&pj^TCvY=$wsdS} zUl5j+)ucMOVC!sWDS^tn(}=E-r@zSS=mM4U7%va5O`tnqJYjwofI=)dXNiiM00sQg z0nE>*3<5d;|1!^Nyf|?vjop!e<}Fw4>V=v(fX=+zVS*e7e z8!7&-qfECx_t}RR*%J~qRiA@##aN%qGB{#>s#Hnm1srvwz-lR`zE-|dhWe!>L%*1V z)qdS_`=HRjc?%>Xa5MGxOr!bo$j42svq{lEDpr$3Jyl=pBq1TRSOi*g?e=$-73B59 z)2;m2hR-sHR0d~ZDF5E9+AHk%6oQ!tOnO#bmRtmxN|v2tZ!BN>r*JH`u?sao$L*qX z0|@!jw0arN3KUb7?!v)m9K(OC&Rc^8EHqUrr>)a$z@S))Oh_Nx zeOVuDi{Z2DrA5<|^*lTL6c!W7e)7J#3~D4SjA-$!!4-}B)o&5|mJ=lyODguJ!B*}s zm%j0?_%8#y2LSJ;aXXLJ-~!^52nh7kxdumhh|(V$`3)DEZuDltLRlfjrD!MlffMlS zBf$=V+xREFpFSMUWw-}Q9hR}-t}GnP66VPdHiiT=TP5B341pu)@ExGteoMTz&Jm6gU9KfrfY4%{He z?#*B2lh+k;-Bh!jEKj#=oCiQhTNBH3Om{-ifs9kARul{9x76Pe5)SOIkZfk`--l$v z7UZ+KC*|Y``0)pF%ME}ywJ--RhSy5x`!;<&x`Kg!6c1GLCMV980gB8{VDS3h47ND@ z6?Lx3RaD!XQuQW}58c(n0i~V5epi*lXOU6LqSr!zk8XTlKKYjs11cF$v3ZV-@e zkdl<{z6C_OK}qSB5Req4Lpqi2l8|oR&GUQCf4t{BU;kg;G0qr#QHNZy_g-tRxz?Ol zAs2 z?d1Rv(pKS`IMnYknEMa_w%~s?b^otv>i&O_K2GfYt9Fx%A&EyNVC%a&*$Teqyqk4Xv+s?Sc_36%;<5sUsB>vP*OT|zvA`ry_AYQomnH5R;3xLw@j{l8o z3aWfc^F;1y@T=8Bh*xZXVo#!5368>h?r>1|Y9??y&tvY%Y-Flt-&1p#Nuyq{GOcZo zbp~cR@pY{tgU6Co8#;$v94@7T1HK(trc;?RQKUMz2!(sB*az9$SnBL%Qb6cbx;oy7 zeh7@d&t>nw!a8Dv2aN~fREJb0tB!NaARSx$c%bw4?($lyr*?VW>+HY3TbY{N)sO9! zPrA~${a<20+)7>+#(=nJSfx zt0_KRCtve7s73Nx!dKfuE@K4`&+#7*k9>Rwh#P9F1L_LE5*(1PKuZoMHM) zI?T7`7BZ3AWJ%8>&-(!B(VuL0@hCG(pmya1+*5Xo&3s^jv@^@XqN*LnU`xS`HB17pW;f9DVE*s>H)Bts z_Kb0ymWn0X6=~>-yHjQKARp8hJmHHD`Wi(4Bw^&{W$N8rtN>&SJB zk;PR&OjdI$6zIQe%H^y0`zNDGm!hyjo3@wl1dIIb*ugq_BB_N!$D800nkaM zc~kz8(|aMV{lrkz(`eC=L;qgQF(sF5lbHXsxhlFZYV$Y{v3?5-5yWCIqusz^=|0ojKQrA!3mAUH)A=YttxF z@wVf#A%N85^<@ZrZMi$2yEd6`I43@{or~G(2?nxXC^ZLYaAPO+uuus2-X=T?a5a3r zK}M~wl*8HhB>Uz#xDK_xujTKcO!Os^O(d~cjN4s9V~Zx0oP4)WHcHH-olSR!$;PMt zRE#@y+IY{N+QiA{3F%q%R3I6aGynJC43xAbMgn0h8KeA1##7|pd=6r9C#eU0_tZLP z@*jBG$WnV%A+qVkpO?2B(-c#ljfjN^9hn&)EuSxhjW^6uU2R+hVTfosseQMg>$jQT z3RUv7JQ@D#a$wf}txKcmC54!Z1C@-iB2M|nK#}&Gca5__JGYRtS#KP6=(qw*xWwY{ z$KY{q7V4v%(SM#5kvy0h|xlHxEGrHXjC`0pJ^N z_4V8t%?bA8OPZ!UdIxQxqzF%?h>0?|hZP7t+xJf@NEEiB1-dtw!tG^~|xiCfi9aprP4n zexDK4HUA#_AB3BwL{TgDhn$S)$Z*Sl3{jwPw)DhSg_^=<{oJKjWg%|bKOl+p26F$3 zB~2{)Q4d&c-tFX@!Hzra<(g$b>!QwACmZ^Qb7hSvVNut&yIREWRP+Ag4F5SV+cJhV zp6zX2>DS__F7KQ5vZeLMiFl)Kl>FrEC`^Tljn!FA%oF`E^7RX&t?6@Tn943UaMtj_3W3vdfCe~tB^iwa{dB;4bpjHuTpzjUIO}Qu zcou^|O;7ESdfN5CCrmdEz0X-6-uCL1%$ucrN8~9r?~dBcl?@1~^%q>>yV@QMg3I^3 zN#M*4ETEW*m`SJejf$tTb-q~`6xu#hdZ+m!YrgS9{#fThpUt?D`R{5^(n;Gz(xox) z6h3^oUFF|-2MC|Td|V8v&~BaVACE%-Gu4zo12o79m`R0fQGd;5o&!V}CIC*77Rb)@ zKw*pD45h)i4`8?>ikfokA*#B6wW?g}uJm5|{ z&c`+SNJ@F4KosNBX~00D18Xb79Pww;LORBd(cO1@dhZAeSGJfc(AJ%1eC+wiSP$LZ zT7&D0AN@f4DolJ8zLm_u`e zf{ehVlNMhT53eHcN4BEjg@lhi5D)r5e*<;8SjXRywpf>F>8d-S15?~u{dcPhn{EpE z>N`I{{+-=KYIE6l{JZ3%sFK-A`|VI9Dat015Ve>-*@c#Kr~V^vhq6Q_`qE&UiR$*+ zgZ={Jq)q2!YZ=1)6cI}pUkjc^NZ&-!Lm$dR-tpwe&U)i1!$O_?(|eaI57Tx{k-0!y zdIT5WnTK3Sau~IJa zA%C&m=w9w8%~P{#D{~E_=A@TpE|b>D%vbBQi7Wn z{zhFt4lsl9^+*(&a(kw(*>7hb3`GNtZfKQ0=^o<^v6b8#b$0%#GuxOSv~o-eP1M;d z1#_1y1!Z_1z904TEQT=B-7`h=7N6CV^@9QH)4i{XYvYAmzglclU*1{dusJS%t=F`% zFrGQ3!3SA}h2qX26c|cqHQ1J7Q9d?%(1>}r1AAjgQD?6BXUQOz14;2jJht+Hg)T5` zbm<|s*?T~=$DlmGhCjru(g5dqxmm`yV9j^X&8iqkAZWt(3On8b1^mF}r@4)ejpi@i zKCokLwBx}zW4tc*@SD%l(e;G<1166WaN8#48Rd%5@itdRH4W`h%ek`|8OAB6_oDeS zt*I8*55}lxM>5P9ia-zQ)(UfMqY7?HMLi>&L6PcpM9KJKH16Kc7ciE^p(r!bQ?r5+{fB9T_2Zn`3CZxB<{~rz)R6XE+bD# zFfl@7K3sczr^9Tqm$o1wDBF6$q*GK}yQ5=rs53!W;=U0=fA0e?&Sz%1d|dr2>gGoPj85(B#lq=_1=^!wJmM>GnQa z#+(`QXi)%DD?+_G+hk$C%cI8O9}-9mu*XW}?)t1ir_wlq%Sz=Hpw}W1{@}+wj`mtG zaj6_UUpivSV6U?`n&*{2ELNjq^<|HDZ_9jEBlZa^q?mJy)vhPM#@fuhKb0%=FwLB%<=rp81HU~ZtLz%Z12k@y2BXV%E+Q;m8@VA z__a2V(}R27osCk|*vKIMAj969Z_il1UjG-3Ad);&XXH<-{WHk1S5M?#W`>%=d#od4 zi5Ow?=O=1bgZFoBBgi+G>&EP4F6AZ|V)(0<;_q+vs+k zb-!IK1)7LnttVEI$@)Y6WFIy2nNRrukiZz2VnDAe!J-5cLeu2xLV|g)zovfs(|8t} z1Y-T{V)r?oa*<@p*o4%wlSof{3m1W*`<#jk!NBfpK_HNy-1XL{{yiK)H*}QLdNt!# zF1Es7_3=O!%Gx`tOU}9f=*rmEl`hZX ztzT?>ow4}Y%(XH8Dah9ox2c}~{}#3?%ER}A(!pXp?(mG^S+BRIuNl#U=Et?!QeIZ- zizr?P_5ME`T}Hg>OcnQLNN%_7;RwljyDxIfT9=GFeXez5irjQiZ1}Z!5jK zz~vK50==)xqYAEk&QHCNeU_E@Tjq3cfx@R(9=G$x>NKc=w?@kSTIC0tYB?dl0ZqnM zu}2WcWcgL`-DS0OD7{^v5T$vc!-Q#c>B+`t+wp>p!Clj0gVBRp6!c3d$+rBxq3j!d{zEBQ=H6Xtzsb2O6N;z%m&w!EVBOiN-vKqyE!$r zGh!lY%7~<)GCAMkk`jFXud)F~O;Vml!|y&>wqM3bG>rkZB{kz@F@y(gx=dM735MM$ zt-R-U-G^XaTGW|aXz3DVT|8f$RQpGdzOQjIQNV<4Do=OPd~&kTNXfj|c$BA4qA1iR z;uo6zP1t>m%e1^14e4SJ2&QywnX0r-0w(+k=RS(=PyA}FtNeb{CPqg@ty_QdP>_99 zpu$wApOWa;?ILe$uFtyhEwGnEPrx&=9u!1h#>fHx+=(4`Ys%8{1wviNbD*varf(|A z!_K8h^J28-js#kt6kVh2^J{%E{zhJRqZqrc20z%a@g!JT3;JGC_|c@FAdX*&vk8JtWb6^n8t%r_pYKe1@VDlD#$ zIGgA6b@LC$qD~7qxHbQA9PHB-@jG>#{X5C8Q7!hM14H`!-k38v&0ib)t+WccpHFt) zyG8xhsXHSfJs>o>Pe^ZG8q3rBxhr@W_{OiSJYegpW_QUq>qnNA2=%DAn(bM3psBMbGcJQecc!JY=S9aVTjbYJ1bol1ZhTKq-T8$~e9sxP zo2_}%!cT6TpX#~ZzS(RZk)qdeaXnrfS2*6t2!>HCvp`QN;$AQZh=0*SNglFEQIaMz zi@X@hn2BtPv858mT6gUycX1WkV%p&t4&(GHO2NRHlbRd;Y(Q`r@pdElZKHU{lY~M= z25DS;gQU<_qMoyl>>Y3Zwvzj1^tHnA(@f_6CGK{3?owDtX711O-eL8YPU`nd0xD!w zGV0We7bmj1j2k_(RN)+k_H}a4QUVwd5^~0!9gLdjn@*B{s#H9kq&u%tOJR+?7#rA` zQy!wkllOwWnK4oH$$FtDJmJ@ahJI4#|4TxxVyu)~E6IB_W8OEu5M7t*nm^-tq#jEY z!{FYQqs>QL{k@W;^e)|Z)Ny?$v2M3z@o$Q`);Re85cqOC?+7-PV3tSu>t`RE->dVm z^XwRF*`;D$NKsUil0vcP^lV}bYb?T@Mq0hbK0DbS1i@3hMub=nrqG(0m@w&9eI|X= ziAwmT{Rm*|9ze zJ(JV0!DMziV%(dEt&rU)P*#BXj`f^1Z6=s^q(Uw}->ccya{1E#boVV>-Iwe{PH);* z#BZjv8h<`(^1h+1MjYIKLi+Q%TuTsrUY0ABP*`=?{(5M0?M~E>Ksm$C>4E(tv%tRI z`0Q`fjtUHjLPJh3tn;JzH;07}CN4Dv(!euRSlvgx2A3@1RoVTwzLdrnPod)N_fUS% z(O^Jv)IYGMCpN2o;tYM9!3s2gL5&nb4d04HQ%|uioXcU!{_zL5CR>~nl@mV3EVG0j z|CW5%u~Y~m!iAQten#mxh5{10-5cJl&sWrFS5J~L>Ng+?_B%PZL3;b|ymIX#2NQc5y-FS_`aT0Q}%3mr@QJu;1xIgqr1ptWK9ix7c z|6%IKHWXe6=L2JR^XAfz6xJal>3u)KmxvGw;9Td4E8m3vOG1Ny&~Uo)z?NFlrurMA zufLOxK9|tYZP`1zAKuI(YI_0c-3`WXQO2{40YlKfB0sm**Biw88@6!C`|-wCx7 zGDRZb;S1WcKI!>W5YL6ihk292lXJWHJEw6yizg$}@^HK-iBfs=TdsZGkN7o;IQ|5- z&1qElfET}Wg5P#n|J1E!sL=6=c&=o0G&Sh`10B=J6T+T9Pcu_#m^-3w=4pVkh0dx` z7{w~Z@f4czF31>)9WYt}cA6axGR=;1=Q;#A3}#k|S$8b=RiSH<(6D^NZTZN+-1jHW z8j)wEWOvyn&fKjOTO4j#QdrtKH;q3ZT2<9p!N3cwMP~K&Y@3ev-@8_F*F92`u^VS> zbcQ>!V9FUf1t!!|DpD%Ci}`X|W8UYZT4}Ssu-TMvhzHNz$_(mOPW7?hH1r{0qi=MZ zRx~(?rrsueHm~S=i&7%qaijd}x5@eoH6iV0&cKLy`V6`J5!}ub7W5xeT7nq(Sn7pJ zOi;SIyXbvtp^?I}qC06Gen_~m=Je&6zdb(ldYc@NL27(QppCEmLW@_JtY;>32uXl( z`(9jSh{v$fn!x*Y97y>7Bt_ipu%bH+D)p_?Z?e!%Z>MJ`A%BCLj((X3{LEp8VB~vU zUy!%qRd4N^>J_PET6csXpMOMg4T3`oc^4#vLgOyLjWH@q5mc0ER3MXoK_(%YP@g|lcpuCnmii>v1{t1oeBCTw|kb>Ku0g@V#^gU zkjUukv2TZ8;XR50@uB#P2&1t*?c??y40^p5hl-Y*CT~osj*d~sS(A7gWQgM1y;4_b zPb$u$tIKq+b2zb_G9j(g8iQBtwl7&|>H^D`SxVC^HdN8b{{565OU!?{W}B?$^H-$c zZb>LAc27snk8=E-!l034r4&Eo$+vD?)vfM30s0*7>9Y=Fsx@*b5`|jp-a_k;{t)8_ z`Tp_B@CCVwZHbHtsWP`Ox2b(M*y=E8HlJeBGM!A0(?4TMT$Jn68@}ANb(GmBl~X4g zd0&#JJoxGcrQ#9fDD(vUiQnqAnEaeDz_uP&kc?)vOvROa`!^QTwgPc_3Rm!8(NCIM z=w3O)D@$qL!?MJ%6$p5kG|j<2h`|6GqWoRdx*s(d(aYnq8iwvn*e-vQ78v$YXN-~? zm*(iBwqa4Eyj%MwuQngszGih8o`~^Pw<9~%K{#(Coo#H8Jp4njRK9dLb}b+)mjAq~ z25aC!2NH=wy$jb)+7hZ_#tXp(fl)QgeGYp9RSFUt8MD5|;i<4fHv zJ2>NvjCw+;Em~Wnjm)YH-U%Pw>>Pd5H<1rM(=E(Q)I_ItIS_oSqhnW{`!hsItJmgo zA|Mlc&DF|3v9N3EegCG-G0yPt0f!2EOK-*E#D@)2{oFoijvFCR)l5rdX!P=3XfqmrHU;Hb4!iE>tkV34(ewPhcRP)^ zY_0d{#rW&}4?i9km~zM8>(0-D-XFslR37zz5w}>M^A0(2eYLe!F4g4B+{`lh9#GUEAd3_DCK*g@ zh(Sq}guX2Lgc7+M$Sr*rh~@9tf`@gD+vW~wAtkY!WYs&M`3-99x72L*DLAkFKIeP+ z7QHqYgeNihVFj1oCCvBTX*|FUy%6|W8xX$}#dJb}V9NhY?bn7`Yy1?~pE<2@qLWDHZy^Y~La~EMlj;AQz9kE*&no;CSb1cMVtHSGauk;>qE&7-GGwrpa-+n1pTunLH^zC_ z>)2;(x9UHBKYx#Dz%y5o8{PaR@_bO}_p7v|-wrEgPA>vj^a9nqJdfDEXGW?od4%#@ zhz6b^ZMhsc&jV=0O)ND)klPfwkDQ=-Y4mB;&6b>m!yaA`deNAwo%~Nh72K1}cfS!Q6 z7yQfiCpakf$yBu#h0S!CAYO$vCeu%=7nRD}b>b*S?poYLGI)*hKdz+t1Lfr-{K&Ew zr<6Ow>l*nLgy)z*(10*{PomZe( ziBlsk7I-RsXxtM>!DQ!{skuh1n85SxB%Nt$hTfR?kH*40ipK7uMjuJ5N z-uVXadKj{{y!84`i&KhYLe8%Q6JKRvMi2^?T7ERo2P0%dqxyglD~$T|^{JI@6aqY^ z69h6-X1C%ZH>dOBMQp+~Hff-l_6kgL+7m@eJl0K= z%WM#2U&AW#qx&_22qIc4Qr$7l4>Yn786mj!QyJ8d@$6bG+i%Xt#YxEDnnA) zvx=-#vvoxpfkt4W%CxgQMuHxk#h_`f@+=&KS5FTo(FH;|7B(Z+*Usg~$)*M5`BN3z zcHWk6-o=HvGwEs{yKP$?xm~h(M|oBXB=DDGhy5htZ*E0;Tk!M~d0}OGbL7AzwM8nx2GQeKuaN>oQ%Qf(9;x=*u{*5Z|% z5U|A<8E@mr6;@g!EpTtj7Df>LZeIr0XDG%V26p|z!&C47vqG-=Z z%xnKyF}ZeWzTT283cSrxy3ZaGmh)W8wvKCsUqth)$QUKXoe$84f0&k3Z96Y_8Ku>4 z(^UL+>E@PZ4M~}&rm@K-taX);itHcJvnV;9bK&4q)&J@zt1rALY^YUnUiLu>-G$MJ zo2TNF@my{gqObj={Wo=&WV#4uWG;dN=-Wz6u4&>h( zC9M4umsQ9`Uy*9Ire`D;HJxSufpR>Rj5=vBIzUldbVnN}R!v?2ar@hOb7}F^1FDOa+HrD8_NKoqZaQSf%-3BO0!`R;8bK%|?aKaep!KP+Uo4 zoZp|+!R@g2PNeqDw2GSQpZFjj6>C#xGJLW3b?Fi;2~ImA1+)c&DT?+dvF@%91!v=8 zY}5OVvLwcPb2E-+EDv$0G=_X&hwT4B;Cj{DMl`NEE)r2wo>dpj%Q|aki;e+XKd(cS ztbP66-aL#FjX`eZ^M#tu$mQ7V!O6~EY9*a-Fmv2djCs>Yo>DK`$jsz%$Pq{3sfig% ziS~C1wbH4cdFBwD;n>&C>wlR|Rh^F0KB~0G5QE?mh79YH)xO0K0Ar-~ME;73qiHgV zlfcX|hOWIoM4+Tfd!@?Bpx!=bzOl~S+IA>30KB`mkYT_;1jI7YK4~SnG|JF%6dm(d zz-{nbd%h58@gZ-3#;p6p%ZY+pDi-TvJnwrMi*;88~ zTSz1E!U``L1$lO?PMyQxVlabOvHvMOqv< zE+Tv|cXGhP|FFJsHV1diz^(RydOnLMA8IyzgKIwVR}t+Bs2SFM?yesmVDY2f1$}sC(3jrcDxQny(hzlp~OnkOf>|x z*J1ScFCiH!N3x_!3troO1Dzc>%*;Hb0QDDn%Q7Ae$%I%yRIXaLWHGR558F%z|X5=PydWhqLl)cn&?k5H%V|GPW zWHrw(VxJ=uK0Es?S+2$z_D|3h-h3lFarkjgvEtAFN$}yzb1AcekrjmvV%$7j8=MIO zo6Nf}^8{v7IE2*e@*V0?{-P!F=Bya?75n=EP2)VBev zlD75&4k}J@3e7O0s1Akm)k$JZdoO#zXgNkLEsE%C$$i)uKfT{T=U6B|K7<`sl#u$& zW_3cb-AsiSONyj$9(PIwBrq6lysYdq^ zy~Dv1P_-M=up|M@QlkgTv~n~Fa-{8qATnsea?lQN`|sDF5JpIla1|OYW^%>G zqLO`aGP>-6@5YZMbip`i$Jm7*7SQCq5~HV+-zS#dg=a4J#q3kbM$m8kPGjd{I+dD$ ziyrDVr@tk&^m#O1PG;WbA6dc53sv_b%ysq8M28+4{X%^&Luziy9ua#eHr7@a`#v31 zg~rpjtrI`fyREZtzgi4Il8U^v<1sVmq*f(5ZaB7_MK*D^OschKZwiM#H+6YiC54{U zTkluS_bMF|?oxZB3*@P`}ShzQC zr|2h358p%zWY6Nfar$PWnb<8wfsE$;2Ne=SJ=)^!TITrfWa*Hk@%YuxkJThr&^J#( zlEZ^HXpv9jeOtQYU09a*j)UST_%Y_2AQ(v5D=!JeEq?b=WiE2e%M%*;q)Ii#Kd%)k z+r6DS;2nJ0PyAhxJ@~DDL+W|C2$M^A-;I}$L_&jRp|L5G8fzOSW71uZpl?RixBlUD(sF4i@rdcJeFpLUp0$H$(QlQueuh~CnaeY%-q)Oenxe!+ixmi_Od{$Rb zrRJ?NdN#dSJDu}%LRCU4@$V$2JU85412H7LXEj66UC}Gn z@5;<6Q-gT1T-zg!qxPLX-*1Wb73i+JzLZ_PQJqi5?bXRdJhj}va8!`^HZp&iIQBKy zOcpFO!Q6^`bZCxUrud7Ob6%X)F~8;u9hV6FGpl`M3u^wT>6OHbK9hkb$J!{K$(-Ky z$BKBVx)jw`rj^MP1mt6R^oNWwH0${%QOuziii|EvvnTvMnW$tmK1R=H@vtE_R5h|E`YW9j$8y==31Z=+3q;doDTfpZoVh2`FLQ`Nf#UWR_XSN76rEI1Iuw;aJ9EQ|k+S*Qx(GIHgtxHG z6zM2DgkqT!YX6t&SDhU}GJ{%&|POawCdx0cX&tBBcJU+28nq0g%YDFr1caG~d< ztx^T)EcJrHsi_2{B0fpr!*C=^OS{8>i^r@A2WKh$g=t(OW{~(Q4JrZ`4>HgKWq?`m zJV7>_n)UT$(L7r*L2)>!VS4*cV(&K4T$R%QD$`+KZKGzOSbhm^mVd(bhc-35isDF4 zKfjG%@G#zv4kPrF{z}*G9Z?KH|8Eg4x*~Y4xl%OuW)DC=unR!3nafKxOC$lJt>S!V z4X9krgVb8>-p@GDj)eBh#@^zYqreI>m*sZY`re+M`!hiaIH;rw97Lh-m#OLr6%=Xp=S{;Na2TxgQGIGEQK>2L8q8Lu|))w~&l zhxpLI!K7o$AnCP8^WV>do_E{Ua+b$VC@4 zN7qwIf`B%hN({Wcf0rBdl!@icGcK~ZF|Zx<_o&;Eq^MRD?P7x3+A|()vj2X zk%C*s3rCT{w@MhJdjyAFwVzyy3LMPSo-!9HIsI|&seariJV-Q5rAkTv^=cb2g}7?_u7`1iGHcIT#*)oKO7MT8L9vfaMK|B0e9dhex8hHYCu+ z6NW?*uor?)LX{riGJDt$#B;^|vp?p8+pDP&3tq5hYpQwxHQ^-ChD`;y1qCfW-u+xe zJDCBp-@|$4^w6D7$Zs=MY&%-1;mOH^k!xIP4{p28`7e)*u@X8=I#erD(A^ra#!Ri! z-ZiuZ!OZEUkIUMT*xqfY8cGn(LyY-mkcjjYCcX`RH!`W%p9*$x-cIYts^~1BV4O?B zyeCR+LBO(fGKtBZ=TWZ|eG}VSyD%50+2*pN49n7NsBay4U+7lyL#Ct2-kG-~%LPT8~ zCI&+js?-4GVL4Gpqld7t@V`^d5i%~rtDqP%k*%yRIL@y-}Ba8xW{GWr-k7(vyXBw6_nO@Qje3ML9t!QatrZ{%iMzv zxyQamg^G+pA=gx&&tBO9tBc7TDMbJ0Xm;Z52uMyDzIKiT=-av>*PaZk5UU6cCwIsN zd22!W#+&i5SQAavGeD57@9$Uqjzz~Dee$Rk8wFAeO=ZSc4Ged;T-dc`5J^O&24on! ziReUp@Qv08FZi~l+u5$xzjxBhblzyt5iYXTp4y}>R{V}}mC?QPzc+1@5G zYLwrQvye8mm{J?gLuMLH6}SmQkq{3D=vKJ|~;ek4ISC5z71aw{$X- zR*kLpNH{A)u%~UA`6x0-Qo>NO1#j6qqUdk7M=7iZ#b7v8ySG7u9_*U3{hb|!Z;ng# zqvqBfQmk6s+oR9nE4rGL)3|eh)M)Rg?Z+pOVO0>xpJ>)vtCi7r078cV83k!Ox&8d^ zTk)~uU`1N5Hz_`=zQtplr)WX8-XO3T!8)gq02~J#JY72(%^!taZCwh}94G=b1J(|> z0tTRF(r#sVOf19HX%yMPTr3RsPS{^rU;Z z+4GR)lrYU<-%hn3XYHLl9;Tq1RL~=HEnRVxP6M*htAC|&aR#KL2lfE-LH+(e$wBza z#j>~I5Qq=esLiNHTD9&%`n2_4Pc(6fS$9Malc@zm-i9VLvWx7JBi$X%YS#@n7GFi-ODqls3BJ1dEvr-!D2 zLr?G+)kDq?bz&#J2*5uL5+}r({c45boZwN1Eu>;NaFD4~LHy5dS)Tu-aSD>t)Yna# z{fu%_unwVcZ497x`lFnyW!4j}(yvaRtGSb?Hn|;N_dX9$%;Jd9gGDcCPe;+*BJiCl ziy`1FQ!E=z#2f9NDuF4F%Y3)|HM{-~cwTKMz$_>g7QOr?-$Lyq!p=(YK$q012 z_1Y6a{^LsX69Rc;il<7o@<15c{?+9K*w%2!4cL~9zURcaXNhodB1a0+5}JP^rrT}r znDnf{AOQ?*76PA%bHpO3*Mer>{}bqgCcavYu(;=-0bqd+9nKV@U!1P#)cgp6y2-qr ztumc#_H;D*1vM8Jj|OOphtnDn04r%YNH{H%wJQQdz;!bpv_Bg5g&palKL;+Iy?d+xrrT@Xk6Co<*EqH1A|vctxe@h86Ld1|8F9=1Jb-aMj3Odkj; zKFeo1`?GoT2{95Gc$}oaPX`U{h14->H-(D@G~o7Q z0*%6|N>P+6;ML=>8eF%~y}i8p^s8(D9O{x^?Jb%{!-ZlaywG%41-E^WiuAMz9tMax zbzmH@u>8_F;)_ZFbodeip#rLksAmNd${3?i0Ndxi;i02{saLg4gXAQ0SAD%8`^g;2gx8Q{_D$2 z%%!ByK|x&D*3;$Bhcbm`o-2n9IjH<|q4bA$%cm0J65!?_NTqCYL5X!BZ5G5ODAeGjv@XE=*bWGP{h1ic>+YK8 z3Ga~K} zV9-nseE#;D^Vu{w<{@ctzV|10>6Mj^#ak|6$P{r5+Io9WQNV2ymNwA?ta+gXeXifct*DUb>nY1yTb7*vbyoKl%H~p~kH~ zw9*M+w^GA|0+=5&7@$2hfFwSYADdozx5adl1dEa3H1?Vk1jfgokaysqAP83wGl1KFUA+6q;x4dbJp&a9+`oRD zDBvshe359-Lt;xL+L6IYckYl0?gw}B_=EY_bj3ZYb@&YKA}FWS7yQw!P5K4qzb`J{ z4*Tc1_%THbpTg5W?s8-TG&;a+JYFA!cX0}}_K7CgJMmn&_oWAqf#eSRhxorQ4hN5j zJ=*j=Ong=R@*@#6BM#ghy&?Cj>n zNB}nfUr8e*i{lL(ybcuzuF2XsTV~8K;N3F{hGV+!`Z9$)KRh5np|edwJundOso}qe zDW&sPG=wQ-i;4havfNkScwu^LZcn2+oc#Co>7 z1nFo{|91Hl*oLTB@;y#UAc?~GomWRQ1YC=K&USw+{fa&Z*h<&_Khmq)69^!#a)9cu z;m4;{+yxk1Z!v(g--I%lhR0-(tc{kWD4gR%du)P&GC_*0#*u%Srvw3LB^SJy-Em$* z1W*g|Lv9}yXJ%%c5uJ`dfeHox)qgyhQHJ5CgZt! zGS&3mlLwYBdF7HM?0x*YV)lGrXuCcsj!#%Ic_2B&is->euff{c>m%l_c?z?^d%!nr z102I`b@3=Y56k_HvPp!6)5^S&rCbNgAFm8 zO8;g81NO*3087tPb4(UcPaP_4@~zMwiWJ(@bbbr1GF5MVl5qClU_$LpYE? z%hl?4m9RT$_qq~%WhaX=7*Xxs4``cH*)?<2lV6egb~f=y28lYa(wyzgEOG1n;dx zIL$Ks(BI$en4eiv78(c3o&umd`aGtU6&o;JSg1sq8E{+Vy3HOHiP;E0L4AY73Il$N zzz6Y$!L%bJCv%|SJPhnPmH*sxYX2V1LUZ)d7wYzM&Q<@EYr~+_1l4R8@}g8LABq&k zL}G*Wjx0?ymZ@$}hRW5R1Z8g?>`W9Dfx3%oGKG%u8DKZS$@{_-2ZVsI(y3xgoco9S zn~_527(yrpwri;^84a*m%p1-Wd<8~`th)!2YfabaPDs_h5(7x=Ar&6(Ci!0!M0$C@ z9ybo{$xCS)PVZNfgz;~GBL)M=+L7A6kRH1|To>kMHiCe1d8s!+hz`HlUBQKBJ9yspd!7(E3N1CxmZ<3;q@V?1Q%3DM1)qkpv$L#UcaT@`{Af&Brg-qy_$) zImFIe!=wXQB0{YJclz$R!fkH~>VtPn{vqZYk$yg}PeXSQu$hz~#==#okj`9)#$}pj=v%Md83L*j7jD>;)L~ zQ7%~jiR!D1HV=KCzbl<#Ni+)BfWRsVgoyZ@eg^KaNK!_uZBhR!woaBtvIDOBaRu2a zD1yK)rhA(Ia!2A5mqLzC0$qU>yYcAGgw-}MJJ=Lbs)Hi0YJhma=$tDJOy_)$PcHI+ zUyZ`t;k&4fr%Dio5F{)H^PXo(zqxp56+Z@Li3F+y1l+sbcOXQ%7W4Fk|@{ zLrJwfS=se!RSBQZ7>FMNi$>;%QYJc0G! zz;Srz_ZcxSy-f@q$6z8~tgh?k#pw>0p!+qqh}V($&&u;=D#6T4!1~^?W-$lK38d9e zM;bWebQcC_7+?kFf-0%uDJ)1edncAIar;+ZYAJnJATd85Rs;;xLfww<{zvX)c=;@Y z&ynov^73O$_iA5_-p+m?U~!q*f#m3hb)i;E#YL zZouvS`sqCa3!t0(qEcj*&_608v#U)Vg7Qy2UlAr#F{q0p7EbfIpdQArWW|2XHVi#8Ks@@k5B6nbpEc@`!QvTF2W{bP! z@q_X>OvVYT=VJ!XQqzF$Ru{%-wB_P$p!MH`g2@td#8S=bch;L>+m4GZ1+&%W&%=;0 z!pTH@6_#SRl;5_P;>zFB9=-=7S{jF0ZRyu-0e6bGu?QIED~)Rzg7H+}aAuJq%dvIsrF2RBmWZ@dz3GNU)c(C9a2=4CRWS?{Icia2$ zA82jPG5e@qy{bC=J<?>}nH_Bc!v7cBi5Qnb4|J3@CNYI+ld z%jYU^FOnGyOni2`m<; ze#v~=XW$!KAk>K46L8y?dNmqPIoMfER@34#W=w1MziO4DFq#4RK+FNV(Ulz^?<6oI zP=8pdd<$GU{r~6E(M4~(wLs~=Le$0r-&Rm2@L3$)*~^>Gqsq&8`j-*+hm&2#Xv&*T zzJu9N%-uOP;4(gT(%=M!bsvCyY|SH?Fc*yPm!}ad9&qte|1x-YCnfq6UcdkVVY(i& z=C9ji{5DH8K-@D72iiU$;IU7ENKw-t`~<`!Ay0grt6uxnes@8m93**pzReU#%!_u% zW&2@!BncP3#c_km?P#_4@bd@2VA4s#?+k6UU!&~d_j`U!tF;)DkVeKYVodOeta;@3 zq(2gM{GrY5*9e(QF4N%lbRtO*TK+r!AmbT*`dKRBRD~iyWW%6m6E@|a0F(l1nXi%d zf6#%SbRP3s&?kb<@`Y)$3@9X`H?l@}q2Rra^nCVkQXlJ~V$Vi9UwzV4aDi)S!pwz7 zFaL!bFEXRu9N^IiorlVwD=`=~G6UU*UdY(}^%F55{fYx*E-=g%qp7YZtA3Pxr2O7e z!@{Q@Dm0FCxg%a`=zBM&)43tyfX)6J6`&00nek02<5G>K`p04Q?*xa(OM(=%zDd9>)|$)5xtmHhv5&nwg~J?5p^H-(P?-X^ro%y_+R9sDFL&#{cKV|I2R~o8+d8^}vULO!)m~t~D2Rv!)4};6Sl2J(lI0Rl^k<1yKCL)kbN>eLwnkt`K+XcSWVzj1 z%`|gLxIQ2aQ_dEUCb5YU#@yOYG3hS}=n^TSz5ca3+g6Q$ZEo{e!|wFR7vCFPuIQ(m z>a6X!LLYa^gO5heeObLxlu7bMvv;D^&1M?Hk{*Q=#jEI-9wkIKz^+lQ{tfMDDUva) z+{7oEUp?CNb{Zg#X_ZOXg!r=M?-Yr+t!afcqD^TP3D}%-9sO>yJGd0i3u-Pu#xIkR zmE(Z5Dbjf@c?f&e71M=6e?#7f^lY9D^ibBmyGM)b%Xl0p!axQI{ZqI1tCUmN_x2}O zj#IGYm)SBMNp=3wd90y_LG4I928jTaUAi(hqfTgF#aifllS5wrfyDFT(^e-3eA7TN z6HuVC42I)ti9Ai1xGTpYi|>M;mHY3^>pv1GKK4Moei%tNM&*3Zv(0*+8wc~crQblm zlWh3^mPuV~@cf%_(6zxkTV5w$5CZ6WJ7$4I9>9#Icl+k!`<2=J}zWn=(g?00P+ldZI zjhUSTw?-H0fIYDRoHads0?~D&`@Iwq)Z$_TuF`;1qUhiV#fmqYy zW3+*|NFq35?IoMvAY5S?F%X16#Wf%QZ|TEK>@Njooqa(cFdUJAw#LrL0w8`h|3AES z-g|ZxhB&j^*|4hPY+HA`aF7L`gvMlR1R&RBY@g?k26$RT)AbEkzU{Tj)Ci%yBkTZ9 z+e{76Byhyd1Euz^j2m-B8Q=QC1A31@9}yh0Q|7kUxyy7$`v<&UE^Q!)$X zv!3Ih0Y%F9rAH7ua$y_T?Vs5O>XdN=rR&p}|CSWY_ANlz7(e}k2ch|O_SIO;3jlwn z{|ERJSOF%Fw~`DBkU`;Znxt5{9M9d9%&Ig8qKOz1yj%#%%VurENr;jMij;F=ixfBzFs6$pFueGp z{{T(g(fiQb*z?X4lT znYL=m`k7zd0UtYky`+64hsefzziDW)8qs1+F~KFo9Lyo1N6CC8Q~gsUqB|XDS*Fe< ze?GkaKmJ9>4bclAZmG{g0z42+7%my*wDJBE37SH=V>2fj=Kvf`1Rl#}*q7JS7y2cN zm7s1B%e%aOPcCbQ1LoV29$R!vS}AH}fkC80u3q~d zZ%uAXEE$GU+0!lpa z_2D)NYcKOS#7-YrOzHGL2EXw5eCwSmgI9xJX36Rex}>iQ0;nwYmoYp{)g!4nypU!w z@JMjc1;l?80v}k7pBGT%wEw?zvz|UN?!XXqwD`Vf`P}vhH6VUJA^~CFn-&;_Oq837 zE97C8PWCjM$6>rqh7}Zi#avrGj&Tt`PoTE0gXh1+x zM=+0z#ChdXV^r*(TCoby?@IA8qeYp^6F%;U#eXt57RM6ycGYcLq=@@2Oj0FZe)=N0 z8kX1^HWLgg0G@96&c%9OvVx)Ous@W+AkzQD7-15aF1~x0;ZCFc5wfMin<~kdh%B*^rnkUZ z!TOnl?Ovr_BLO-_v2)8|i6wHbbu!oky~X6a}0_DS~lt7 zen*9gk&X9DTWgrU7=XcZX`J=7{7X`7XrM7~&;Sv>iW%I+@aW|4h)j*;S*d0R+)iZyD29zl z9q}K8uMD4G5&-;PUv^7|7>Dm7!exPau z{%l}Hdn?oWocxhugYyg6q{|I>(W1$z43CJ-QDV;LTe8DI67}udxd^!PFlD=`HcOAa z`ORmgw8a17O*R8hBoMVsOcAMIWth8Mq5$_;s)z;wi!xP?*8R)F+^_DumEZ7>e=QwK zhAwR8v25hBxeSlRd+MB&(8rIuL*cOebp~}yKek}G9sV*zL9`77`Uv`Z=ev*boT1W; zc;)qxlS^L)#VIE9a9jO-WzsHO3Qy=SIO_rw56GH#`tYFLf(=jT(S)zPP!`b4E~Nms zbWqZN8(L%yJej{SWfFx^oASS5vfo33#7xAht^x!{@o6*Bfof`;NRcpaX$+jDFlviQ z_ZeX%eQ=K;A?$v#uCmPozOhn=LYc$D|#3JcO|w0>}u!emM

lmsIS2){}VmU!|YW9bcC8geStn)B0Uhr6nM*(CZs zx)d9x*T=Joa>=(zyw>xl@s}sZD<(@*=;JLMzdYU$R(k=ra-LZikFN||t!u+c$q!DK zQ9M|zLC5|IiglEKKN-3I`DAn`_}j|}w?`BDqz*4qAeW~@daXCREJu9nGV;HT3YKn+ zqWp)ZGvB$he&|@j8P>bQ|tvjp|cCazedCN1xDRWMaW0@axG=e5*XVg@*;ae9!k=(LXV zEnnVUOo&b!ecbedoRAbXo??Ij`k2nEBbpj7BlYEnDEzDZT9Jp4*V$}BsrQ*k!mg=C zjDkJEag+`=L9D9kniSX5B6cB2Y?GiW6&Fx2y&gL)#Qz*Ss30;(X6`o5<8L1lASrx# zrX~{Ip+_ZXOX>7|ViibMt`gUfFGeQ`seBLU3Hm|IZ8{t@Z2M+=sHIHo z{OUkUx6L8z+?C}wz^5rSoh)Pe0kx^!?;)9Q6kF6))aAMYp}}qQ77-xwvA0K)5+m_g z6@dLg?-$mpU)~7NUX36F4j5hwE+98hl}ps~^s{EQj*MmD-R)zZ+{MmNVn#Z*y#yH< znMrhE!C%0;iD}%PCu>NmKb{$XxX=(4BK*%kP|o6}G-2i*KpiOxM#EZd(w?N^$_)@* z#R*O9CKvEc*BWB7*B#ChJs(x_KpNZu(0pKo>Y)Px3M2(j_lS{_bp9w$N;3i z5w0WlgYe&*Z}z{%5KxQ&_Fj7Q%x3xRbXH6%*-UNK-M-epTk)f(zoAYjBE7M|D|~Ca z{bG*?MrumMa7W$R=K zkw3DOjlPAyl+!rPIc(7pZke~|!p(lWpRQ99@tB14#~B{dY&^&W#QUx^C(`&NGwU$I z#xQCy>fwMr*V4Jm)Bw&)ai`y&`P1vbg;#px;$BiWESV*MdP2RlN0DN~mf*UF-Fu(l zNX@^>peg(MXpOBW$cY>li-z*ycM=R@XMV+nThR&qfhE@c>M0Ibb9`RuMRsnYn_)J9 zNft8z?Qw}9(@&B!`N+(t#nY4K8%*I_;d=>Ai1vxkrwdtc&j&*3xZ_!ydajUslu}gN z=T%vw!k_FBY6Hb4xNk2m{q7!)4kv%}XKf#U0WGJG>)t(Q>%%E`eaqX_W?Ir#^VU&kBlSUp-x6v-`vd9##&Rrb_ApakC+57NbjvgDHdwwK- zuT6UI&t;=c!^B;k7|c-+0WmLd@mPtM%1@J5p1#kT+Zzv_n+mQzfpR&aFaqgE{^c2o zNIOc#7l;lkK8cO;8}whnnG;5Sa)#MX3|$`1!)$({v*nr6-sSv<5LkO|K&4e#unf`v z@sQ%`=#IY<_3!sDCr&{*6(u%RaW10RaxYAz>6VTufjBxK$DL*=2rsVkPs(}6Y@U~0d&ZUJ~v1C zu}4es09M?w+=vK;H=T07W9M(j-=W*kr?0b6Le~oHv%>dToGI4})22^Ip_}qzGpdm@ zX)?^54&MlfIQD=0oC~O3N5TY-u3I>ZcdyD*%C1k6o$GMe4D}nsfrQi!d*0-sTEg`IcU;{%0dv(-L1};?Z`(f2?qb@tIbPQR45%p@vUAWS52bgz!rARO3MD;RN zl|c~?T`q&0X8Vo?xnCYTN1=uyfXY>$_LQ{;`P3@mqvK5f~R{EYl zD2PWEJt8|iPJiioC1Di}+1sUuvIDSDNhHY^BG*>e8lSaBarxd;wt6#JWo{r~KFc%= zTjq(j;ZaZEh(i*fE-fEPVIqvVlU|yDE8$ts-~L3RwcRv%0S!ZT)DgC{xmCk1tk1dfI+Lo@*t?}Y5DAEDPS`+kl`gYEHM5A zx+X|inQfSX)yEy;9DlQC3|N)OG{pf7@qGFP?QunQjw<4uNKAHm78Yy!j^8w^OGa2& zP4-2ILA593@^FFk{Nkcm&)>gWfD}&-m=ws7a4@b*%n=VCO$O;x2b>p}(NeYiWk&_`}L7YDG%&8Y)ZwBGu?p`7s?f7hu z>{gD5j~u{ib4JJ|F=`e76F~%*rN$F6AQE~eagVYQ4n{V7a?e4=@;26)iwkI-F~0zz z?uqGQwYFE7x^MM_H0~N=z>?ShE0)dGQ-15Ny!le-t`ZP#; zNy9uczj^h}$&v9HvBXB2GP*+;KGQx9P}L-1gTaJ$`4A+X}xt?zL1ShCHs8eZIsv#*g}@*eNF$kRsYN zT~TN`dcARKI1H~Ri#3qT;&Pz+*A;Pepw$^@c8%Tseb=xjP0#nwG_KZ5u60?!2xjAb zIbWL?N393q{tR=@US_9kRljmhKrX!U>ZIz>5@fO!*>&?#QZ1k#%dpykW%5B=tX;OJ(W@kDds9l=c*N<{!P;Vvx*X@iHd(;P5_^d>})*>2l zAP0x4q)qT2z;)Z%?22;yKNWEt7ff9CpmhV9JTDRcN&-aKY@%6BH1@tg^w_v7T3Qk8E zra-i8L$+H{pdZWajxtDr*E5bNLk~s0aqpn~)hWFc;z0Hd%m0!ujmV%d<(1;iD}00= z$yVIrH9h?IldB$wXh})uPy+Jz+~rAGWl7^=(idI`fm^o=VXtoKm~5{QzAZd_Jg|2I z;(d|B+N6)wC=hF=usp9?q8Ih3-l$D99M8Zm?0p~WPIg%gXFEQfP2JQ_5DVlS+A&5Xz_mF!5*jRX%-YGkl4uIJmB>CFVe>?@Z6LSvAzJ}*d1Arq z2i1#J;{IU&<0hKSyh5+b-vgU6X|z%OH)_#V@m6^dLK|(C^0YJ{l_C#ss>Ov*hSi|( zBx^%BfSb5C=`{eN;Wv|%&!W1M_4HvYbdma3RJ_runCSKCsJY0_jlAs8LJ;s{;d%axc`y}$8w)L^oVB4WkL(%Ow@`Mi?4`LAP9P! z@f6~|>4FcC_==~+hJ%?-Q#$$H%vxYzuEv_7k$(k{7qgCnuKVH?XRJLivebf^F@K7H zjvZQ=E{5e=aM2WfERe#Q!{sS%!Iqkxep&Lt344Gei@+zyPPh5%?};a^dMASBE<6t! zJbA!!9_2Ap{HzU({nG$@Rodc{PEIW@7y>w69Ih)wKLB=a40{p_+rHZ4%f!ptW@;n= z!Ufn zBIgYAkL1qq*nCnBjaH>V@H}WDp66sqcFiiz7qpwaKD_dfHN4TJ<$3#iv-rYh9KDyz zewjS`kV|)0eDWQw7DYNMb6`a9Pwe>%58$Qi;?it&ATyN3=TYP!{wKZ12tFkE zf{Fp|!Dvh*-v_$sMZwCXV=1g{?$21902aiYSxFKDin`Ts0U}jAGhO`2VkNvmi_K{e zlrw^mllJOhIs*`~)1(h7r-CzhAo1u<`@k7i>hLWaIJgp&oBbr{1`rjfAlQW5%w=hc z7XN1+R0srtA)D2Qai4u$X3G&#F2t($ai!kv=F>uk>; zD^mTZ{clLcX==v-s#lwL^vySgmMNmP!+RiC!9DZ84KC2rv&Q+}-DjDY5i%fXv1DZf z%@<|kP6eO5{R1&;u1`I)n4}MmRz;AP+r=@lddHaDq;|ElMY^cK>Cqy9)v&@OHfoJE zNg1iVVoPxSKhIhGz_X#C!K=~`$v;(BB|eZl0#IUk=_^VEZFOxo#a0zv5YwhAzIlCR zp5H&Mni#skp=13aBo)0;kvs1Ed<*e!M2Xn#yZ<}D8kOVkVKj-!pfG2@2jPgCD=moo z2q07}$_nP=+^L^Ee00f{Y_VrKP zeis;f$Kd4y*tz;rvn!FN){nbj2`7wOW3&7yu-f4F9w&e4AYt?SO){vqeXmTCrj)i{ z`)(B`hJ^<;*dbW!@+<66)0@f|{DJ{Dz)8&KNO5<6PgHJvU)ugog^c7sAGE@cRL5*W zz`FA5OAPVe{24Y?fc$1(1bss>9iZq--0bJ>GZOW?N4Yv)V$+PjcC)0Z9#scZ8(u%7u?qdzP4h;o>M6luJWm32%Ln9<6+f zj%MHgem(RQFFc1Y7W_MlPx|rG*u{?*#FbXplxz`S*-2CBe4J8jHC=`?UOM?56Wav$ zzn({#qAOijAwWEY*|K;T~@_o+bN5X2K*dRjs zbm(nnRN)$~-rsHZKi;Fo$b(hLdSSALl>JW8z`0N3h0aP{q?4nNsf0#U6=IGF$UiefVi$Sb%TK<_w&o4N`i9ct zZ|251%&X!^&+XsdRn%*r_P9n zStD_I1vDT!>5+1)NNR-_A`K@Ar=L@6Y(K@-EIWF?nClAL!q?2_F#}gfiGOh2t1zo*jP zYK1hL6Vcm$$C%86D9YvZs;$~Jj!~8;D=kXVxf`KS^}UcVP`w7=GIF!B`YYewgpL%9 zJu&E_EFBj+82N|=Jo9KAYJHF9efr&%{2D>lmmRfv6E&!Aea)m{Z#cE+809CZMOH+E z%^T5q9ZalJWyGOJg1-o)z%^n6vX@W)DmnYy1Gj=Mf6#kuF9f~cLE9jq(#P5&0&dg* zydDH(P$RTR7}y1ln$q_RFcwGh#_+%M?M}at(n};-u=@QyvQc5%9SE=_NCucTVi;Mg z7p6x#GXDf7^MxH<%%RE`laAD}COW+He`&p0?Q+DN$YUUh_Nw zWQ?-N(L`phlp?lj=O*YsUeiOS1obySN;8+=<8h@^yxR#OXtnqEV>F~lVrfeoc%KLj zrHeR`#&fMYwlUqG9(f0Zm{x?iENle$3TGMc4vg*sdsRLHxl&_`J$ZSr^%+QM1*SF> zVq00%@Ux|AQBz)Cm~{3jDdlrjlfNsMq_kQ5kr!qGY@?+&nY)u;d{UD8d!eac12#b< z!DBzw;bQlqm<>iHdVX^EDdTHV*zsZMFF!j@lYc_Ue?1s_iX=BQ+4~=Wy)QkdW<-jofh6 zU%7e%D>0q$H|&4xobvy0BwOxYWw(c)#m|ef&b15fPXgk%(y}B&!ZGRdF4@-A*1eLd z)WTQgg9g5_6l=gGTwOdDy1AfuaYct=?9h5$*PV8UdO00O7bfyfU&vHTFvr#JYN>_f zZ}K-gZo05KXWVIbeTA^X5>7HaIGy~Z-oU)rjG)Zq^f>e5xiG;T)t39sEXKYmRqQ4z zVFZMtE;Js#Vaci0P?&9ppfc*Sra0-&DnEA|s9TrpS~?Za6|AWbmbv|O$&S{Y4BnI_ zla2+(uK$;SI)WKGS4=5&YH|xY-4fp}F&BnxT*cE*@J(t08OG_nWwj=7%vzSL{EDRT z4%k`pbehHc=A7Y8_IH(ftkYpox|~J+J|6#6z(8lR{_S7N>G1}{*YMIAfW4t+D9RB) zU2M?i{>sX(D{R-At^g#1C3Q{RSFF1{IebM$;ukdED67}RKTRyN zNnbJv3V#1<$|IpI86Zszld{PZ1$m#jf=T|rElD1K)t33BqFk(@CQ@Z85Y6O$c}aRC zw96)>a}5qcO~H{hoeZt4q_=^F=Q$h=PVbP@OMi9k=mdoqlOB zBSf$!4df-HNPw$y6BE`aXqq3EOmc(=0IUZueUsjMva2i5)a}?oCwg%(SDl!0`JKBW z3g8vIeE;nigFo{J0?tgeVJO+<^OMh>d1~?He$s|<${qb&sW^pGRztljt@lH0ty#YC zlD;$rI}#Nx@r%Trym^WQ7Y!ErqDKWEi0roRN4M!bQ}@fTA0_m3-tKNX>b=roV2#-D zgX5nb(!dm9bRetST!IB3JWn0mkJ?$xq|rvP&72<5URwZ-y^;0=AFjCuv666m4msBz zi(d$+1cCkKm{VfE+#Y)sr`jba76 z2!{PNL5I)J?Lj=bqx3IYwvG^{ugbY8PV`}$Jm!}1YCfekUZQ>`iHDMb!Wy%R79_PI zob1%B_m{lj?r%dj`R} ztRrkfsOj9a!;o6Id>5fTJ+K$dMDIXmuB^B31cA=^HDmU-quNVT^_o;{!rKhxh(;K5 zXO)rX2F0iARp5LIs{XIe!ww%@)~GA4ce9G~O%5nnOeQ^DUie~&F2oM02kN6z$OD=h z6`!{m2Q798j`aCb5O=s1nhykK?JRHqIN*F@J~>*g1mN>Q^}q1h?1il};E7pCW>x5n zGvjqzK)vhU$2uO5s%9WM$u{fTmg{-fjhv@l=Bkxv)Rzv)+LRm`th9^NK!ZrtoW@X3 zPVj=)kFR`vxI2fRP7tvws< zA9R(go!r%!ZWUKb-_`p)<*>2(E)cYw@}m@`+06_$Yt0ISIOfX>5C8;hb>?7z1iH_| z{1Lf+R0rt)oiAc}pdbN+W?o?YTGjUK{Rq%j_QD7t-&i0PbXsV(OoV3aJou-i-P!o8 zF0^1+F#wh0>mwzv$GN1f|N6K|NW0^B!s^vPB>es`{E~BEU$b&=RZ^+c)#E@JkmsUw z+!Q`e*2=i3U9sM`dd}hY1538K833Rr(Z0)pV|3QXr`&lA%4f_on&-=LDc|gieR~rX&4KE{WJfc4Fq2-EtZRLz^mYIW%oQJbmt|G0r?I|dvi96I|HVYM8N6< zMe1#tJ?@&&?_mc6JyerM_LixDI9I`zMvC6_B@dB!Z%yM1{vSRkZy=A1`7cw8_wTO* zZaHl2KG6^FWGLAGl5hCYLH5|Zily$lJ`JoFiYFTJ272UuzJHqbm#elfJS<=a)xKPZArCw!uWo6@Sq@)x5F%fff+x1e~C96lq(h~9zjgQB~qyNy+ zc)RIK%a;31i`Ux8vj$e`D6IR*Y77>j0-uKv{&D& zTIm(hDr_Q!bg(zK?%?TF{9;GTjkuBjKB_JlVw34<7M+hXHaVy=|}iA&)gbOZ@II`HsWnun!x7e>_z3 zRwWj$ei|13YSHNwL+x!_g&`60$FDK*+<1_4e*Do&cGzSmt zja<$lF@=6$a`dcbbV=I7=|gwG(eb*x+@hr%2k>Sin6MUsM5y~L;S&GAR*`B4)@9J@ zY9QdVk^qqvUjQS4_IB7-#66MNibr&6O`Nc$gB#C;>}OaZ=xeai+2$SR*uu$T1M=$X zYWns#{ko<4uTr8bPR3o%y0su6xmE!2K?Iy-aa-%L^x8|53y$9+% zE!euJ^t7cKr)LMRY#u$N%k+7y#^X8%!|VR_6O``;_XVdim(A%BEfU(`bn&wMOL z>Ds>b;aJe5(y94Bx4A{ub+qlDkhB=mv#i4fq(xl{DWNLHPQrr}vq zbjEz<#NwU(=S;{&eI=U8s864d;QN$`;GZn(B@5^clYyippc4)*1rXc?t=)dqPt}H_ zu`k2j)mMY-KvYdQCLPg->OE^6vm4Lu-K+VI>+pI)jxJ8D;^=B?Hf=A$mWd}C-E2(2e?wKNek!&Fo6`951?wtX1`p{Jn4wfa}ZG~>u+bC zH_x1aCMa-3aLHQZX4e-9v`R2EOq+lPGBk&>7x?$;WVNt7i zM@T6F%MhzxUc^G8tKm5H@7I6|hsBMVo%q=jJ6CMe{{XTzL2o(D6Dfv88~q%-9-(({ zg9MVOz{m@&yu9z%b1i+$U`8URB%!t6D`o&yWY?g+=zW)2)Qu#v2{fB2BMZl!cgDC1&^C>#C?PVQ0K!HkK^|Ne6E-a7Zb!SYFUl)ORdZzGusJe-_)%HRkc zq}xdT2JWYp25-)4*A;;uQEbu<@HZXHhnl^Hw2~1i#Smbw6Sh-3H7JJSm~g$LZNDvy z#UOjI*T<|i^EuuX3{Hu?|-N*UWclBs?#EKsN(S57k4KR6Wppn8k;h) z3J#P+AdRIRxltwGmM!Xgf!fjm%D$- zK2W;1htH_oMQ50w5$>o+Qht&O1i@0YdE#qbvucKnSZmguo}VXdf`JI3igU?7Qhunp zWN-iP=`uWkT>g8yg2WQ)tUkEjR~qLQ+c0oF3bhh)>?r0heAyFsT&x&6JJ|Z2?k?eo z(Gv`QYvCq#?i#UGQz%A7rv1|SXqg5%nX6>Fd0)~GvNmZ+G|``c6fqfS zV5@Ieg(a)elPXBB9LbgFJ=s2M&K}19if))ZNUh~6a|nBH#EK^oj}bisBimLRy!H0J zIRe_kGM$sL&6*0q1v5*d^CQky)7|9c%Veo?%zZ>yX!m5(R9a!YSVAp}YNx3!vw0^( z`rDlm0O}7WhM!;)09-U|AQm(SwSU?OkE8R(hl#~-mcnZD&$B&Dh=2F;+>4xWBJ|5c%#S_YO=bGsJPq`73fH!hXt{$fL(eKQ6Ix z^pHT}-*%qe*iH;TBQII%Dsnk*{rpH$sy_50&!YK`(l@X3or;HYpp;_B4rqM=mOid| z;=ZlN5?W{77A0oVveb*mIUT$%v}P&(KzU`C_ESg(HX+E|C0Ao@G2K2DDP*Z2b~|jd zx9uwiYodSFj2s@~q*OTFS_06#g?MK@b)xWmzmr<-^fo#+!xYpdk;V35>xuBguYgSe znxA~N&~LTg-)i|MYauKvMIlVr<4OL#OIjzVl`yjTIpsgvZ2ZSMvqd~(jckC&ix;yL zo>h)EwOo{)z`m_4jhT ziwM8K6m`d`>xY+i#X#>rUJan>T49nxQDZ#GdRLc}N>PJrblI5TiLqti5r`uq)#CX^ zvr^$5lo<-6igTm$@O5>d@h$Ir^KQ}G%Z2KdjV|a9WtO)hp7-|W{wPE@O@|-C+3kt9 zKD3-n|Aep`bzPANUa$Qa9>cFWnYXu2WYkf}oS&bHb5PiN6MTmcq^0NXhf(8zFW0Qd z4MqE(7gk`xsTDJL`ZM|c{iUz;&J>V=!}Vc8DB4Ko{*Db-kfKj1Jf&Kc!jMcfun&~Z zckYndy35y!a{Vyy>pX&6r9r{lZrKTrd#O5MmJW?EOw-LpU`jpLE+meO`hmV*^stL# zH95R(8(fQnKEp~wTFPdJmUAh6M!q9|@nN>k_;2|78s(o|ZMy}X@kvd7)42J(O+v2} z_wnBTth!2CVs0CC;KnTZv_=}FK|_~QQvJ`&iYkRF_69$qC(l1fpyQh7s&m3^yG7u+ zBMMT*ZE5N2H>m0x?9rU%wgqpB$Tlm)ey5q%xP@_m3uzCdmmxR3FBao8Dra_4L-)yHJcW1bAur7y-BKTcK zvTdy%FTC$qOkIkcDcmDdr7+{!7Wd{#3Hqwg_3R_Vbbx&U-8r0(I2LMp`|eVmrv_c- zN(LY;lVnf1Jh9EDsr@c{;KqD`S?%x*33h3N$B;?qg~aOAJuV|IK)UPXg=Hx)Yq-wU z(?ZKdCd_nHUE<^f2w5AOF@)J0AVzb*PyzYvlw6y) ztZ%Pp-^^PJUYg`Iav5NRH@_ zZ+F7L$IYVG*au_1za?ls?H)TkA)@W+-FPUlNR)N7h2)0x0qBn16Ad))RZP{t*; zY_xh%Y^=clIGD{C=efTll?iQ$6H?}vicM3wV6iypRvS%aFXa2!Xs0vg{Y@hmxM02p z!$hPbOmu~cwKqGdR_bc#TLjDN=uPrQP;!1GUTW7 zrn77#?jd^28)PGf=T~0g{xO5{*ls9TBLt+e&6Tw%V&qdWL;cuu?6pyAXxk=9=k!jo zl3xMAW5QdDps03pl-GvvQc!#WC}TCS|ME5mvD>p)V=+VL<; zP`!CIiZi_r9bNWK+J|BadEh9g?{217f795|*lxK$^GyLk3qX7(3x=>~V<{a1NMh!= z_;8h&^WeL_-Pxy?xXon7;ea+7slPo9mXmoqA9Pl$jLD*pcG$9iD$G^`IGg@iYi?-y zU1Ubp0^UC(8PB!<$p6ksG>;lkm#jouT*~RUl*>{oSM3(8jMl;eV77*Gqw-p(TH|0! zDhj3+lg=h^t2FYPST{%FuxP)7u2mc=G3)RZwrt2KuTl98F<{u^4JG0T;&IovAb(V! z_u0Z5=F(+8&}2@-D=(hmXfh3XtBebd{vlF75GSO?zg2cuK6Y#$K@G(GC2xZFrV8zU zBOWPq*uFsmed~}oo(uqF)$gr?)`ClQ>UKWu)oynS)ByWXOh#zCCT3QAu1)44y}=EB zJb#sc0E>TKCcRhV+x$N8`@k{8X=A&qQ!uC%zu$MCamQ!WSB}}`duzfQ2<}aJ47rtk zboX5Dcz*Mgp%izQc3vRf6d!XW;wpM}1E(+KMY_F@mw5KUOnN(ITPc)F?)2{1G@VkS z@3d(1P4&fxs{U0}e3kkSCg`<** z3NgZ+GpCyG(A4Fz=4@nLg0P}Ri%~J!8=muODxF0I-kA=b)9V$7x3F9VYAb} ztc?~lttDQxh{U>lVr{3Afl_4)KLmYbjSfxO?;D6zkdQ;U@;zj6-*2s7lG!OLB>h|XqmpLm{R7GhK@#)W+E z&e{6V1{$Vq^3~&^f1RfT!)bs9hz8>VQ?}WXnMSN1V6FJ-#bzxfgYo44QV~@qieHuPIFW#YAp6k#HfIP-pw#|tJ@B@x5EoN$~o+< z4?_9^PLj#yY|wuU{2^xMH#^EMj?eSlX(?@<7WJgJ`HJyd`wJNavun7fNFJaO!It+45Crea82pcn-H z@fja!EwsUtdSXqgSVXMCMgqkq7Kr7U6ux#_QgG45U+93IJ0Joeb3%aVnO-2_NOW5A z>kQ0LxeTw9tLzKV0Rb6L?AB8t^uo)dX?M3ksphER%ENZfLbhS|ZGaN^ano&^*?Rhe z(Otb2T2tdH;bx{tK4Io?#pn+2J!e1>ims~i6oyiwN&8j~PcD#NmFm;Wb&vG})TS;wc}E{F30Z<%mYVjf~w zl6iWb{zSyE6t=OZZTw){7%$g7z`fNYOab>4YQ2p2$BD|AvrF?l1#65ezpeoVs6OEOVi!5Nty!wLsF(D9$q_W(}J&^MMEoH*| zolIb#d9s{G?gt$3Eundb-SH)%xp3XOC})rumAmE^WAehcp;;>p-GK>=0b2{kf9iKm zlCSj6QmLl!87>L_;whXsY?h|IX zlvDyK;Nef?wD;TvR1JSRHra^-_cLuvCz8!>)!ffDXCph_uhXPuNg-|;7Fx>|45vyB zd~V4@FbRMN(R!pI1jEYyp?7H2m8i(zOxQc=(OlZR_X9F@8Y6``zQRP&L^RVLG}6_QlI0 z1?CxFRS?|QHAQ2aRF5YM&;7dHxzg;3{Ejau&HP81VJ>gC_^=kEO{A|zz)z!5??z+U z`-%TgoJM>rscI^%G_#%RvLTHYZ0wIBbn-5-=1bjrpc1#{a>*0oiF2W6zc0NZe&p#f4xf^}6RjcbVUv4khy?yf>C$hy`o{ z%imo%P!;|?h!HqO!4jWgWL0(v%d0TquuL(L?k1ZrUTFa$KrK8}WgJOprg6nk>^tLmUs&cwwBK+|Fgr0w1;Xvfo zF~JXHh`8}UtMqq-|K{~LE2VOHQn)7k#ZhrTh+fs$t@B61j` zoVRDm0kVS|ThU;4?^l}8A!X#Ysj~PyS6`P~K)rel-%~!gDlyecSYa$TB2Zz;vhmje zo;1@{eoy8;h;Ob4zoro+OD-Ikg_;+QGH(YcERlri;rkHjeQZrgreNfS6EhN9%-x6SvYfE zuA*A4bal3rUD!Joakhm{=hoy5?S; zj6c#_I|~xJ_iZ#oGB;f{4HC-#RNgfP3)t&yk?O5@=LNU{s~!^_?T^EufK=N)dbPYsNV;snz>HVhaX>@X`9#eVt8Ht;ta!T62dmi zah;)w0plfXcbnSF5cHct8=Tw)faTo)7A~f#lq8Pv%cU%Yc%3NM`0d`i`!ONhp$*&W zOT{*trV(O~?&vbnafR^r#*0QKBny~t+>qHFjrwXj_2x_$>762O%5P_c^V3CUbN~HR zBO6Xqe|{P1q5;;U8Eq=$-LAu_p5rUiWG>WB8@To+(h>`(l{c@Eb~2Ced!2Uuvn&Kwq<@!CJWV>%JY^O#3cm z&R^quBaEwNKXrhTP1} zW0S<6Xy+-Wkv@&LZwK6L6t@VdI@X4>O7D{G^ox1CWO&>cA99!fzTHC0>kUD>MKCn0 z?RumJDzYI1DLix!0?f9W7I1DDX=2;zSHOpj+)=y9HzboqHa$@jrUY= z7#(3q8L2LFU5zdbO_R9E42R_i47+P^e-1UY$M=D=cbt1x+kM4xT-L{3ewZa8yKr^WaV0E^HFCU2(+qLlqL9w4?uWKL z*?_y;{jjac&8KDV<{f78BF%iMgH_d7Nn?riECXAo!(aSty7gGM@Xwkasn3Ks?bWFt z_lUgL%M~$2V*RXjyuP}bEMWEqwsRj=pqjy!mdx*opUClqI$M|yug2~xOfsIGq3dpq ze{?i~#c)RO>szIUia0=`{DuCID0ptM+J)&#QC~T4RwDTgU}WQow;~i4SE>Y|d-A_E zt_z49bO`wa+jyV(JQsJ0W&!`=L_?ESy(ApbjeDcpddgKAI-itY;{MkQY<#a<8dj^Ke6O zcRwt|;d@8QEzkXNmW$Ecq|@2`w)69)pH~MDL+)_r2%iI@%Dy^5$v!HIRh1P47J1d$ zKmyuR_JghpDBs!d?Vy0-R%i!J|sv;ojpq52zGBVDEu6E&# zmX>tE?&f$Q(oo}kn$KTPbk5N`NtbgG{7P26&`_9NGrAwOo^k)L>j`ry1dM-efHuEu zX!TSO_N6H_7qK5{qQ|a<^@tXmWRq^b2rT7N+JzM5=Rz-{1(LV(hvMKSmlZ1lHY~Xi zN+ak}2cWvDu)p>Z^E@)xh7*b^A%|eGfiuM?drP0^?s^_=cQqbTI2>&XuYZ%Oum3fg zPqfq($!hEQ`-}vTy~Xzw7z4u4w@YE`;>|1NrIU5`l4@DP3>a|{hLYckZ0Eb^ zTy5F(D#ynIPixMH=i=w6%~u+rPKoTs{($sK$xU}}xktyf@P{nmgo|O*;}P?{qU>-< zRH#Ld10+lD^uOM(G}zP!gX$8(Q2i~su);5UP-&Tq1G#{Xi+e=JgK|rX9p>pY$Qicrl zv_gE1wX8q0pDN4rSb@IF1ytEV1|HQ)1U!cB`Wyn_;AqQ5-?0I{cmWIQy|IN22dXU{ zyWcydpHXIxhBl`OwF5&?_=#xNER$Ga){N@V;@zPyYblIDDulr!{?=Go>hH20mKY&7 zb5%&_Pub1HpNG~oA#*gK(tlm>FfAaSMI*T?n(F+P_t_xv`|b*}Q`ahvyI)Bl7tu=AibO~WJSg8~M~q~%}Z`Ds(lNgw-@1UY>u1Z1=c zMZwXyAR*&4thAA$2EDNqrcv~nAuL50am9~|v(18Cfj;H>*iXRJusQb3{uPO64O0{i zt6K{ot3|&}A;{lj{tjW9^W#DX+`8wKlhm`Py!St{L98DF!;iGIM~Bc0or8{#gcGXc z6$jI<@Tf{j(g(lTK0}4W$hH?=MSNJZd)m|Y`s89gyt-)m6TFy@-74@qg#{k4xW+jD zFW#HoKM%|_-VqoWrjiN4LrRMPRwQ0k5aooT8yorqR9Z(jKRbHl+cf}E#*`i5I%NhA zc4eEDl+yDEqkkQ^XL?bI%QT*Wk9ZO0NGNUPrZl%Zh;nYcCDg-Zwo1q|vP2s4^o zdDDOrI=-aK7X5ISU35y7MOwcN71o5FG$uj3tf>5xSk>?A=F~~h{Ic8+)A~COtev<-MHH=sHuG8A^dlR&0g@ib8*Ts*$j98ocZse6Y-g|= z&7c`R1qWN@59M&48e9gadA?OI>JwC3$FS5+2*7Y-=5G^&WPmI4ZYDT0ot)|+cn(0N z^ZlcD0S)C>m*>(UOe#Zk*)5@($5MYvsd7wU!FxXtd6`vt`Nau4S+GPs>rZ4q5y9$8 z{C9C3RdRwH${*Lfy6ttccTY@Dni?Vkn2)6VFHY%}Qnfy)_s)v0@buPfZa1#w>5K89Za=3JjUkvkbqzIB5YRg(mTO=iaQHE0+Fqs zMl$*7JazREP$+o~{>_WTsy2SC5Nne?VLDS^1YSU>BCYz) z(IY`CmKc?EK3VLc79(3zi8{s@FbIudty3N^@M{vj8YX}bnkzy$GDQ30+NIxo-|;?w zl;=Q)NBPBgHIkZ_G_CH!Jh#9_8-&w|0P-auWpiM5wGOAKOD+l4~3+_T~?gPcPN9dzT z=>chO#+Ff5NlSGLGc!-B(lOxBY4m>wDM(6*Hk4AB=Ub^BHP_94>jQV zy8e2;WU4?~e?kViMNqr@y1CaAwW40DMmYGAH0B0&J(ItoHJ}jvc{}wrjfgYz+3&rX z{9>yg4=_Lm6<+%PKnHh~k!X!{{zqFgW__S)#>*PR%YDRQU7|MxfpOvZ^ZOb~%?(*^ z;;+5gzx}*o!!Hy)LJ9E)hj7y2$U}#5<5s+u*@SysoM8XrxBU49d3JP4vOvbkVGG7s zBl?rd+cY*OTg-0xT${z)Jpo**(w^pZAqt6*Q1jhW$K`t_%hv+ywdVc6rLx~2`kaec zqAauFcgA8f`g8}7=+I>-`WQMBd!m*=`0PAq9mjbZ65!mhOa`dF`tRuuRuGFjqH`c0nK#ZD1$@P9nXGS zq1Mfh5bLMmf+nrw_Whtd1ifi8mX0Ak|BF$)rP_)b5(VQqt zWeDvS=#lFLJftJ_R=jhrXNT*NV9ZJp+-kV-{HGJ!NoY!|S&v%8iCLcAlUh7xR2@DY z#3)1G`?RHl+W@U*ta0enGtS4Bx|IA+l4_oJ@W5z+e(y)mOG36g`CG+WDl3~)Rdy>H zg75pK{bghy{h!_tM5_qb6|_O12D~|Bx82+KUZ>0Z;$kL)4c9QN?es(RNOr$|h>oWf z(5?q`>q+87iLr?HMF0FKBaWg!;EC4wxu@(VOh?!$gXF15`qau9CDD9oF#O&v3~zIR zKsJmx@#`)8yAhYS@Lvcd(0ja$pb^CE7)(NKBvb(KJo)KXm_DcAus0_x$m9K~s}+sZ_{M zk_Y{Pr*H&>17UJGo1rV{SvVKF+LwR})ClUVm#u=p`DHEp@AJ!o_I*R=E3fXc9c3L=XsiCC&_J!jA@dOV88{2-9wF9lQ#B_)DJR@IB5HTniSB|{Q5z?%0hLH`fZ+? zU&qQzx}yD5CgqnhVKDVN{M!nC=u%m2gZ(YL4bEh@1hU$`RvoqGvB>qGFrZCD0M{7$ zKU^c>t)B(xL+Qc{Zn5?2zlGRgC`xuNkNszHv}m3G>pb8o`pXQ!&EDYM5nX-A;uUhx zdc4)y;(g0u=?C^F&tvMTN()&aai(6QWWFw?JUNgojN7kMLL97Jq#1k!eK0EvE35lf zW*E#6)|3i3tmwe!_hxa@0MZpKx;U(M1~p2_SmeuFq3>Cdk=(vfQUxmHT`XSS-W9I~ zMbb6UlhXR^#uSWzZ$^xp-4j0dzj2ABa?mF4Vvv@kMO3&yZy3r{(0 zwfljwzE>m1?S}a;837VOfxXlt_&BLtN^7dtR@7oJB^*dXnyu`c^DKZI7$;DOVb(U( z@Loqoq6lDIzX6zYx(5Bp-blVB2* z?k(~Cz2Dxz4utscuk@P%k+OGRs;r&C^{7$%?-vM$T85uI&FMoCrA@7+<1Y0U%Mm(Ad&qvIuxQk$`Gc%yQGqLq6C4{ z0!ZTfd7CEIY^yH~y~zQPD|Xmhl6{yWu%-w^W@rIc%L8qK$_0u(Wby_`kXFQ>4)_19 zZX<*sVBB5m!exm|7xREklp70PyEEgf&D=mY?TLzXULU0ctfC5;V#0w!8bE^cW<-QE zt$#M*pCb?BYbjBMY|DX=qN$X5EmwZ=^88qXS=i+lv6q+EfFylZD7aoH=%WRytUJp9 zW~f*;#$o`VY&T84zZ?JvYwrBl_R?a5xC-^-M}+-1N}%@=P=#M1ykGpEFodJu z-%kgBs=>3}ydU}_LwBe6uv%o}Ukm_GTfdm&*!%DC zpy;U0-2Ly({P*&-X!ihcg~CW>PHa-q4PwC4k{R&fr~G@o00dZ0oXr1nTMGYH7rrR- z_n4()WvRaP!-atZ9uVG52QDdUZxB#$?$q1I{s$hpbmQOZ`k|*Q{Ec0SzE@en93FtD zHEcVq9yce2nd}#C@%L_SUmi9sZIV| z>JKOb{;V%vF=4}3ztjekE$z{q|GIMu zZC&76I#ysTJ1Ek|1A~XXf?;y}AB)j}GI)NHuYO~pfZ>(1EQ>)X!F7rK_pEjX7#ElS zd9)FO>_})T!$2G(?og)q2UKGE*OY=kf!H;;!rmCdJ}@jj@T*j!peMsWTlNLuJTf&9 z;NE3{pzY&^tHRh%9p6ujwy(&==+SNxO?sY?%HY9DwMulkH|LskJ|v?ukAFXl`zX_P z0ecC7Lvz5dfy{QUa{vDFof=rHNX8H8b@kuNov%CBB-Bo0@Ip@r61DM7j!z=OG4cM!(<#iD|R z{a+3?L$n`3JL>?5)r0Y=;*2L>U7pqOHa<-Q%cus20_mBMwJA{6K>&e}N5D_tJ6iQo z)ugScC|DYF{?SWF!RVuxd!G0pSk8m5Uk?G1qkGi4p7fro7?v;5~keSI&5^=0KgZ@Q@djWbrEXK0u}6exv9I@fj9h^v2-j@5=H$l;IJEI+C-wyW&ls;X8d&MA@q)@D;xL}xjSHqfEMs)u!fif2elOze72 zwC|mDkKRc^ue?Aan}E&tVjK%3L2fH74x7}#(@jgr4e0h}^48so`yLPOqYWXb&xPY0 z%!VSsI1}j0#B@uAtw}-PCc%EY=nhLrY*A7+P|Dk*4xy2hpca3Xr;g)n{}|fY=xL35 zX{od}0@Xy5<9BJPoy^89VnA9w@89mw(VFUG8)vJ)7dg=N>+B+dGGRl%vk(CRh=-6j zNmDf8{w5&UfZusq$%4StcCzAQ!{pE#fC3v?B!Q$K_)aF`@W0k5qKQm4xD<%Y3w^p~*6_3{{QsbHpmq zufgGeG0rvQCj^6ilm>T|N{9_4h*-eHDc*n&I1oVq4Ald6Y3`XoIwlAkOtASZzudqj z(Aj44#C8{w|2wx+(w0d~Mk1 zK-@40VC|ys%qQ&PAfer7pw@(AHJVqkVbT9@f?5uDfXV+09c@5m_~ItLLX&omCp$aO zz&-y(hL7Iou0U3&`yHm4+_4nUHi_l((F)$Ql7S4-?yhd#6LY`7BuK~toD@G@Q9we8 zL4(Fb6ebFw1SahW=c6yofgNQ*t(%4Py&)(d>1cC`t_5C{ME^<_QLU>EWpLFB42P!XA;7`2@18qp6taB~ioVg%4@kP+U-Lo5!Y@b0(Ae0!856ZvM=72V#b zbu=9)U>C-+KN0u?=Z#>6tm!YECK?q_G|+>Qr@ZIgFM(-z4V$cVrqNcJ&k=3pFlWMM=KceHZU$Ls*Hj~_Ktg91r z1sx~%m(2>{i!A6I#w`&*90-+VxE6ZtIFKQu$Um3e##N-P#=`qM*j+W_4fv?JUj4Rg z5@3V-e_^79Xmm$X=s4XWq?eQNmy+d2SwHxq9y&hFY;ZJOo<$KzFRkWkH1&HDMkAf+;ayGH1T8oLy{zYC*lcx6}X8rL|*MQ zM>pftHJHV97WBW2{M{VvJf#GsFc1A@X06|zfw*L9eq3Wjdg^H?dN&5)K=gjZmGP=>qu8!WE5wCx#1B0n2nFKM20*OyPkpu9 zqZ4@k9Bw>WTAi*GA>YG_)nrg6jsW93R(~D^kqufMfDnE5>Z5&9=0Js5`acF*p^X;{ zKy;)%_}16u%v$fE_>@A6H|no#B?W1hZX=}G%ehAw zZ;1Z{O z*KBU*492o@=JbR-4Se?!57?G>pw%RtOvpv*oT3isnQ-CE zTIAzPZ!owy`Zy{RK|!P?i+wWh9^#|gZ5`EO)ci{KlY50lLm>$WHXXWx7P@JCPX2&9 zrQEf~cjOdkx&AOo?9#E9^pZ^fbicCGzasC)Uj!SM@t(L*PMmk{nS0&LrsQ=pNaU5iKK+n96GHw#yuMD5u1<5Wt0q`vC zow22NUW3rWtmLLVAs=MP-(qbjgP$Ul>K;esv;KE~W94C5howovPe57DsS*TCRp+fT zRrI(DwDG8KX58IOM8`u#|I6XP3OZ_!YSgp9{B0-|JHCE9xiXIxV4Qm|)DbQaMX3An z3~%~)App1&AuWGLdCCqM1{jt$@E-vr_b719QSrA2+NAeKXua#!U4X89n9@$>dP)na z3D;o)mUkGwdo)OK;q*IZ?z3^d0~&A!)z+O-FfJH)6*>LeQ91mQX!c)%#90?>-c%G&>4J$ET`|2C1lX1jsnqe3aB z@uFn%y(Jmf>bqMCH`a*V^!o)3+xD*w+YX-$Q!;6^`gk|BPg2^2pdQR0Bqi`Ky}Ipf zzysfLcND5d5dNI1x_5Q5OfV?&Ij#`VH$L5@!pB;P0&Cc@(uG|h!&%~A(}B{oEtktL zt-qBjRQSDA?4SaN@}TmDp%k!vB@o@!{v-m>{(&1~&nX?kAO$Bh4TY*EDccYn~H4%-**%?~8GIut>5UVzzR) zeVNp!7P}_ox;ig7==hfrrA_dwIU@l17wNK(9kx32joQZupV0Y3!Ty4I{i<*%-7er& zMx`!5B5iz=^Kq)PLMmIs-*jj8ZCgS=nd8E7+3JtLTiC|N#xk0LTHuZ`f>$=Msu9wL zVHts6Dc2NHS0FVJu*J((Sq%QkN$4KX%0=9H*mqB|d#lQc`6&oReNAtwx>#NM~5jK>Ps0 zT3>105|Aw{;(?Dye~@7Nh7>&hJK4-jk#Ix`k2xwD9bD}Uyv^zs3kqnD$KGIo6TkhS zEq0Cps1b1)a8Y<^Fmb)JM zMWj?s*F2>IK(-e4b4!MY;@kk~nNRyjX=Gx+H`f^p5pzGd*XdYzIz?etk2(i~5xz<{apu{k`2 z0Lvi#PAX{k^x%0@l|m*DiAJ7^?ZlfPut{a|ii>aoqxO zx*QW!AM&}+>dD^DgzwFuf>-?-SY#3g*}u?}_5dZy-pRa^Oavv`6)S(UG&+#=R z<;pIAdP^Yo^7L^txQV{Os5bw{G3-0@&8*%@I9WYXTziLyw_m2&w0UEL)-5UM-qDd9 zP{^iRibNGq>M_xDh!pTCTVKNtH+|nu%Safd_gX$;WKEs;?2lKpoLo7#efTvkI=S^1 zU!sjrFssBcpr!IeMpBUr^DrWoe@#6CgTpHU!j=J_FXhX*edf78b68Y|{2VEWp%VtI zGe0UF9mR^_54%Jvdo6ipB1?%o}>1!HX*gVWowXh33tUX zl`&U5JdK5|e*Es>W13igUlC`DugKYNErUJW&re=>P;+abM;MLqj(-~vdv79g0_u`` z!`n_LPY6@(3>$)VhUa@57!^nX4b5};iZBl-OPEf~E25n5Z!ntn_5iiK+UZ#rA!Fk~ z<{?;SuLhJ4xj)JNFhe9rIf>&ts4&&LY$Sf&=nN)!-7G0!DFy*YQ5rxb?|cS9$uthG zX!;4wNd}x8Fg)|zABj$DFv)diwp7UHg&uSPL-igPzg4o%!maX04J$9xn=cfcR30l8 z_FPDQppBcT^X)Hvu|YCfxt6-gpx9wq-%|M6!uOpXu;hH}Rrb$e^-l7H!OHP%AWe5^ zVp%m*ns|c=zN-7)E~vk!3tM?kl&t*Zeb#$pud5q`p86IC$>;`AsK_A^l)d@yvHL&k z`6aC@=9f$>F$u2odk@!dXhwKHv23DfkQ_m{U$x-vvf5-j4xoM)hW2 zf}muMT%?7_3M;U0;e_?x8%$nh8@M^9`W@n~drMu0Hg707u+c$&4^fPwCm&g_!$iAf z!63gw-6xk|(w~Dcjnq)4^*CO=Ng81ky|HGujOstmDZcj3b-^ujVp`>^7^XK6^D)F1 z0pwrLdJ}N46EYZ3<5~%0f_s~>3(ZgQ%!AdFB=0iFo+14+v&)C2@m_H2IU26+%md-B zY;KWK2nMY1op~qNFYuEIdWDv*IvLGC^zU53U#Y|5Y?nB^J!*S?j+uHq9TFV9pwNUL zd0^_CHR`%iFZCUaSHw09@QHa`so~doehBzEqweTvS)nXb-}Ot(lJ%Qy6PxY6g>v8} z>t$VrD9`Xr3ukQ8KHDd+%XS-7cT~VFICKd;Fpd4YU4Lx6gftUef%qiNRDQbPHdwL) zECVrL(r9W4hxe~n`jc{j!Ns2%4FPx}Z8b(*x@-_)^vlm=5XZaVA``Q#b$mS zI+-HnkEHYBqem+wwEWZWmcIVzJoGJGwwTWxzIqi;@q1k2VcYizDcN73G}iHdxRlg%7%*aN`*=?Xf$rJeDPM{CGYG?eX}t2 z#-r(@>o$1* zlvF0!9;?|>f0~7OORtFcOp%PBp^8Z>O~m zuU`MoFIc<`9v=PrEi*ro^4D|VEdd1ep*jPAOcv~tp{>#LAeM)U-;MQi!X{?b#sm0> z)BCqSxlL(3!n8t2M5CmSz+%F%JRrlF66yvo3_C%dNcrm%kh)Kn^lg!@1%InUw^$4b zJ^6N37;Ow+RZzcx)P>VdPYlfk3^N*kdUb`l2kVj=qEE5uZi7CkmHp!Kou0+@;*LTp z6PkvFLb2FI?d1yQ6VxYMAL7! zQZBTt758GWlCEs@ZB4JjU80T5+((!)QLAgK zlixhMVqJpX(dIU3C-ef#W&Tl+=y%A9S>@%W*=aZ@y)6j|(F z<775s;WX`zd~@jJrpSw$L3sx{NZ`LGtDXaI3Vs9`7g->ox-E&#SHVCXq&GpVx{>9j zIX3entfa>`yEj3tBfWFxnj@7xNy0I}^5-NoL8AbtiB3G!C6Ia4{x|ieg!5P>_5mQV zR^(Q|rZyJyed(0RaBF#$@k>O+nK-bN+e&PfhM(;TKEQEA$f#h{(f)xty zB8HS3H3#lw%($N{wsdY4D#Su0BqZ=>#$wP7g8V+{+jk<=8axCtYIgrO$GwGB@8a2y!wg=JAG|+SJs>SasZ|zjN zPGvQ=dbyMAv)&Y(jQjW~`llEWi;ySJj{89$=zAO|6`m?tNYD67riQ@}Bz;pEhMOX7 z0*J|BX7jx@LJd3gfy`zpfq*>SO|{8%EWEIs#OJ!R!f-9`#8gkxE70NnIFcgau1EiI zsC#P&-&0LvnW$gpR>dA(2bG+db?I#VxCw)yiQd*$)2TR7TN3vcjF&zsjlteee~K^a zUHyP{C6RYXEc>h}dNPblz}@bijbSaA16I|4m!{|scRsCh`*)b&i;9rX)UxlHXP$)` z$PzZmAh{}3o^wh{4Z40E!V;a%}ayZ8o%582v55d~~>6TfVAOvgA{)1m;A%Y#jY5oLOO z#f+#A`FcA?vRv89+=KUxL4P(+B&pd##SG8;b1>o_OKU`o15ZVQwECSqsvD=?W2_d- z+FEPL*Jla-nfM)?<wCveBhYg~hZZHZr;Jaq3(>@S92n^xrRb)C{c#cjt8@al_IIvnJ7vg_+#bjnxN7NY$(>B>~7KszXYZMSBD z+Ec(@7YV48Epgx*Yum`iDIa4j-a|T9DK8CIB<^=9OT#a9}XuU=lC3gW`q&&K1o z-^)v3zHotfJ>vGn#zg&Rvff{L0Vhp04R0~nli0Vx_qsThR(7Q`jz!-tOn zlTa)1JJZuV_R6BwX6tN)hS>rOe&eq5GN=5fV5|uKOZZ)WK`HY`;xnJSU$x2(8mB}- z$uOT(1T>aP1&ewz{%z4QgJi;ELO5@B^-5?Eva}$uC@G$w`G)_DU6Nycn4kv*&jxD} zN&VXA9~Y!a`}EWMdiSl+h%RosZS^WYjmG!J6n%%~kEcO=8*xs@Bdgc+#^X_q^DE+^ zw^~Qd$Ghw{vmO{yGJr;-N90pMit{BSud~m}doJmydoS~L-Cr#|p9)qZvEuv{ss(r$ zW#fxV^vo~Pb5G2X_<9o8!}m`rG%P#@sNku+sFS0V4LZPdKbkzq?uJT8p(7*7Xh7#YzLTZJ}8Y@n=T3X{1n za7GRCg(Oi9NIyG{fln+SZ`o$ z2{C@1d%)H(BRfl$X#WV$`~``eGvoU@D1Bgmk@!Zm>3QGl%FLfmyPt-%{o7^z9R?X) zg_6-p2zQOdki+q7t$XQv?UJ5DW)pW?_d@32Qpwn45|rbj3iuZ;kg7MOahIXo2}Ooj z!r|sp(`=tfMwZ^rX6zqdU&U@01b&3e6dv14dQ}0Sm6?tS>wBTrVL+c%OX^`nidcm6U-ucRc>y?KV`;!W58a=FI$$aVS&9x`HOjpDF>i!S1uI zq!lYbOJ{P5yc=?duB2%4;?>MCqY_J5fy$nY+%Zceh^ABfyVTy=tQ1INanN5*HSviE z>~RWG+`pA^>oUkH{9$hi4&$ilpw?ySsML?p6tnn9CZ10GjKUB$pAonJq?po!pj{Q!5A2K zvcHyg_bCAC&{QE0GsU{cdZKBKZnB0Y-?g2pWV9IAJ?0;G7$ua3_t<~9vxyP~_(SnkM7@17M)h&{nbKsJ z1x(k9rT4Ya)yPCSZMs++oPS|y;x0@?KW(M0+3Z#Xbe!`m2H;QFY`V$*<3jx}j2$w}>fC7P^*$_WKTQ#qg zee}9#N2yNlINCXZ)#K|LdF2I{Ds^}U1I6=8OHE2{_9m!2&O~~6&+t47A*#=*Z@|g5 zX(Ij1^U>p28-u%~scxX|P&tG&(nmjdR*8+6P#$iy*;_kMvhPLnNve41?X%3uDLPko zp;W*%k4DI4^xJ98WbMY+7Jx4WM2BR+1hwHTv|Z5@T{eIk1(ki7C_q@XOAr|%E&*Z! z6-{ud6RbW}XZJuIBL?O*;81X1Hrap|$Y@I%&e~I-BH3SmyMLhWsLEh`vrZXFnhS=7 zb3Bi?Yr~S|A$GEDSddT##69~hd)H3*CObx4^^`{T1Tt~ozq*mVUkH{{az1H+VjP%O z$$Ust2??&th}#OeV!Igu#`ega3bm>G1l1)9Z~9d9kMEkU&|O7cQ!j;QpqU2yDYOVu z=KvmqeIbz9{S^BYtEw)2m$_BWH6t>-r(D_55@0f`ZOe%VeR&auX+!Rb%oQTF<-0Sn zIiw0~hKi5v^dVn2k)T=W==vuQ?!@q1qV$EfzYNyhjs!itgh%G7$KR<6xxK%<^mws8 zue6!CuI&;?T)D*hVDo&~^0`jEP~$;_^8nNE$nGf zlYQVd#=%?q(LIk3eK7Z$7hA`eNkK#-bkC(-KE(Xkj+CuJ9kT>v;ZaYTRc5`==I8J?YM`LcTWP=0ijGYHsltA0> z1AxN*DYk7Rz}_kXY};8~ZFW>gleTESlJ7qMQSDUs2ATax{=R*sN_~53b$(XCN4kKw z*Y@qyR-(=i$lyxfckstFXsz-$$C-7Rf(NfuQs~`1Tf2RvLa<)UOHZ-T#pQn-^N?Zq z!JOW%)wTM;p@!es@tRR%1I^_TVv2=6ZXK;jsCIyCtv1eK=4;`1UA^DFN89K|1!vdG zCxwHV-o};XMK*+V&+h5PJ=3XVid!m_3eW7|F3 z;ASz@?6|{LzO(avDCOWX)2U_6_!AS} zfUD2+xB%ZWqCe9|lfp7m zZKwr-^=Rp>SLKo37TF}7XqBIntBtogp;S z)Z<|~Jaz9;Iai(bg4RAVS{O24*_!Bl<5S2igeWs;GAC7=z!=|gX>h&dRMcK{a+mcrf^rD-J(vGkG@I>;J(?Irn%X=^CESqx4ZdH;~6MRjo0*+)(1;`w3lu^TUzEh8YA0Gzu#y3oBFrWXucXeSi82$!fmd&)6fmj28+iWZ`nJ zeC9m1$1&Co1Wgf3jaLfSJ0i;aJ2*g`Zy^%Ngs$czsrSt@YxWG+ZXCqToDv~VYb0?Pm>EWUpyyCAN0I! z$k-fQ!n5Pqe3?F87T=?{)~H_gT}IetwRoz=+ei7}%(6o$$L>nw)sy4VjRnupl82z1 zG6uA0$ZK~=pa*E19RB*s#0+Y7N?+y~1m7UCamUMz7tk3PmEy5}KY4eJCG*73?*~Ul zhM&yDz#WrFoR69kJA7)c7mdRu-23??F+Woo%g_{Utz{G@!@^vLnBw@2<<`zvq7G!t zy(8KUnUXQS8Op~Pw7!y_evFN)5SCC!`l^mJ^Z2pzi}!*b4h6y+<=xN~oo~V>in_!~ zcfQYGm!A*C8?V~(H08o#2JTiV_)xYEP!{HFftJ_HLCE?de23E zs^QenYyN48Wt-MVEu*5D#>(9Lvm2Y-;pWXXnBj@|SpuYn*0K}xDhU!E^{&TDkqlxH zn+71sj?Gu@^ofoxkr+QBj0v13TJs@9fGf4#gm{k*7qpvC?BMSX;pi=+`E|Y5pB6`Z z#n646U(5S!D5u%NvnL=iPTYwnYui|Do^8u>NO0?{`H8kj3#mX?A}0K9{4<5~_msMJ z_IzQ(;SKzjmset^ug*xT-1hP?H7XTO8lKIirqy+}Owro=e(D7bJ4TB7E&5+G9wT#le*OqIi=@n9#1r$?_NEvu?|_hTP!4nBRfBEiC3MI>>w2)SclIWA8irbb4Kcwvjp{ag9PH?lDDF z@>cV=yYOi9UGed0zNn7q!I_7Byx(5Y>2F48oz9$DJobN)D_e*$Hp1jt+Oymu{T6qbX9~Z}K0XAHvBo6in(ok}z zGMEqq9qyKuFz5H9#?B>ACjTR+#GJUuMdHS-6_5X`y|;|2a_!oN1wlbJ5(;dQE@_l* zQ0bO#RGLM1hk??tC~0Zw?o>d!W6?;*q8k?Rp6J$n?|a|-`Mzh2_s92*ar*;-wOH46 zo##Af9><&*#?ekUIN31k5w<>Eaiw3(C(gZv&SILTs}jXCTLxB(YVlyA^WaFVJj#dI zkH(ant*$$;+B6c`Re^PN)JT1J+Hg=-<(RehHhs0GtgAeel=tn2eAHB=uqYsx6_yv& zTf+!#=7gG;BhIT_>8bZn7gjZ^FXMXa33QruJ8NF+g-@au$6B24Jf8oY(o4?!)|-mg z?C9`!WT+dweeC-JV?W&MbJee`LQH${HBTJ459dwWD|d_}nZzD!?beoB9hSnL+Is|H z-C&IN(I1I%tSY97E-Q(Z{Ng1ZveMJk$}F|HEUtd3jz@Q@?0Vwjer|oRNznH(*}e|l zs2c}U*pbD|(3cRxM?98H$zNJ(rXX>{L%rWz{P5}PfE&aO(L;2&67U;uspTEr?Aq6= z%t}Ad?5Pnwgz50)72S2A&@qU9h|ng8*czw?L)8_=#}1eB_*gA0)%)frS6|E@Fxw?? zq#{(^$--Q(j>-9#AhufXwKWrKJ+b3|MIJ@ko`=pZRYyv zhPSe3dW42mvkfZj+E+QRuSZEt3`^z@-__it3NXqIqkH|ubD35Trn$V(T{y!-1he%R z4x>3A53ht-Wt_#W8nI>uHhvJQy@7fc-)vdoE3;4kR=}(=K{FyjQFs zQnn$99iKOS#NX&HtH?%Pn_(v~XsKfIgvDrYQ{`UK#DtKpNGX%fWC_?VyEA6U>t2 zJ|Q{xAaL3I&=m2g7*X+hsc!1RME}Tpp`!&dkT*+^QlPn}4oOwEIF284Jhwp#*EmcYXpmG^ZMazYv%X(Y3%1n$@=k&p(ZgONI=qqem2bzIChys!vrX&o>vl>oL1ZoCGp0lZ5OfPs`6c?wPNQlgsmmch<$^9Wf4A2GD)Ij}zL=%|ig( zE#L_{`Uu~aU~i+{ch+2{tk%aw;@MkP;qhGaHy?A6V%Du+&Fze#2JIIWrFWO57AKdh zZDt2B>2~K}whPD9B{kL;r300R;fnbp`0W?!tYgOrbdBQE(7+F+?e~I}>B4o4yfk13 z>_%=a)k0~CgLEmBBBkuPF?wbZy@ovw=cjtbqrAOmkv9!GuqI?Z;>Agz!)&o4gp(g` zka*f}R;b?y!Mx9zK>L`;r9j0dOMx}VKw|F`nCmqii)>yK7<(GG+WHhrfQ-^jt!$I- zbmowpY-gKnH0Vkkzsuxy66#e9P{w~Ns>2vAXjVaMB{&KDS|X-}Vd7QNMFeyEq6KBP zTWGK{x!zi_fFX2LS-Pq+Lv&{hix0`~1|C=53==zJn-XnY#3yaxU4m|En|XnkPeNoF z9NS`1Unuv2u>g;DjYGSRx+GGI#;v6sp$3n*`kw~-djd_RCY zma=3lAJ4U1Wy7?7R8Xtx<$pOrN<39;H}7e)5#ozZ(4!lS9lCPD#W=xCDHxv;ml07q za!7k@uG_9f6*t^_zu4lOt1zdOj!*dA&=a3+8k<8B1+B*HP+}WTZ@gxbR{?I z{B)SN2}e3u>i8lb1(dk)i4j=CP$!%=`R?b(-1warxv8vHK`=A$d>=Jr`D`;&XJF3D zZZY;iIv|zb+#?6xGvgJPRZE1hSMJIj#jPj*T0uRg@$1|}8lw*9BxQ)MQF$q+qm|HPW|;1v^V zr)pjCg!(l!=!-3RPD&yo1SMR)Osv=M2BEZ3egHdJzrF*~zUfGWaxh}RgSU9GXQQSe zeAT0DYeFF-=vX6|l%JRZ$?s5l%h2G+YVqj6?Z6^U6mcqLIf;%)Z?Snpg7~smwa|1(oyu?9Y;(I6zMtgS;g-Z`BL`m` zEhvy*l4PP3%BSb0SZcsWhF;RQ?fh}Bz~M?nL6g|*7`^v61xd0ZEYINbP$<_l(G&Wb zFJxNabAuL7E{Bv^MJ`!Y((Z*JBXRd5$o>hd;>pw8p??A85#A;Yg~ z7`gove0k5-ot_d3==qmQrd#Gn8J+t}>UHf9hMKq~oJu3?pNlsmI!+9XvS#XI4SFJV z1x;QuagzjqrB(q6g|hsPCy<~pr6?ardo0)MAybWKyZ9X>mZkmgQKzVbImRFGio!fj zs%K<)Y7x$FnjGxq61eC!DgAGWeF|8+jST(d-y-9N4EZh$JXbfi?lHUHDy zji%2!AR{t8kk!a)AWIozo8}-VjUQ=uUUc+^h|gY%SsemNlZflur}l_?50MgEj6cfB z6MScv$=tDeXIZ47Ho9ZY%C@ubS^fG+Uanqkw`K!%{%;9KKKf3jdLfztMVCd(l`*;u z$z=-eYch1X4;cd-Hr~VgMGzE^>_6(CR<$v!fkqq})%K zkdsX2`T?u$Wk+pb$2?B7-oWZm?- zpJpd|H($)t{Kd})p8v~~XWnSop(t&yQ{sMpo_E|eB)|J;R_D6U_c{_-tvaOG{8QoE zTwM`*iM(|#!*V5#??=?K^%Qk2b;gtiLnq~hUtWT2!e~Vb^$&Yd4n*4gQ9rFP_#b)U zalh=3$O2oqQP$hL8S_nrCre?Uri|xWXp)SOQie3mlz2rL%80VsrYKC}WUkICH>;Cb zeUL-wxmZYANd|N3Bp!G|$SfqlyEz*B;Kz-MJoEOZ@_){L1VKW^ZSdr`zYX;1ccpq2 zd(DOU-V(y=YZ()A^{6Boa~jxxsFB^QSTtP%-PnhW!>cSp91*3ifw?Ud{Rr8JW%X zSqovbl`n^SM{#soo@0w84ZScIv9*c+MRJyM!FZwtdHkwWb2^JHgPu(zd!hD)I%@_PX@EVN>}Xk{WhE+5zJ#GFn~f zf9&GbR=yPfR(CWVE-!RGG~W_etED8R#xhrwcncU#86Qk(uV|d9OxJaH(9~q1q*riH zozx5ug(~^5xk~R!6nqfOfJAjYhTo;Q74E)mBMiH1XZZn`5whZHdRQBb*ARxVEU^zB#NT<0eSzz%=fgC*r~lS?M#QyDDD~ydJN?oF~=T)^OfG@)5Y%D+z(TI0Wf|^7tNp3(dIMlqda@l2%9F-?gk;{{UboKp9U^5&FG_lQ zcBm`fi=a^9$d11Lei$3Q@cTFn>bJM#2KZ30E4PpVQ6WO3#AxaW zjxr8ZJMxBK{|~A4#sOV#a!$%s8|^;?Q#@DtXf;zmkS*N$(@Cc-d$OveaG6Df_LL4;XzPsRbI%65)z0h!C!~Www%2Anh zYfVNhe&@1`UtyuSi-P=E`109Qn&h2+?>8Wb{o`h_iI4&8|1R;W=h^Yjw@UI&pbO%W zd3W`^yx`MyHFl);6Tv?5PbmB$gdRA3dQSlFpoN9%NHjWpn!!g+*QG@UGZP6N^-nEw zjFPX{!2Hzrw=l3aouJ_IYU@T7CCU?-kHS94JuDT}po32Hrr>FXv@os*U+@p>@J$Hg ziU8GBL&wp>|zbo|Xocvu*{y#25XxdlpygGqX zvj`g5^$7X6aqaW>p#n=oGgfS9caf!CW&3dk_x#TjP)J^Aw=4%<3?SmQmjE3<%yq3M zD__h@!~z>)j!}7WTP;ljryY1-=1z3q^5unbtwREDQ(h@jlw$9T-A9047V}8o*L=E` zC)Da~{mm+2Kmkv4*;`U9GgASrLZm`xm@3}=)Msy^8Ua<+aBV1SsW+Ab@&vwArG@fJ z{Uab0UXdZQo~8Px0bbktt^MgKLZtS(k_DL`3dI@kcOlPOc8l@v-pRJO4?VF;}zX7HdU^TTsw z2Co6_Z-#uO2|;@J-MEEa!(*yY8d*XOz$sqnO%i&)>96&@ta_zp!2C);=StD@Oa_Z% zf(EFI+MuBYF(KFe?iwmGKN_NUh&qfWoI`|=ox`P@DIu%zUc$n z7f6Ruh%S72i$S7Ucpt39NA~k^?YpR7H>_ zoLU-xtk$LE%9%CR0*>2H;b;zSOc4z*m(2-hwP2;ws`+5h6(v?IbnyZBS6q&~T`It3 zkwSiVL=^qBCZv6L%L{MnPz8+0q5`MtXqYi=4PD~NnvGq__eFn1Zax1MlTN+x1 zNhd;w!1zd&KB|YtPONS{58VN+IlHk614gY=^jH_6@KG3v&A%B!`LEu*=yNd3YIlE7 z-mT8@;w4YI{w2*-901M;&{&r^gW&; zdx$Cs=T>#JoZKqfJDu?b9RuBRvC3`%FV<~tlI2SN8a)U;X_jS!9zwnI4!$1B8oC8) zjrsz3Xvg8g`L>h`+eHB+HKq2eigdu&`nMph5mx>FU|c24pGD|CU&4Gg8kzMBN>q>T zgF82!FH*DscQ9S6!t!Y2)W`89GE~^@<^Ff+Y}`V%UFxC(w2!^fUJkZcspK5v4#oU8&a`&WIBPb%1dsWCTR$KwBXK*;6fw4*6c4Z_eqw-x$T4ui;6W-xX0 zDVUbA`8~+|!|CxE#i7+I&t=pq@0xF!AwG*;U=AI=S{gF!O5`gDjQ+C2jcW<$-ncZv z!e3@ke(0UeB2dK=xUpzoL@z9in{%d3^wZeAF9#k}=_)t2k2e7sSKrtt6UBa8ac>cAh6=Ro9pqI zeuSKb)WV<-k)Ie61-L&lEPu-%{ex*kd;Qa8%DM&-^m&QXAwMep@n$HO_^tL2%rH3>0^Gf2E5qNf-9|rL} znUg^Be^obu_iK;cMHjWk{uH5I-Gjt-I+t5U0f%KyRy?#?YFm$5h4gAZP|1f6xiIG; zOy_P%CXiRvj;^~%Mo{^bFpqLx6nWlsC-e5YNd-iK3;GwS1J5EEX{2P>zV=jbYYT~i zl2(VYggs|3Z74rpeD14D+wvoy@#j-kt%gHG-NoipFL-R${Q1weU+=1)HY?U?%bD&- zJ#If7ozlC@KQ%w6ce{O#;~l@syNM(rV|tf^me!_?y>|d{cd>nU<@(R($9C`;y(Qrp zUnpY~qz2=PMuQdUWp$2}BO|NePo~?`6N6!`knBy~$IpX=(vD zORf%@su9_kQsRj5z07>5X_FUctJD3lfqTE3KJQzMM6x|J7$tz4u`?LIrCLn!Aok+h z?hPj}7{h`af&^;HM1|E%SQ_0OX-kG$x6PJJ>g78z9*!sbMRuyAhdI5D<79GY+={7^ z8d?^qgYUso5&pFp{NXyTns?@I1}I#cNgZ~zYdhU+IqciHpJvz4l0qp?!4RUEYL;<3 zpL$W+C@6Qls^9>zw*X(&ir=cUF!`32c%h0Wakk;tNBYwrYD@&VM}Y^(&~3RyWGJ8N z^X(q#^TmNGh9z&Qf{2Ld3FX^f*536KC5xfIt@1w0*QuJ_xeaJ{kFz=5d-Us6b9E|3 z#SUUO%YsrB#brzFu7%pw7hXkSQ)ytgo$^~n=uQh%UgMr3e$97Oes^lu;=F{P017+ z>XRLL820hp(Tq#j`0*u3Y z2-S<~^NPDYNvf*7CWNyi_OAKO^7~vCyk*W}r?pBnPvV3}L5>+s-cRtC+4|vqiC~%Ab(*xWi|DkB!#3@4_nEHzp4?0etAX|?vb$aDP(UF`d;gtisv5jXlY8SO z#bt$V$5s?B0#&3S@q66g^bzFKe)!wMAg9GcR^`cIE;S=Q$4`YNv|CsO4;UFIaLcng zBNcF#0^kV-4O`>TNmPn_bmzUVOk>5a(JQaUcsUe(8BM9A6ZfI~vI`A%&bK7?o3=si zvEvck6-!eOMLLE#W`QAIU;yi@fIw7(%3w3Y@K2UR+Mdkjap#CNzv^aw=_U%!HWmK+`GIT^rXr)^(;^Ob_~y4xOdi3${SF$onyo9eP(^uTsOX*hZ}`qT^g<*~d|zC82Qvzz!$w19 z0RDBSDH-xp8oUX7gfS&9>h~&2X%Wd)CG?n5(%nmo3z?D(2GePgw(upr*-dV(`oMvm zk_;%>GyW2#eQp9!VUgC znu1W&LDkMh3^kpcF3047lddPLpri%e?DmcI_-8(xEx5-` zDix9~(X*y219M|5Br|@Cg=AL;nbVE!8rrglYv|**hs;OE9MwIjUHr|&UVNrJ)nKN) zNfi+|U}3-jO5_1D#JntD&U3uR##?HgO^N$Y94T9AVdF6PRq z7i`QG6XBMr)-PDH^PF0d?*UL$*8;vOOTv4xwiCFsK2 zVh^GGesCe&%P`9%rf{T7X4g$_&S$TBBYZJ}p?$a5#g1}}M&Q=#b{+yAhuO7f zOEOoWEx4s*EO(-v0JeBb$y>IL^@2738#Im`88aXiz&kIaq+_pxc#(NGYo|=3^qd^7 zrAScWhz|yEKBLiul-3?jhb(Ozo-k31M;QcXd%FT_@TpbQ_?NB76jnf?Du{v#$?HTM z1XRQ#23CVe3NJEK@rV|8Qh3suGJ^~ghK;&f+2S$G;1r{3EIJkSU3le<<>g*GWy|Se z;l;sEyCId{X%LI6+Ukk^7P|3$Og;M{Ux;K9N16R`T2Y$B{gY1-NtyW(t4+&%SpC;1 zKBw+bzClHmUW$woSQF*leY~~PNiw6E`ofW~H}(GJc|XGZWVUnHCDSHD#{j8)HPx$w zU`sYsNxUbPGnjO9xg+uN(G>zm=Ird|AXPPzWb!ge^p@CUotIAdJiv&}CW=l!8CytT ziRG)t-E>&%OEO5tyH$mcNo}cn*@=QvttVbvd+wsNI_9okiVWq96fEv>>g0c#z}hJn z!|I&RSbX7W;$o~|*RJ(2Zm$qj{3VvFlVXl!r}OC2a|mokTE5-@io)TqisBP6LV?

I0a4I(p>q#p2^=`WsAvO+#v-V>r+Cm_Kj#CPAz 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 literal 139420 zcmeEt`8(8o`@ZTfZAj})p^`n6HG5KaT5Q?xvV<{|G4`P%N=5d@GD1iU*+vF4l_Ca% z!C)*Yj4{Sw%wWct?_2kCf1c<0{srIfaeU?%$Bg56FW2jOUDtV?=lObe!`eh(zvzBG zK0X06)2p}m`1tXBd^-pC?g4(W_Ib0HkMAL$*;PZ^Ft>$q{xDlRcKZV}dP_>&xy$>d z_O-=(yzS@{ZQd*`?V5eD13Cc%eX6U6q@73YeG|x6Km#2CwMUY zt3%$0Z^fy1MH%23`uic|F$iw@&Po$G7xxEn!+$;}Lg8HZf4%^JfB5ai@A&t3rR1ek z|Ni!4<$wRl_rF2dPLu!5g#Qh~@51o^M<%=xHP~E=jpEQ6Rt6p1JIMJlO8L=jxobD; zWx36BWMcyZw$@JIeI8ou!1BM5oxfF%*XLMbHdib*W^)49#kzK12@~YwyKlUa<;hJT zyKk+W*q{Z*DB$(ha>rtL+@P5ZhtApV94|tN)zNEtrKo^$c?VZ$##rbiY-OPq-$@F@ zD#ox0`P2El&C<;^EN|xdc42+E#|WDr#bpv#fS+9T*MIB^XLM`M!0#baS`&nDTU?G8 zE>lr(GF&#XQ1ljUtkEW*g=w!9vhccjx$Wf27Ke_T++t}Sc~=zuyELB{orkSYC9FJm z-@Fn+8fVOn%haN!VH* zH`y?ke@Y7or>}OuiwRspE9mNMPo9E^h{#VWRbg>)vH#so$;O2moNOXnxHw;utGltj zZWYi_UYe`xaF|QNr)EegU&ouly*u^QtJ4z`6F+BXXP02{ zg}_=Wa2;o-rtUmu>ciOIQDD;a2035zj5ap5OzaB;*v6@=63?~S%$Y2AjewFy%LnUej_8 zkBBhO(ExX)rfZ)(Z81OiV!LyGJjLZNti(pG&fOGI_e*azke5qDuNO<|L@?*2G$*5K zH#hJx-uo|ZU-?8g@Po&dB2qw;6`Mr^dFR&hlCIo5I#W?x)CcwL++dJ%ZqDVySRy;v z;fD~r`1rC4c^5Y4ijt?ZL6sLld?P%M)WUZ>aJ~P?Eg%8?qEo)@4gP)QY$YPAM~D8s z#44w2&VoZfcl6rL%3C{j>`=M;b#FM3Ff)Yf22z)+_WWKI5w_5mWP`0?OB*2G?b)+O z2QQmvSzWsSD*A^#6npIg}iW&ADwz0;5y}LJ3$|L0;Hf+4)ihu^mC=ywH_tRp4q54_v`IY%;52GV~%@ zrdO^!ZVf%OeK{nMt8i`Tdw53d6kTJ= zV|ZIZKfmtVU{kAT24A*c`-Y5r)bf)t2wpEWC1q-f8(S#bIcRZjW()<+ahy0z{(VL3 z>-ldse@XCUYrVTwuG^3DJgQ5ALP6)EG2(|$%}JdxoY>yak9V~o@y|;?HZ^HQW%|jx zMuOU2h^!l2mm@ZVnUHh9g=;?TXsoxWOCik zDpuZB{))8+2y%(q*D2(;p0?Qs={e_GwAC|btsZxgJGNBq?I?4M>1oeKE{il{z}raX znuu%%!EdG(ub)<4i8e1RDiXtl+B#r%OdQTSrRXb`V@{e-lmeMLQ!dsNt)3cu22_R5 z_94;ylvg=QicM-+Uo#*4ocTprVj$5g%gZTKtqHim7>+YXqDblG_S#-*i2*`a6SWbv zytWp)ZgSVIxTvcs^hFBT0{wm2c@GXGl$;rwFaJsi0l$3HR&jp3v<-LCr0si$k&zcZ zv9iC&!-LUS!>h2fV{0kO$)x}hcnEFSe(V8w&)s6``Yf58laj%j)O!E^%@Q9aHA^l{ z^Tn%g#Oo>QpvmZ`uZAB8Wq8}t&V$S%;q z3P;sON=eQ_OgdWa_nu!xL@sJk`ie}D#(Dhg$j(=}R~zY_E*ovy7UpMJ<(g zby;7fO|&+f%inKqZhEdvcdRV8OOSY%ppJ25V84}72Jn$qk^se&?}iD^^Lr91zOi`W<`r#YB3HGcUHOvT9G;@|9y&#fKg7z18rox z@ZaVA8t@X{t~#ZxsRW5^xDynw~jJ@%|CZ2`Hrs= zISoU%W%JuD7{q4a#>dAi8ks=DQibXO5Ax87AV->vpej-(TAKF7Enq>mN)j=FzLO30 z=h3LEEWO&!GY<=86Vd6Q_P*l&m|Li@jiKhKYySQf3uBFhEtB`Szqc=KJajVS@#CEd zF-PqyjbAFIeK-^dzu9|hYqjf-gx=)BcL!`@wCrT5_d;KNoXa+OICtxSGG@InYHd7} zB>~!w$-91_?n=sBN2I@aaWH}YCwWW!P0H8Ow%6)CpD$!gSY#C5RbcN0d%<5&=;LEQ!{5oM#^ed+ioR% z0ybr*$owZtea%L}lm5~-<*oS3oPIB*S$sa8FJAR`@vw=c6la~&(IHJqJjuWjTCKFb zu67m?1%vl;fC%1aw(1b3J7Qy{N-ZkF!Vxj^tbqaB#$QP~UCP+)0KC!IV&wC_s}o%$ zmzS3XCojrpS&vMF|5Z|f2BVFBTm@Rt`FiTGib&I?>tkbh?29K=RaNO386EfXVctBC zL8*VG1yE_tyuC|W4fZQ!#fNcge$EtgOtj-*K=_6umLH|4XjH-fVCTnlBR_t;)VR{A zFas3x8s2Rnr}!>ssI8BDd{A`t>eWk8?eAQ+K1cUMY-JoniKh}iY{$USZ<0{%IX_fA zgx7UX$Okg2z1;-J@R_1y{Tg2NeCpqk(1Ee*L_YiRlD~A$&}Nj3B4j%02-*94*+3vZ zFlSRP-qJ=tiTfj5C+fI@gRO1)!f>_GHq7HBt8a(GmNLoPYB=wXak+Bk$|;P8ZRMv6 zF%+FM78+xk#54XtLI!1yh6dGlO=#Zy;(_O>_K`@=`}gmkjuq1X@E=bBolk%J_U)z3 zq7OkEVU4&Cx#u>10iiXNxOVddY9czS!cvTM>q;zM0%2lo+{vPm_Wj*Pvg64Xndei0 z#s?%~hJtLDJKJhOI%`rB|If{1fSZrF%cd+B2paGMaVGz2dzrR25sBYwe{b>kmUy|8 zTPSM(dr|m4-rkFsODya;J{8XWjTuUf!>n%#l>bJHd@kqX$N&_$_k5}OH-3C*BdJ^Z zF5YfCr-5dB{0k(p@Llb-FgJt0vs@TqW7{gfT|fc2a$pLm8UrI|b*m(Pm(&5^PVes= z+lCMTN_ql3gzUV(FoG!b8&voKcN+YV_?u4n^z91p5J#b?y?AQE??$2y+{y3uwQY>e z_v7vv-BQ^^ZRa>L(`fsbTv6ao>J`6Vj_-c;A%qRkk`=!&*k`sOf%X40uj^mW8}M@s zrJovMPVY}3$`a-N=NY??wK9m}B8uhSb!i2#RL{Tgaq=La{Ht=J2zd*0Qs-iZV-Rry zv$EB(Z)KchBQ{#}zKT8pm*+*?so9(?d$uxylUm{GhT482;s7_A5JBi@4rBK?v6_k2@_Zl{u@ zI|h&*r$!%aXtxZp7b?;fhZ;#Cp4E*3f}~4^|6c6MKM@8H&JD_>o?8@5_v?7e&5W6; zMQJz0;!pA~Il~=phea18pH)A)rK@e1G@)jS2`j!D9oAkAcBqm7UOOLS>)*5dxI?60 zPSrg1=T0f5QTM~5{N@Qm!ZlHT&f!xS;T0yeSdd-?rZn=}m1S@qL~=(472T0?a!)5Q zFkQ<(RPOk{GI8eCKD_!n=lk8BzI|ozkB#c@Lk03OC7Y7en=d;h2QF@%H4Di3i!GA( zr_yd5KaSO&rR`7kuV4FW-jUzu5VhI-b-dN;XKInxx6hQn!{j6>#;(@@M@EF3<{%V3 zTlMa>h6`BmTh5;W%2tqL5$)(BXy{(>}uN+b06DR zcApOu)NX07;$QW5dwAj`pL=2Jkz5YQIWpf(s$8i1)$)*@K{$6WPyqcCz*`Rg-h+*I z!?spwM#b(8Vau#w&Gu4vTfGWpJ92tc&PV5%$#*G3Banj6=sok?+Fvup{KlP{f!Zd2 zMV^^=rn=0%+Zs9IWa0ldUn?O4pO?Aih!3=Vo!q6|^J*<0aeA`FuAy&kviYWT;3*MF zRhhcfr#AwZSAx@)V{>q&${CmZBmX0+2k0L;-&aqKj2voZlsa_e z!k+Z&);^`-W>LxDeX93q3bJ`)&tPjW1xbG{cwF+Ulwj`L-iI za@MvP^Xpl0s`^{xz9Af4F_h}IQMSm8zoG3ElLMu{bXB`?H^(?Jp|nXWhP>(G6Aa(5 z48KiAUdx(Q;mw=Xkgtv#7g3`_PPzK+guwo~N`Dl0y!sZJQhIXZ`hV0gcWE&~QP)wL zR8hbD`wIrw_Asqqv5=DIf_lOs6tk zDD{xYaM82%u%?_>E)x2^JfW4f)ZWv|`&QSE22$Pn6OOH(iikjW{6Oqmp>pDJ4S_?a z-o)@w;Qi|+m1456rf<)(vS@7ImmJ{31z5|F^Hh0vj1%|hPqh8oa;%Z(#M^^MN~mg!q6evwQ0*01 zIT~KpNt-0g7fbfUJaE7`%1j*3)l@MIrw&|zUpjvcrL=gK7&tHIaDMLGuRZEn18)y8 zPG2d)`4{z?tOm+g>FJKf{bGSZl%q6vti3eW!2Wbo1!%C)_uYueOl11+e!=G#QWj4> zbJI{I!Z2oJBMuUWiz6GjhE>)x`>uJruBNk|%`(0CaX?*q($BvS=+zGF>+?#VQy!uE zX2b&ypAwb@#+iobJ)XE>saVf}&8>cqtNdnuVu2-1%0hjyXLovzqN>TRLawbFv}DB; zc$18|Q@c00>xOAqH07VB+C00|9K_ukz64h<$WXJ`t42tra#U}%PET+f?N8dALWQ#W zh1YnYeuYqLr<_kNMznYL-QgF`IVO$k4(o>92)D&pLwHO0J)OOnXTWUfg;Aq$>)%$q z+~jVU3DRPCEVYg4-L6Kkr~A@djbQ#ZSSn#^@m}eG%yygOdzdYZ(0l=8fp05gMWul5 z+l~#*7<~{7f6=hm)Mh2wO^4{}>Yb~$t9aq4dqcyZc_|mH{)hVms+ww$?pdXQ7o)^T zP5CpHL*rV`g0>IDp|afpfqp`E%5Szk z&#@0pOMm+pRf3CBC-5_^(@#kJDK}}S8i9V_f5WkXH``sdGO5|wwKqTvhLl9o8j#ny zOFg!=h>w-R0iz9DJWio99hIzA=+UGTtird$zW`U%J6HEcAnsu&hA zQ*cw|Y(v@l#%RgB`SpEiGJzugEg_4M!D0-fCbsEh#cgUtBixtKY7}*jFzQ|_ZTORN zhf`zx8#wT(OX^lNvhtlgSXBf|&>;{n!p7><(iQoB?_mW8a4SSiqyp?0qc%-2 zAT`+K_rHPgI#gjpsOzquP{?0Ij6IPoaT1Xaj;Yt$!-2SFEp3`)v}(E7cs+E<>WA1x zFLo^tu56WGr-VC&*uaCuU;CDL5l`z>d*!BsMJ1c^U8X+3!oksDDbrRIxifu+$7**9 zBKmQ6xDXnzkZN&G2b(8?ti01$+K{ksB8_w|n=fx^v;Q~n0bow}cq>FvOrXX0j?6Pb zpb@WgB06UdXm=X8zh3wNp6UPOvWtw5u{kTD?<`9{C8mJIgvRCS>sq=s$GqKKe719g z1i7}7?@%%z_q57~Cq|kJ5J=?#gHSlPuWw~xDoP95ej%J$aC2qr+42hB{d#JZyR!Ne zn#-X&#Z)I5n&eTJsS&dPa-Uv4x#D-~N!4feFU?uA(if(TrAJBU+%L8uH@R8&O!BGK zQGbcG#uao(s}WggM`Arkhckm(kLh`h{g^%c2NG^0Atkly5ccUQ5R?tLpQOn1PDjE!<@(>4gvdBJtPE@_oq&=?&pU}w%@amVx83X%kCvo%~1zbS3{PSr0^SD5S{K-YQ0!iHYuJP(< zLYw-KFUj<;@dP*GG5%6`$O(6cv*iK#XHH7IR@On>_CEO%%$pE3=QOW z?DLsy-GTTF-TXHwS#& z7ZC~&FjZ!!nOn zic9O6gr;h=IGH~0>F$nHv+Yvs%#?F@k@-@nt6XKQP6%I=9hb8d1>iSNhS349ww|4; zXib1oGovG<6}8pVEU8#Fc@qxvn#f4=EUyPcrct zZlDr6PqlxP3a?pb%XzHd!vz>lILBSw}&_$U!V2a2I9H+ z=)$f&q6IEKk*>lWS<^{#2pdcWq}`}zJ(&Fqrpkq;z^=P-)aM2P1zXw``vZt%%b>(Sd>D{8N; z69q~knFk^91&e{P(BygYl{JHaj?>QAOuJ^yQ2-jVV%=J9@s3b$D9aga^ z&PC8^RIidx;@W!cf0VHvy@iE|ryccud_&;1x>{hSa9~OQ5WSPkYPWiPg)7wvE(8+a zVQ4~&6qn9wkLbZvK+0f$YLr)n%bu1!|7j{z*ePOR>ZOt8aD^de&k&1?s?w9O&lXEX+i1ExGLS7yE{M6w~ujDYdt-di{^E z912#Up$Zh3aCMIpQPxiSyu{rvGf9nTVuQYTFu z*L*6#1L46RUgVP8QR0q3!-W@;MT^16}F6)xS&9>+|$M-{TUp zh{YLDY@`K4+OUK+)KQR{d+3~SfqqGTz|e`D*Lw}*MBvic=E%6sHRkB{!EL~iH1OINq^ao1k3J=LP9<|>>sUNu19)KvK;JM z@2#ok?*dDHnkNh>df>xdlU+++PeL~r4)2L0_dNOsz)PG!#H@Vrbkvn1)D`Wx9}v>q z9Qt!1ykBli-4YuFMmbhFn>bKM$IGl@y>3M(y3}HtbRQ5-hqHR_tPBf;*M!<-z7X%V z1UQ&)ICjwVFPf4gxM=3b(1f>n2uE%TYQ8opE+zwc-Y=!miC_IZi8s=&OG=k226wH} zOX*!%gwTU&k*u{eJJnIMER8 zD7V%-96XP6u<+#O3eJiXLJoWE>JDCKkw#AZ)8f&Rx&|i^pwprRHS^8bC@a%4LS~lB z#ZF6}9teL`q*fMh333w`^cyaf1Vht5G~@#a&nsM2D-)HtjIDZ9-IBT&coM(Bt z;`0a0bt5NW!9j^6iK_Svw0A_n9s6q^k?nAlaq+=;GI~#A&*3+ODNeTVy6Ab%>kE;erWbFa!|Qw_Srb=88azL2k0O-?EZ1bi z)=0hh1IG}c+lXG3p%)cI&|52X1P@)_U(gv-sbbc|&Ppa>OR2nwKx07?5 zRBgTpDN(`fG9jZmBT>;Wq4>bSN`^~$_Y(t!%o?PJ=M7(FGjP7oW2hLdvgjMra7S%& z1n^ughM`n_MWGKm(Se8OhkxhDA=5MHt>{hEetf(b( z5P*d09|`>_zqB8RwCX{;@XwA(j|~WufU!X7d1cPsAyMW0L>D7lfrl+o&0SA@#0HTz zHXxF=RJ}C?Guz|n{gS>kd`Ojs+Ve|0(b;6ue)XG@E|JfUQ@Eqd`k1~4Ic#Ke>8z?E zT0FMWv9jo~CO4|Ua^k|RTcc9;adq1LuzvKEAo+g#5nLCWq|I)MvV|m!1v~oWIp}GM z-T;vzDzslVB&iT-HY6GNuYs*|&YZsc!_ljCl_Hhxw))wwcoS-XoJu79D#K|beBhNU zacjs!u5oNAP+$c56~iifzvMDmM1WIGqXfL6I%>zKCyoHCSq~+QG6=S#1Y(;r8lG({0Th~v9)@sK@VfQjn`ch zP^v_9R63ef4$NzA5WPt-#3?&u^^O3HuSh?iiA+|m);B6*f!cbEVA}gU#9V1VZ49UQSCI#O*V>DAs>EBUqFT|4!5 z>02ULZHXw%un2g4_e)Sh2)+&p_Tf8~b=V{4i>t(}G8Jk~5_O`YNpiF!R!ilyhJ{pr z;|022b!YXsYO&$c3)kJ!Ka_-!<@@pK=}N$$k$sy)ff9wg#WcNzn$#Iu4poWbT0%6_dj zA;IjIENRpQjo66S5}W=-etv57gR;O7R37Tu?oxV{h=QQMb`lx{GI*Ff&iO7TiBvWE zOc55^z3SXR{vP8d_rM2_(QiOC!tN!Vm+yHMxkm1sMC99+`jXUtVDB2rsLH!xPkWU- zfm6t|hH@+4xd|1mucu-w+oQum-Bm>=qnkRfg<1dR!QLz?4K6hoijF*9%{DLnG<0bA zkJK43APAO*n5x)hflLD?6IPspJj&F{j|NfaCYN!0a)iIINSVYo{#lEFJDRF@-GDuw zO!b*xxnBot_);^XzJuWVas{ywBq5xtO=7zV6qJHbhO(HY_U6m+!ro5z^(5|GJfrep z=EevVp`S$@ZSuBAP7&*l-8~voUNI}}uN33T(e#Usshw@Wh#x=VZ+r_h2cFD?QNoAR ze<-Yx^tVZg#%m)#B|JHFeX#ZQ9Z#pO`%9n1!Fsi9{v_aYxMJZuxCS(@}w5#ywVsV)FS4jaOAJ+TSp4gq6sW z?Gmvo@3=maFd`)!eEgB3kaEy4N@Gw>Z?P+4Ez68Bw0sPdpVR}RllK zMn7`ocoJxD6`_i1OV*x``uXALMqZ`sR!H}mkF4vZ4|pX>go>;zYX|I|0Fzqxyd(^) z+*B*tf|iU7q8w$2_}-b-4ZqzUPGwElWB20!X4YJMfGSXF__m>{^beCg=C_0Izbr2J zxF;xMmn#QgKP+6=9Fv!$KF?&gs&?DX&v1Jw!%)wSjfo<|=?`$2l$!kaW@V&}>X9#5 z*mfZFa#c+SyL9Puew=>w_Fpz99ab$&NI697stkbqN`3TAuj}ZflQtL4as*~uND!u9 zZrr4s>fX2Z>gi>^MI z(u;qU^!rn;fb^5}V^F;w$l4TO^ccFGMikI|6cFy?J6d-DU*CPkCNk&4a5OK&0&hs( z0iV?qWfcdTrUDFp$Z%zlZ_a4)%FQp`B9pHmHw6>O!RG?%J3vN_U8 zO`k`*MOl$Q1W|0+jz%Ovd`mD2t0W9kzb}+fmXEdDeh9vgG_KFea;vg;&CWq7+lE!v z3QT9P(#6^{wHEN0OhqQ@hE6kQ%($K0oEDO0d*KdZvM{<6mwZ9OVk7zl~L_dw$s2-ZD@I0F#V&OPx&4uiYwvx8gAM3@iRkC5bRPh+JMf{QsSl#sOg(7V&BIg zjax`r))EpD9?k|m1cFtP#3}zFNW)}hkTBxNwnvKZU6X~nF0riGM0rkGC;wfzIb*&P z*k_csc101-`tYsGtBL%xIqEp39=a`*+-%7RWs&SEY01hd4=ni2Jez4cP5baw2wQNN zc*Y^6Bbh>FgXy%4^2x8~ms!;?<)O>=$=6ICDz{YII)wzdJVadg$jT+3T?&$NL zTrRt);z0}>ai*Mknr&WHTbWWRbj$^4xe@_?w*2)_WCM&f;PfXP2rk(vhODHkPi??w zc5SOk=;?alKm+Ak`qs5^z%u|nfRsU=REjo4EwupaDW22w_*I`?{ZCAv?+UafgaZc2 zi+!tH`#5nRLYFdr>lCV5`3r=6`Cm?tjpPIPn3#&oZ3pXMX9mj#WnP-97c^p60KPKy zyZa&hmX7up2aO*3+|pL|{I2qs#|We5mT};`x@Du(nQlps>86H~&J-%6OPkDIL)v`l zI!Z?iqG2ablm|yJOO_vb^Qvz~2XRXfP(eC0ZUbZIxGlwv?h{J@E2)^eA|a7O6lxzjm*e-=9vmvoi1I^zn}cWk=hPzcy$z_NKvaKM+)3RUWz2{|A)?E3aG~ zK9DJ-v7-hSR>|qDAE|c*yA$^iKVVQcBUug&1+?z(bYPt0k7wfmc9`r+#x(bwKu}-s z(Sn@d#JU)C0C&g)WFXaIKayE}Op-`Ff}rYsobR=ysGV-@lK(-W$pLh!7uU76JDtZO zG^lR*p07M=kS|7_eQ}Q{KVx$X|y#10X+02 zqY@0h9!uRDoOf#rUn;HbABx%L_;Fu4M1DfOvm00IEMNb3^&@lb0+2gZ#jZm}=K%WBrq zsiH)H*zE5v>V6jm;q4B?y$k1x{dZP}b6X*JYBN!;-5>&W zBM99FhXJNE+~W>7AgatC51_Isgtk0^Tjb-#IL`HCO-|VIBjMDMpIwCE>PJCL_TtJ0 z4)tRz<|bB0!+QT7O-;fehy4-vZp#X=e3-zQy?_E+=@#yjKFzeeKrNv@uoQ>OOYmyG z-_Zde?Y}6#&^WSysxGl_9BmxoIwVL$p@rzD-R@l(1*Z2A?!f*d_m#2X*>CTWqKQQ| zAJ*jNZF;{|L{dXpxK=8JprMrK74$VXw){Vu6pMq z%y}>)Nhzjnp8Cek>MN1t+Ki-r2)`qp?thvqhmN6dY?SQ12Y<=e=_dCrUX=e&9U{hGFCD#^dYMcOc_)0BCjb z3=(#dS$3?!QkCijx>N!BlvS1GN{XiL+9~Qo&7NjWZA=^~_ndfSmO856amwcY)i?0$ z==Q$RU|Au+Moshgm>|nyZY(^3JMwJJ^5Y*62yKQ=p{0Ew%iX&pU5oMC4J2$D0^RK_&6D$CA)Z4gu(kt4PAducE({R^F?6pu9V1_82?;LQH0;3a*N=uNVSv( z@sl>?OZiK=zpW*g#{pMG*S21m>6(peR(S47C#Waa426^gh}a0P``*xf^O3B@!RLO{FX(%|9F zZ;iajecI3H{~j`y(F%dN5_i*8-dTM^|Ikj18l*X{KbC-aF#?^BPz8X9`^;;xKvd{mKSIT!QMfG{8-msf|YjPu$1{IT~xJE>v!GG)no3 z)!j`%nmE4!6y>~HN9O0~o!-c12 zs;KCn06$`yR@XKQb(Pe)=W^mm6!GX4Dw^VPTp-KjsdUqB;8x5J9z&&kjJPgdTJ6Rvv&ZzXW zAv5~6cIZH{Z+Qr0(N8c2P0 zOJSN#9q%^sntUIyLUccBchW6pMH;eYKm4S; z*qMcKeBjNCaEl1`Ki@!Kkc`oU>8nRqfIk z4b&^ryGZJ+>A#kQv&lXIIr)Ni@b=ka9DBQt9ADgBE>2lXN0?J>a}g z{15&-8vddKq(lr@IHMUzv%9(Ntc!H;>R^wEd9uC^si?^qI;ja=1Z6cfj$j5fl2+1= z*^uDSuJW7`mr@hro2Z{Rs22Im;>$#tfU3JP`Lq{mpu7e1~8Sbm67Vzf+t%F%g=oq8CqDW?YWt- zYU*fE8oO@@N(;?9z9oUpJ&zw(cgf5|rK}FzSgvE2yT3jn%E3X0Hh6f2`jgPg|Khj+ zpNoU`bP4YDw_RR8-xt(Z0#+ZpKT-v>bcrF*y1FF3B)`K-FlkTt%>lrfb;o!Ih;|8W z>+MXZ=r_m4UFCnClasSg87fNeoPvap3<)Wx4hWh_za2fTg zk}ah`=QY)}Pv@MmlDn)7f?tM$u>hN9LA<7XTl;q5;V<1GqJ{11$(e@5EtaMjvYazV zG-|$;uQ*F+KAbS9oW8kiUFX7YpT^eaLDwlnIjUDm93XSm)8QU%9^ zj)U4`Ei{ueE6&i)t#+vsMfP`cxE`&LmPKtN!{^rBT}L-&c0{!A5V-}AE%36-_u0&?{@J_CP4tQ&abKXs?(&Rw*0(rli;i7h2&e`>kkeL)r0w5RvwnA$t0MnOZ;DPjoZK&@2d z?MUB|#zy#A*Vg+->YT}ebF2E^+93%jt^PhtGJ;7gAm4Fa5de*7XW|K4d(cGf(*WsUJRpPXPUd> z$Q}C(RUlCcTH!wLqPB7ltIjmSNKREd89brh53-qTw(~Y_qc(O}9yk$WK+>k6AZ70J;C8#{04DPw zsHyvaPDj)AONl=~Mu97Y+k04NTN9EbouJYGr)QtX2tlfH;`bXOdmg?(m{( z=z}9~k~Dc7F^@u}ko2X82kYBI#gP&65XJFH07jTCvxTKk5%~{|^=x7;w}uMjLIr3m zH`~3nG^q4C1IgJ{O&hF3!&W^C_AQpt?c`KkI^0Pif)>&znI_GiQ7F;vKODX>+cglz@ZRq z7|#?qoi`fSPIHQPa0KRqw+`esm1g(U^cUu;HZLd9dM44Z$-NtMjb}GlNVL_1${lEH zi>;glV>snU0$JJ&H+|#Tb5_>(8}6#=k+!d^)SfMCO7^!4`Y93p=K@Nic<-}?$t)Vx zX%^52zP`9i_hq&?UU~KPDjSY6ifxvX{&F160P;M%oPMcId11^w$x@^uM?;Crmia*c&JVjIB2f;Uj*kmj;bv zj_TagsVm<;2c-&KpB9jOYvES%RXsVi_uc7zA9|j}H%A;4)umpfq%S_N%DMY^eySEy z42b*Tdrt$Xyw*ExCd5G^Tgr7${YA+Y=H~U=dR+lnP#3q9XytyL);oYk6m~7OhNa(f%YO2rjr8p`Uk(P@{XGcw0LFK> zo?yQ*DT9J{UfJv-s{!0H;LMrt4RE!fr_fBYvip``NIb0eg|zqaoh{K@k1*2BLWz4X zSnRKxA9XSA>dwe$u+ro<1eTZdL&}MAa(WYECnCmbk&z?OO*{aV|8vj{Nb?w0(6eSp zaBlN`-rghe4tDHO1)-NJR5)*{W9J3~IL`G=!N$@QJn80YPE_Y{s-)qExQJbiHTS$S zD-a`Y$E`Zjp|vF3BlYp=&*dB(6+r4SEf+@aykumX6EE{{Wmjs4))h$+xS?-(UcSC1 z=g)VfcOTI1fI6(EduR%zZXf1xZ?Wg7w}G5Rzs9g{RX2n4CKIAHKIzJS@H5r{@kDC8 z?fFMQV)S2{g6WfDCuQ6>OSZ^1$&8jGzfTQiQ<(|BcCWaqQ+wR~{wJYrfdeQEwLb<^ z+ARWQk)dGr#+O97VymZ{UsW8Tq=SsnPUq5`9}OiBZ^tg;=c>59$qk-ETukk5T6R5;({2!ls|8z+U*0SJ>OGDrNbp_Lz1%|d&PS8rX#!~n7|=4 zq=AqI6*wx(+tlXIia4dcn^Op~@B|E~-szFpF9F*}m=D4;C3oWzUf(341COu}A^t_^ ze*QxmV>-lUcavT+AVuf{E*|~sF8Zrou{#)DPdU3v!Juq_+{cq)hqn_E34=ad#`d^r%6gp4{`w`Wls?NUWVH_g8G?Z;E9pi!U- z2xiro1S=HUpIhr*o~(nU*3W*Ru`51$y%+iHPG~8t$N5E$1KjIYx1JAkCW=n@MFP%j zK$W{v8;8Q>0p~`WqR6=;_6IY{oZDaP2h^|~qWz0b2p)2ekzi;I@*mUC51Z02invbk z-x;Cb?z|SO|LU(2R{m@7V%ATb$?IRE5uVS&KYZTe*30WP43T^P4|{JJRaN))jov0I z2qN7Q(%p?gNlG_JcQ>05k#3bP0qJhol(6Ydh;&PL#|Ad>PVhd@^MB8C#{2P%^Wpe` z;bLsoUTe-Pf7f;WW^x*l^_bqSSK#)Q#Q!!lHv3F!?D1Ii+V$xO)os9k*d2T@SRr;Z z2f%Il<9dAX4?p`=MO-LQou^mV0~UHYE}*1EC^%*7lfH>kaIM#r-N`c%#yocEV@8s8 zrGe0!!9K$NcgSuP4B63XMdew>Zg#nn@D*K;i0l?Ea!#CNQSNcoj@jwKoS1Z)JwacJ zOqaGWf0J<5o!yAexJ2`9uFoSbT(m`-!?P-*=9|gM>gJzZt$l{xqRM|XmzIhj4J#&PZX9^IP+M$Mi36Q%eWU0{?Ul|5~~D(3q# z&8#pz?Udrm)4evaAR)B%3fu_Xs>)Y7I?xcly4+*r0^b)P$u9P}f zia8YUR^c|fSf6Bc9j$w18?}gNdv~CjteE6tZRcc{jM>1I85su{0+;zPF)>Fh7zYTl zJ^XJkFfmndVpq`|Ar&ioR=sXU_=!d%O6_%pIyS3jex+?MjBu)d#&gxhBbI0x$Jx-a zc$V@8m-BSK{J~j6mzEB-ERmO3noG$%$(j*SDk~K%A&y-IbKuGaWrC*h8{p310$i%7 zr*iae4}|z}uz5H$FC>b$PL4h?F>%f1>NS>fNqZ)LU;HdTdf8iF*AC(6Uz8b6Xw6(A zOE+23Sq1xjIpl;irYDVEje#8`2L%OLaDfL_Y6NQmE`oycpTHdh@<=t#e#^+5OOPr~ zQvYn3kPCmM#>V4!R@K!Ezh>~zIS+)8+v=moZY6y}Myw&al?DG}ITTaJinP=a>7{OA z%kHegLcb)`j@Zx~Ef41%8{dy}5Zd%J4g}wP)!OKn1J9msbjGo(ay#f|?O-?ZISces z!`laB#am{C21{iHwFQYsB%K&GEz8P2HCB+cZa$!dXlwO)IdH1Z80k1=JJ8V&2x+9M zJ%T$@P*CKL=t8!+sHmvcgt2iWt77;xa~}Q~9};pBBZINlaNCNcgwK+|{w#gSf-vFA zzk2o0PW`TMvWSl^vYZdQI8VO6Ry_qgI>6{U+s+_ zb`5eMWQ?R*T3TrMtpCh;9)_P-k5HBU70K=KGDAse=^-y#Mp9{MN6s)rYw_{6^X&sO z`y>;G+)FC|MbR#=Q<>q#gd5q5U*^22s$FaM`oAB!&T+L=ANKJ6g9qz3k38D)Fnp5c zLkA_y$rua9s)9$?HAdWo8@sHMYK)SdKDHE53zNAPRu^<}aiL{oY)jxUt+Xwm4*pk~ z$-Ga=%gf81$ex5sjA}f=aOi-#uS3ft!OO>mcA}O#YcRBl)xrwHuxbFw%GO*nSsb&@ z@20}rEe(>Q!kgQfuEUCsj)pphEtFMOzw*?i$`*_-VMxLc(6@LyN}S+VpO*3ww~=sj z_Fk2}o!!q``$fCs4VCSw{C5WKazMbVCVj4vdPmz+w^G!LX75_ove#60x?$&|GvCSD zThy%G`(KUdRpzq|e6!w2YwbD*vHx0@Xl+l(>7G6nH8t2sn^V%Cy=bqU zz1ZBmxnrAoW!3oE&|t$yh3@X$*}~dELFdj+yS|fv)yD8-YhtoS`74k{Afgsr8U?0p zL6}es|4DVtcuM|W90t>@g`Ap)>rx^C`d6C$O&s^-ORPh~#IH)rs(&>;4DD=fy*n{6 zaSFJu_BzRY%=AWYl~(lS7lp56UPsYT{IThVqpS?8twM!nF*NEzqQX(FQCxX67%LZF zXj)R(=w(uCPlqDnDkr?TStOQ4uh>hPOXF5&a#aO2~X_ylV-QCS$%^BHOS@$YsW zUn1rVhjSI|oScSJEX@}G7)0VW5*f}aWtN@qG3uPPv7#vrQ4CeV!w4_4jaw!%w-B!r zg5SpWLw4#`D{XVAL;s46hi$|DLw0ud;lS71D5BO|)=be8RR2U4nfdSPkp(f3;r@yI z>JNPrr5|7Jc%1p>;$rlLppBbQl`ZalJQ|`IOF1I<6lyA}KmK^SKifm`s#r{K^)W;7 z5)h@h9dy$uu0Hi)X4Ru8VI|=ayZbI(g_*5VY#Kgq!-@pG@(tMSu zRE-6^0H%U}w|iSons*4PkjKxS{H=r%Dwl}r+%Z8yzZI9xUWouOz}i_r7l|h#;t!rT z(Ug5>M&Pj{DVaYe{G39V=?VAAC=^kb^pb+&?)Am0NR@3CHE>rq4#q>RSi7ZIr#>n^ zUcGp5^*JgkM=ie=<@g-tzVpl=Khrb5ZP>4hdob3lEQ$K}m0S(F8)A?bR6if@Fmsny z(#~zl>87Qpr;kIO3kaFs+)AS|L5_S{2h@3U_{;mr!-%Bzp2_F^I}v+mc5mP7h_rE{ zOI*gXNm}5*!S-8!{U!KB|MBa+;>9~^ET-z}v9^1kJmxCO->mkh>`$1cna_#K68^Qn z$4mK#10vVNZv)Yp#u7~@;}ZzrPQa|GgT*vqWbB1|rAzI1Z9O~SU(UTT*c24!3?bra zuG^D1fTaxT7+FrS%CUm$U}M+R>!g3JqBtweXEDLj$$))N{% zH#$0trj!_-T#b#5g<^!E!KP=s@HAx;Ia>gq(a2`Zjh6{pE2*`czYEmbFDfcZN@x1! zowO)-gMEE{)vK)tm~|U+y^x&lw+hx})D_s$NeV%;x3}NeklIF(2++5YU-}_CIzHJ5 z;ptBkDe+o=ezV`0Dm{SV=o4W6!f0x0V*EuApufZFjk373^cir~Erzl*{pt02`Qg@{ zQ7>;zRH&C51w#*}Cnq%#cfRPyH}kM#iQagi=4*mW7qMb&BE~oV*Haa>w6ypmT zOxbJcb6GE#uZG@bYMAZM2AJdV0DRoga1)9zB*67l)@=W#R9< zIXYjz+qB53|5vb#f4qvrTqEMK5d{=*!)K4;91Zb1uoXGo$ocsR0SRAQ`rE)gVx&m^VN^qdAmHHpIWnRmyWGEf2R|UsnvI7?jl<^Qg9qds99V!l z5SFKu!>a<}`}eh6)_=eByx8vqTEWl}Nme4>8W0fB+TQL@^9#)pl_HaG$w+pTOI}(U zwl@#k|MeDQ9uV8S=Xh1h3nEDnJT`|W`*bO{gFS(rA8$sdrA2=GhFwJpZEO^h$mBp% z%A}k#oSdA@zw@T7tZZ$ff(DmaI|#5X>h_&WEdPzXWKxp_;Z9=Lm%Bdpe}3KpTsy>o zwQucL`n^O>^9=EBaZ%A1yu9)H@$Ao^KmP<+3y-1Z!?~E6H8$bim*@Id7iVrO38r=j zOYbgDrfe;SQU31ow%u|M&cy+oh1dIn7m)k~XjGV_yY9}KO_aYRTTZn4#C;h6&gs z?+KqRVKp4~3%CKYrQzU8?P%s9A|@T^H~n};3cR$g&E>qD)K;JYK{a#US~x3n-pC@T zq(5cf-(7=79bzS5Zf=$|cL0_CTr=x|iagm?su(KLsgIqz2efm$!eWHpYPLax=^fy9 zwEfc-jCFc(I55IUq|Em>cC>jTmtjoug6_iT#}=?Ry{s~P2jGVJEZ>)UOk$V+ilS22 zS!i-+vJgZyWz1~A`S0uEK6M{}0(;QxS0|>PdTY9Gm+j_9bhqKHzW#OCw?C=>zWslF z1QRns@ZT`}zdmJj@c-ZFKNbl5_y4^5IV0M^vUHx!hB4pfL( z*b^Ueveg3Us|W(;XAgnfRceQN z4!pzZybV%;9btr{^yqn?J)n_G{)r_o=<9yCLM|dgHUo8j3)mc=;o${FMLoNZf&vVa z)SI_&M{eHs;GBTn=ux&@N=P^nPd*kO-ES7{+Migwx9<UXd~kds zJ_ZKHkL>J>($Z&1JhmOc)s%>5I=*;&_OIc8*SH4O5;()?Y(H{Vv-S2m^jcI1!4EkIzh?G*~OG1!0yT-9Y8<{{++{@ARmF) zlHPdc!Js`=`iVYFBW)z#G%Y~6bQ-)M#X$xL70Q?K)*78Eki zpIpCeKixW!1T>AIRUjK?z>W3x^*NKhAPA`Q0*&2t5yX703~9IPuolbbxVR@laB-=)UV+%sa3eZ2#E1`7WA=+p+uu}AsP5ANASZ4I z@z0;_?IL8UTSYv9fxgW{A_hm^agEmQmJt1Thqjj4C)}gBrIoB|C6wEinDWOLj5^Q2FZMu{+qsNayWh)Lht^r;pENa+R%5eyO&6aJEs zk!ctbf8w=m5^c=*`}gls+c{ybwVzU5}p(VRd#A)^&`Q5ETT{95|>%(Q6x9Kul z3e+WOeIJDt-kORA`xbkVOncP*M518$A1d)W*c1$1HFgk@OfBu8&i!=9&&J8 zf?Uwl)HIAtgcMLDlZ?&WE@{S-uZKZ^i5kuC;nPpy;o&>UZ;4Q)9eL{nDEMEZX*^(J zUFs*ruXlN2BE)|eB!QvzE)j-6x~mfq!)7uQ@sa7$9+}8B?jZRhR0%bd8OTiEa}ttp z>#6E}fp~*k|E*Aj0L;MOb?RN97=e>rBWuO|+-7rvk1(buh;vSkJK7f?{LD)S!8L`N z2z?t3%Sp@mgT7xadr$|*GP;UaHKnEREuRAhMYuNdFO)_vV^TI*@5-{Uu+WoSu9Izs z0O{3XvN(QKxd^TZ4*{Z)JrFFjxXD@Q5ZlhxYqN=*#|?ghPP^_e#U8SS5%VcN6{euP zjW(1E-knvO4^f|1 zGiD{;hNlYm0@VRj)vW;7s$wz!yO@fXdoYZ6cH0$%eGIN610J9p# zQMkb(*bb}1Uk|(^`Lm&Ng8Z&+MCFIC>%NS$J(bt}FG`b`%qgG9`7YdK#G99q6cyER z_^Ew+xw-5fEXmL528ZxrY9=NL^I^8|{dV70T`T6wqq4mG&F*aDKCtNylYfmkk0DVQ9BaG08s z@-0){jrrJyC;qh%qH!#Gs+lxcSXj=h`0bR&(ekA<9{9S%~0Y=&gu>Mf*Wx6=Yru>^ijXB_Q**xK59udW`%VcKstrz-pW z-=+9Z6gE7DZ!-JgpA^$_XX9HGw$tV0Ra)UAUOx48-O%>M-Q7qo%h5j|)|iarx^*fF z!E$NB;eh13fG(&C?8V}mMPyhi9RSVEbS7>9DXsF2UyNvazfmG=(4mNyg|ezD6}YZ9 z;ESKEQTh6>>8t{@@s#ZBiiq^R0F0nf+_m5A_tQw%3K-7u1L~^I*3NWkw{Y(9-~sTd z%&noJq10{P-~xb6|NRu+m&a-{se%N|%*;1froD^ntIexC^-{0GVym0YVA8leU<}h0 z`bXE-=Jqkl%3j|HH((i-M^;;W`PZs++~C@3|E35ED*EpItZ0X(>Zxkz|E?B5^JR_! z?Ecqx(1UUUKo-&9hdug#(NKV`1mx-dy#S#Is5HP>d(-sYb^j(qxvGZXmLm**Gozr~ z{8B+v{D3o#|A6HGXN3YNXTbllE`q-@@PDj7pusK({*N^T{df`BL4(8p`-_mves#Kt zq21_#12noLOF9lefNj1D`7?$=Z5VPFGaBeC@WB6%4>#B+Nk^^c<^yPmH>8sQ^E*Bu zLvGt&?A!-o@Zz5qzws(dyj0JFcY-J5hG?+(52QX9_JD;M3k99{Cy{M~FJjI|uTj1W z*?xlr0(|JX$mJ0hfH%G~L&+(IK-$l?T*${x#DLNF-aqeT0DtH|wmC8H+p6hYA53BZ z(P1g?0xOVrVq!Zmm2fp$^qb*3b@Q?HbgpflUk$j0QZLzfB8f}jG*9g2F9nYWMC3MV z@~o~{mkt8`YuyC(E|spd>SbjyfK<^_WJ>s4otb(9f8kiPppn` zJ7=vNLFJGB17V#TZ?hGan5Vh!C~>b4?IJq_3k5lqYGjQodP-T`i{;#Z)n4;OhPQ?I z%$yRdUoANGp02)Mnu+n7mqz~S&*>}^Wg!Pmza39tn-aRA4rRV41J_bUJ{?{}q)5th zk!F(rP!NuogNxJD)Gm0i`1cY@&&Dn3pnG>ci7`nw0*0x`oVwA(^-IhOlM_PlcueQv zuuJ>1`_e~A%Nr8@r}N>yZpd}3EzLRfq@BK>(6jaNO4@q@V^!^1Q}v5EJSh3wl_FZI z#h&Ux*AO8*Tf&q53qO)lV{>V%+KPnvv;?;uUvxJgS9Cctq6}nR;*Fiomd)0<0;Q+D zQ7zl~V4BpQAUBNu`qd90Gb%ydaohmSWCbBC8wbZwqX;V+3_G$x9=p-B3mI5d#RV+x zGg8tBfCuNZU#16=wgLon51ivrAxV?JobTw~w9-X9eSE}A^<&JxBF8Xmfn>|~#Ba!c zHKKXfMU6^{v`0eGBn(>gdeD1~tL`4I5RXQU4rtHKOZkJhk+oB=SBtkZ!=(T=!f{~d zT^GICoo3d>t0brV$U6Bj=+&xXvGi-gAzri-xoXgN*gUnAy|^=jl`k6%si*KiIk-18 z@&F}M?YQ&L+03A&qQp_^7k_fs6HxWM$9A2^mJjCetPcIvv_xEoKh^ z96mm!NkQJD6O*77XM7U?&HRoYt|Dj8zy1~5AI~TFm>~S(&$bOJ5zMjU_itiV)fGF} zve%mBEYzzn7kB{0x6{9;+qhJmi2 zV{pKQ{@$OK@mhPz2oiw+kX$-gxMpbPLgQ8skgd-@Io0Gel!2;qXewR)*3eEfzi3Y@ z^y%9XYv*Ho@fw99``y%c&}|Dtk1%Ug6g-IY9Er}hJ)#23X-b(}@n`i$l84vzF?$9Z zWV372hZ&F7iE#AbJWbm3Z6oVt+FRSRwT(pVy4(+=qnKd7DZglT{2ZFY8RZT*#6Wda zS5Jh2+Oe>+;ICYryXOO2g(l9lyJnYQ!X*zC-=U-Ct+pnW=O>{LmbUj$Cu(Bq=Bq6H z_!YbZ#w-nQ9B^n_y->-$|L_A!j00K32&W1$qaf4_n0AT8m6mw6fPiKJ#$kJ;@3)QD z-st&lLRBTMS>o@f9k?X_K?UksMp93kk+#^0aihVl7>&f#OJS%0|W=n2SsB| z_YlOfJ`z9PBaV;7Hb;xtTz9kuuP+Wy0o-0?t0SuHH}c~^o7uwEsmjll#P#$(B$lCt z?P`s)GK;XKc*e*15&UpUDV4=tKZJiYq8NQFZP6E05D%mEskKt!L3VWEM6QJ>cq}yW z33C?)I%ga_u)``1mwPhatQZAGlgH0bG_VQY3EOPH;8^tNOZOC$J;b(TC<$918hHG2#)9wAXkWqCW77{~;#X;6t zR5^6jF_ATaaV?5^Yg%;M?ZRxVu`5!go&npZt@#OgL1-=k{_~is76r9;7{Hjv}^@A2i4e z=b?W@{h_Tb{fatho`5K*kQ(mLb5|1Db2Cz`B zbFlIK+>(%F(7+~MX!lgy^^ILu-+;f2^s^o+~6qx&T@#% zQz4|i#;ym{=6Zyjallp{EX8*kk*FMTH38m<){&vdIug~~33P{5(Z_QVMO%?=D+;At z4gE{;-3VQDW|v1H2V$NcI&IwHuU>t|up+T4_MxG^p8f8etXbbwnKx?e{^_(*QY8#N z(CyF4z9IPHcW3FY47@tlnbXz=e*>(|&UTmMFR>eHvHyUmU901__nbwr!)upGPr~Jc=H#*AX%**aU%~;|X zL7k~Sm1>(&X&&h{=c}RDy{(_gAMYWmn}uI`OMawOC5qTQLmVsJOf9OB?S|}qFm-NV zV(NXS+et7KII4ul-+;72m)lzRA4^@!A5|W(P(T@t#m!HSqgz0QbpH7~UpBZ?ll^&_ zPhtCI)(}vFJ#e-X%HisOgo6V+F|ia`FhD#U>nSVrKl}UN;DRNMCyAOSpI-7S^r?L9 zanwkHUPi5`?;9L5wlZMFuGZuT#&spmRFDw`D=?fJZY63@S3o||k5nP^x1;kWX++{n zm}R0DwEM-jh^;WwRPioNT@-w{SN9b*PG!$KpB*I*-@$y>Qd(W1*g4uU`_O#m3mYOh zTHR4yM9Q-zqAWl}{!@5S*|!?dqyyvLw`e@jA|EisASdVV})*mj5lFJ)W{~TuC8!JKndk(A>+&>n7PQV$IMa_V%doMCMwbA%-T_ zM)^gVe2Xql0M>50PvKF}8DKbS6_!JV*8 zx{|eBcg!sOE7&8i21m|7$409^D&8>OXVZaH^|7d ztdy){%v>>^`vO`;ocs^<`gV6$=bQMa4s zGV;shxOygBSt*5@ic=SnW}!zylY#jPOS(4Iv|9vz9M_~7Q+f(ZS33>OBouz(dRM3T zCnARGUY_o?%{Ehs&u(@gG+ChQtPRxoSWWwhk6nvB_ge>7z#g=zYij0)`aDF#|K3lz z1i|u_c%xiVDmW(bycHL0+X8^GWMUy7PpXfHVzzyMTSu9)+IR96>dtuu+3h zd9~BKOb7!OUsL&93`-y94l-)KiSWdWp~r~sjT+%e&4OOXWo)I5a~AxNvg4ByX;Q{i z(TtB+&tdboj41=&fP-;(v!$)H7^R4w)7G#sM$F|!fz{GUPvSE0+Qa|cC(>e|GVRb` z2oQAEuA0IFG@pj5s}%VP_>9IH!mv6SKUI76QtRHQ2)&-8={lWxoVE0j6A&PvAxS-l z#=Z&GmxuPLMlY&q*7O8&xbk{2U!*K@q!pZf%Q87cl2ejpF=Pd*o9{=hH8|c~RN7#_+LNbVOBjj7=i*%fjgW}nN zyQ3?Uc+dK|^X=lykE^CeK7(i?Uufy#Pj3Rpc%35+zspu`(~shf-`XcEmN^_~hS0nX z1VM003dv0+Ri!|6{-)4R>y$y*h7EV5djPsS2oPJTL1GY^yyvRkaoA1LC$cJ;dJ;uD zCD}P(maRflz-yiZ%PG?$9Lavsd#J>^IfzNCJx$a|?fNQ>js(QR+A!~qT#0d zcV@Bq@_R$d>5NL67`jp6$&a^L&AeS@I4^orKlYFFKNxL|vS4g|Kw_Nu=*=z_idYUvq`^1(l z#Ndv65f1fBd~Dt`FP8e(LsGG(D6e;jd&dQ_5nGA5sYK=12j5o9Mcf;9CpZ*@@Rq7A zS=^!)>&N%-afQ@={Nld4)=-D~(60z_5yIk5UeD2K1T4m9jXsSt?=t4B*>_iI>Xg7) z3Gjk@#hdV|J^*l`$6Vvn$iC8-jler7Y}6@N7T0b;_8mJ`OMg_Zs+((A)LskGR0f8| zeLa_>&Mjtn*uQO4YdhpLWkHF@e3ba>&W>;g!2|0pD^^bpvg1VBrj!fBG>tf=sV4-j zu0SFI8Eg2<-AtMnf-g}J*nwg&oPU)Sdsf4K>qy*j=;-0bDO6|duR{(NJ0llwiq_zG zwh@%QpFdw!T_t($jR`9dthk8J(l$0WMn^?`)NS<82h}Y%Ao?olSD;pq7y3#)8%sg9 zy;SciQzVk%i4B%x@|$0v+EiIb?CvgqJj*0nxSSEPKTjd& zX>2rJo<_R6ebDFNih*8`%JXOyCe6vrpl{#UYKaHqjZH!qjU>Z_%eti17Eo7$;F6hY zifB~)j-`$Q(oxbMuyLZc2JNGRR_Xl4Z6f%%1=94P9;f+8YD8v_`K&N6yxslUH0 zEG+zBZG8_kEsjr2!CD3}i;H*m4)*;cOGIF-)cCe~BDD~Y*1>LqlN0m+1d71;_;_p2 zq$bEx9WcdqDJKzeJ)%uS37qE7LD@2|X^}ExV*nd|NQZ&@{hg}UXR7-dx}j!a^|s&X zDRQiOB|>$>=QoxM#T#&&udn83^JSVLW1@!S7PZ#!6Is|P5{0}`i#>UIY5Hm)E!rpU zdaP3EIrSwa23#*$)gW54LD02cHFd7eu#kSS9?jPO<0D&j&6(QD$U1+%yOdtPoQ*7d zC)tVN(zM6YAz>eykO}*=wKX&wrXAX84)tzE*!CbOcOn>kGIY&%6i|*di57`NMKvL^ zag4OL#w1?EU?5t2?mA{$G4JN_5K6S8B;5-!_%M6hrB`_^zC=!gjl%D55PQUBK zDtP5huDgMcJ=Yvlg!2aL-iRTUSW#gG(}3DU$%Xs7kv5XVty zGgsoX7BFNewT4AXm+jgQJ9f`tuFnvCxHx~Ezn6L%NiMk_m20Esrbu#pIO!FK!&mGu z_*$_*{TQ-@;9gh9;24KgFPg<1s5c-=da>S~5+qqSi}pK_$>aVEEp~;Ty4+QcH8o!bI0i>~F0;6LHT>-4$u#%T-irPve|M z=zAF`zh**OC6RvSsc{~&R?}>9e~D*}CPFhb2Nynfjrh5Wf?TgIkX&*(-nH^1l};D2 zm!!BtDE4_al>--Xw)94`?v=K<5$Mrb({08HrmySmQ_-+7v_z$$F|8%iy?#xe{wOj` zTt@pYINnk;GuvF!diMD`lO||8eZfSD6|R&-UZ-!^HYWXMW=;KbfY{HmIWlG&8#_BY zWxcz2;mX$x#?bnDfrG=tk?(gkvOfjo^MKr1qKNb(|KL>zf>BTHC~aaQig^Q}KBbvg zuG#a7?h6wmQ!!pb^$B;^TEZs**D%;Z<5!glLj3iD{y8SJ)rxYj!2z6@`f?FE(Lkoy z-zp*t)o$)P^P8WTVVVYiwu*z~3krHTcJ(>uAKM9>Bqlyut`eyRAgC&;Ys zDSKmeRf_!w-wQ8ACt~n9yX2+uVOjK+y)3V2p=_pPq43O5Th&x}m+jegU4Y?p3pdXt z^{z$on!|JJI79F4+VT4Fbp3iaF2csF`KF!+Xyw;mdK~L`UzBO+RAEeH!@E?~4_b$b zsuQk<%|5rGHKy$>#Q zP28B})kV~Gdgot=HP0g?34CB)72Lwi&#zfoR2VUmr)0PFY-+3o4hO;E5OFvJ-As`s zNofU>k!s%sJY=_WN#(bzc|v6v(qiVO-J(CuS5J*=8Lq6%8|&IBXfBE zL;0PJ4fT+gCIx5$?IS!-hipDOTF19JHKk4DIZ(Qu>mOB2(e|jFFpzZ7X*f4hyC~Mc zXrL|kK21fLq^vOiNZ-A@YBcPw{ex&S3njfqf3A`LbEYHw182~ovRI)%{aW8Ml8un3 zsEH~YSIq}*YL%9_Kcw6fpx#zCf=v)EwHh7sv*YcScs9YuCoUZWAJ@B^+>V36G)7Mn z0~yYOUXlR$%Rx5^x=du8tYwCGq|4tRo+~LCk;-fTCIuCoq`RhDzZ{Zazu`=vvO}BM zJu@>;_Uv;PbWqYF>Jw+|5~x4;bIMr;oO*OWdK~&Or>2Jf7l20f&CONTpX)rU% zz2W$xR1aXIgAZK-P6Ish4urbxAYa%QpG|Sz^$xhs3309x3``)TV}6+%COJB*7A$it z>Z){tsUg+r3(n+7xl7x6nLLzN|Oc;$>-KqoXeIhL*>t2Q?JZ1S>akT}29^JDDjjF1rQb=)x|XeNAd{eIOV;`0HTxV7L6bSv!^JYP!EgwP=&X z#;q`G*yYeg{Kvd^*KS;=nz!Ef`P1%0Nt+zOlh+DO`0OG?aH;rw?Q9{kdYA9><3y%+ zqPCa$7IBs$Xkm_TPNu#)3qD7yVWVPx6)qg7I7>5*^>m8*C&y2nnc|+T7D<{2vPXeY6G>|N|Y^QPcL?!D1>8j;|*pMTzozE)lp=F`;q zVX*n3Xh-WUj4l3pI9`zjy)Nc&j$?Z#q4gZJp~B!S&0%7pxS;2=qPIDjAe&qC>aL88 zjIvVv_Cy8BO}~~z29`n<>?UB-;JbcJsyZO2lvPEXHcX}0pjvnlgE^zuFfES*-w1I^ zDDLf3jp>Ky@U-02W3C%xLmhXYwjfGY7y5Fb`paS2Yf%ak)-+R)x+#OBkGu`dG!n9x zx)%ue@V-QitJ=%DZ{y`VZl%qX4)x*&@ZU0APmo&z?)2;_XR|()ou@62AC)X-h^N7? zl%6+~A$$QjTO2N3UYgDv`mv$l@TEg(P3sfbc5#<5mEwg+bw&(5a{1K%KEHnFWHnGF ztORe}9;84gx3bbY{8E~Ix`{@usv`!2LAbn${{{@|Q?6{PyJ+M$>UwreSS0h<*hW8H zJRaiaLC(vG#PJETn2H7p*++GKiY|Lzb>z?78e%} z(EPF=Nap>=l}vO*89;Ygr`97Sd5IpL-Ka`EVTJFQlngATYZjL4zC}maoRqp&tN7dO zc9Q@=`VpfL7)Cge>!_6VUyDk+gW7 zTdSw}^_?ZV4WMp|ZUq!P+ z$UJOWxD2LPhOtyfI|c{#^P=-*zLnRUHZ6}w=zJ{*v1cG+aMqfB+9@8QLpQx@MUp2z z#lm5fI`4uJJ2fM$5Yx{tr6umKHAT>jLJQQbweF`K#Hg*#p0oO8gP%~;tPsHi*VPX# z)nyxQEE7CpIP(sk%Xc4YG;2L^p(|TPVoqEa(GD!{$6oe`J-xyd24$9X<{)*eQ-Xv5 z@6>sFmfCt6FgnITjIzl8r`+0Nm5M9NYhO`Qe0adasWvf0htzR#aUnMwvddNH2OWRC z6W5DhYBzR2Om~FL+Hq*O{i#FYa@7ZGOF@?yrU7H?^RQ&>Dh#^q&6=?GrSLN#Jw2i@ zM_zWmab9UZeZ2$15n;6+BDy1EBOkYneYQA6ii=-jp7TuAlqwiD1C{E-=2udOpnpu) z%e~a7`+24H6mDv2DwKuA^LKvjNF2= zx=@7~d4jP2sk2C^vWDM9dnyrIDQZ-@FCF_zPvUrPa=Rzw+qDGg=3N$^MV$Hmh*7t- zRJ0ivW3iCKxho-j`9cf-AL@&yGHNuIFt)H(lzPh*kJaY@U*a0FZN3Zu{oAB7^{#4Z z*HtAG(D4nD{i{Gu501Z`AldXo*v@F*}n} zA7(EWrz|>&P;N#=YR_WmE8a~c7;BN+9estf*_k9 z=yZicP^yB^yOm<~lL&alFzwtaRYt=CyMPUPgp& zkSbdY5w*&VxDbL!w9cL{C)Twyj%mckwKI8k$1Y9!I=0sC%r%B9vHBLO|F}QL*=OUiU zPBH%0yicr~s`YkvyU0dw(8WPNuyBAmvv+x%uU;Vki&twv3y%)W8?YCQgrT&QU0Fa+ zHwWgVVpkoag9;Uxk*vZZL?*tJT2jVDVe~GM`Kn~0vai91~6l&EEC~z`ydz-10xN8R#$T%dLC>aD#_AFoOmTA&CYa^~aH zOb3vG+}3t5+&HZA>gw1xULpR6cm&3VF5c8wWebZ0T%@W_My+|i-{jF#2gPQsp37}S z)u6Rn>IHJ0^wEKMi#Wp*+Sj3;&empe$GOMj-0g{>v zlIW`6L|pI0lx2uLFD~?LS%&J=tm?!F^5Vd70dODqpcUfl3Deggn~Fr`R5)K%Rk(dy zIrbP>DMm!n;JcWJc0>WwKvox^;EEv}^scB%G_@u`$75L}?0rr*O;j1&DMO&3-8#^9 zU4OVep z^yQf*rTdX&GNRNeXYX!}t%WV)1IpPIK+D${enH$ljj56jw&A`0gc;kP^90;{caA!R&yCURb z^0fuwdB!3|9nNx{ryhBY67w_l(znc1v}Z0|v{$~4(7e2r<<()$g|GbDY0lr*%D%2| zWt~=6a|!Y!isdO>Ori=^Mjv-obXF>4B1%N?7&KDlIi{~`ITsN=4$VvZv5N&W#f8(2 zmKlk%xt;R$I_A-oomHEk|w=sG60Yw(cW##1mi7FZ>2cPY^l<(abJ|Y zYXCE{1dLrNI@s!@J|3{l?7wUzvAe$D13-N?;CH&r{8eT9@8e^+9o0` zlF)V&09b~Kx*3Gd%$5-}!_J+vC<1>x`A%4t&wW5kWj}Ii;dGWb+1)gVez9t5hS7n@ z2njVr-MPh!*Gy|?e9%i7byMNnv4ajcKb->Li9{McPEPVeaz88ZiXO>#l3}RZ_vWLFWh+bbNa+Opb z>V`Kh@hSZ#+~o=NXhdtax^{^ooq@ zx2CuT++&sf(?vyG&vk8A*J*~r7ET|F1jd`(=M7~Ve!TZcVRZ}rEyTVC+Q1T8e z54vA!{W2;wvh_Oe>P}xbX&yHIvP*89-X0d#PAOt5wfu2@twvw_5aNsqcg#q9%lt{m z`=a(-h72EHJ>BsGLHGL3d{(xk%`la0_{ngr8faLk5s*!)dZh@%zJGtjw@P+BO|~*R zfftNw2HZnI-#dJwz@-REwse6)cc*Xi%iz9DxQquP0KfW2WFkfVsds4HYPpS*RG^1N zzQgt|%gxMp{&D59r;;}_>u(91pOf1mrt4Sc06Pq&PhB?sWO%{mvHX!p>Kp{{Vc%?~ z*%V?jC!Hs4aS7-c+l>dm9Rw2$)*>d)e<^aV_OEA1>Cr_S-*-A$#eLd^_9$om>^R zUpFH|W#ngXApQJM`d-Wg>`!HgnBCTYf(yy#*jVn3x^y5_Cl0hnE#pF;8<8pQ!P}p> z3hOi(Y72(y#fN=6c|0bO8rb&WTfJbMVU^h~l{0yWUhcjDiX{=l=dl96>4}-rQ};{u zCn_YjEiDbnOVWN{Y2@?Qa}5m)hOuQQX~y(|8}#8vSzxqw@32}z@;g@RCNGCf3^ild zW8Wt9J*NtPzs4AP`pSX6=I3X7FZDbzhibIKT zGs}eMy23==X(jQqm2Z?vu49tfrfX1kEh6?_EIR2&lQUavyKcKIcWVihk3cus4W>ss z?ryH~3|T8FGLx|U6cB)XIQrMjVWd?cR zn}6f1U?tY?%T!c2EZKkBMx`QS4yV5vV8E`c&3V0;os0GSp#Wr&zh)9q^@U=}9Ri_b zVZkVAI;X##m1TIDG4-7~W>t|H4((+>u9IQVRsEqJYhGLh+$hU{v2v{pj@Ll(Z;4AO zeY#EC0)!yU-O}o-UGF%%OwG(w5lW@VfnD^p4~tf!uNA!U>k3N}4;svpfT+sIrm95w z`VUOk+PIrXn>PupnC6E5V?=f*T6j#_M8mLt=DSHp=P$b?>#f2OYk+KO6?aLx*U2iH z^<3JFHm1*46QJ7A^%xf8l(1(s8ooxIZrmI&AA^SoQl|u(v;rh#JJZd*X=7O<{~{Li z_`r0hiFu8KtKbb~6rL3s;JXh0uxpibE3I@3Q%|MTIG&jKq;WfV5>`pS$MftO==L~5 zXfq5fvsn(-2PgLHg&1&MUdJB9%^g6ass>Vo!Ylq!trkpca>sw3D4`>A#RTC}Robwu zVPH7$l(oTez2p_o`5a@pa=-4CXwUu~4gr`*ua;NION3ZzW+RRB`;zVh-7tHGzdg2b zelki3FdJ+zUaD`AcoI_V|06u?_ZJpaL(1u24bf!fn)fqZJMGZ6N&JAHv>*6^U6>LV zfwE)K&#IDmjGCywUP&F#ML|G`1e`Lfk8V05!6*rU``&zv^rIKA9GDO3Xlc2#Jz1rs zW{8D(IrA65H=XT<9i<=Zdu>bYs>DE9PV>4JXWjtaF^c1ZvriULUT%0d72Y&@ z?GTQ=mwn5OTpy*rZ@b$CkP6f?$Xfv_f)f@Rf&=&UvgM*-GuLh5dtEG%FkhKGpr(nNmFLy|nf%&ql12sLyT43Z2{z+XQ0(@T;?OHD?^}t~P8@Sh-MDl- zGAF`GMH02`-68RwLvTd6#iTn3V3#37{qHQ&Tq3w7cW3`OOf6J5*RgYzcSETw@KUZ8 zj6;<%YOCFM8PA_mPPpuy-nRWwBtpN$Z{I+@ElAHXI8Cd`y<=6eC zp3$2QTTk!Yv~vgKQCSNwvj17~|6=be!>U}jc12V=ERZe%>5}foiJ-)!L%N)FrwRhn zNGaVh>4r&3cbC#ggLL`a~Zd4<5H+;W@P(5Gh2)J^mc>MAYv-e`~YigbvI6)1Oma zTI*lFd;!cVXkeNl$14v^>w^cnfc5rF`Zr-2A64t@(bM#ynaM8JP1=ul?G=X|$$Dn) zqgG!fe{YR)6xCPrb~U0TP_Qn*H2n1@hoIT@y4%_ka=L9bMOj)@M{LKkvKdwh>uE^7 z&<`yLzq#rNGml%1ObfO)Opii!$*!Zk}4Q9;2m3|uG;pGrdY zSd0n?5XOZS5=^jO@2q&=M(tvv-o48XdN#PNXyXcL5Dl*zgk1I=rHZ@BdPo%t zSO!7rq_XwWs=98`j8P-mKo&|{`hEY|)2F2emn6m=aIbs^Q+1C@ zawjQe+pMq9pLemGL!eo!HI=9ji79eVSVo&qzsEvXImTpyRCp>JL{`PN1VpO1Mc+5(*$EH?T^PEUSvxDO+EzX01 z4R=^uZEbwxd`=h|BHX$#8Lc`WdD)T4Ixm&_RIh$To%6PYni|2M?QN$w*#M|1z;496b1Ry!s?g!~l!-hZ&`k<$ z&#qr9{vH*SKRK~=bG}Z=9a^W8$6}R^w@Z>gEvp$x?G3nVEa%Ho5}gfPCv7iRT$(6X zoa*Bc#5&fk+0ray(t1-~s?fQqIkH);fFA=Bu4Vk0vQKW*KXOmff+{9H%|(05K*!l< ztF1AyD-W|O>$-F~yPN$Rk#F2W-5QDW2KDS|D!~FjPv6Sw@acI3IbZ;#gB?wjWTcBa z9%zLvR*t0B3^H=l$re%l(3QEc)x_oTUXXc8`(~PDgS*sM%S!vi&d5y!%V=^LuB;bU zdF3!Pv-6Zub$3=61NI;@@4DwEU&XEQ>W3ru{l@4Hz>{L>e23_M(X6Zm5deP$cI@jI zK|k*GI)7<{mY{C(Bq&jUmU4&I!}5YIqY*PpS=Wm?qMTD+W6(zk|1e>#9Zh?g4WE=2 z%VZWeFKQh8nvUoVRI4$2v(Za`_3yC(o8O=j3eGp!*XLJQXxGz!AR}YJ|5F=o@e9qV zI2hQ0-w8Ce2sT`zY&vPyle6pRcH&Z*5h z@Rd`m$An?t#L-1B+&pn=Qv160iuL=xl*pUzuC4n<#PGQ;k zhA(sQAF+n|b+A{FmoA1jY?)(+YCf`BBs=rDH+E+`<6lLwAa*z1A4N9zF%P(kB6ofp zhk~XPP=h$Jl%WQu=m=?w=9Z}^$Me$jHbzY!}2xh25Y0MFrLHXn5Xl#qF43FiXxlDgmemTAezTccE|bpem1d8T^tp z*I78`9?c@{XEe{dX(}itL-wqZGY)NMa7IRs*yTlTYRHMRNFVD8%8Qb>(`58c<3R#K zlVbLF{R}~sAuj5M;~te=$H>%puV&04rb7M50bcgc2o{=NyCA}VcuCz{-iqN(`SxHd0-|s^>KjWvw z{h~x}>r|%Z!(pzE#~bYVA~-x;U8Uv_%Z?fjSmi)o`-CCD$CZZACDi5~ui4V8PtggZ z{u7vRoZKAf2(o^r+UStRk$Sj&-H_$*)7E zw+p?4#R+lVUJVZCI%n%6uXRMyZiUWn|0JQgJ{c$Ww{b6i{#=alo&-h&{#^#Yd*}^O zL)stws2e0-P*VmvDwU?`)!9PDYL#QM(_f$y3|UE*d`hL14w|36ZTn$Lms!f3@aI%y z@G`aA)Y;i|;7_0D+Lf%x=;XA=(hdjCL*-w(_t)l!K>^fTO+u6@|1v6fUk#&=^hi~r8yj1>NQHD*_?m6#651;S7#Qq+K;(_Ky zPIdT7y)D&aB)IxdLoHQ$h@O6xq)fsZo}`ImeP87E!gA^-H_crJt1>JyyY~ftyTf_h z4%KT-FBi`NRn-0r`b)WdhlVF!%4-k49k-y*xFBw4-_g<+6Q zyxj99brZ$^8lXFDQ!7uF>nA&?=WLlFc@CPzBmQe;EVS#2n~(AZ^t;@9oQZF3O-n(^ z(3!llo(JBjHt1?0`*GG=qT34h+`ARG$0cM>X&1+-em*;`6DkBvc!alX8s+z-&*# z=GER-ktnf&nQ>3L%~_d1!VBM2$-YgkV`O8c+7DUuKXq?fKmGdQx>NYN}LJ_0=HjcZ%VRouT%CrVkHi&(qqH#U8D`1>bqT$G~?^9U5Q6ay6%I^^R)D1D|9k5^7hNe*}QxA+dji;JsFdUW`GL zUnu^QCy8UYrwtrRpO>agh?!_gJru0*nixekZITknhRxhNw+K4bHf#5LH&iAIvH8GIK6nicpii!^U7{2BEkC zl*ibY4W>FZ?*6}5SAwEL_?~_s96uME(-x3YEh0z_ll<%8{T_jFp1KmMVh$!*zlAKj z)H3zkhJ-LVKCgej=2jdco`3UduOQ+wB->E#KGa%Y0L@&#X}$jyoJC410FI0ED6uzj zJ4rTEcb+wty7h1boRwBE9vKeUi1Nxt+G}4BWRXg`M$r48j_v6yLbn zmN1qI!Zco5svRq>SX9C?DYLxJ0Wk*`mrBgbC?!@ue0#xnu0=kDFBS{$P0asUFKpS{ z|9)oFTjVp4qWs%KSkHf+?o2-tr+uV-c+Nr9L<_MwRepl zQHv&X8m@fkPtRN6XEOSDZ*=ZcZx&&;-|`@vMOZFz%CJhm?V) zH{5z7Z%$t%?n>9SgnokgHN!iSp1?yrM!q=3du~}%)4W*iOn6moyA-kW3p&QGih(9b z8VUn24Udk2FMOs+u9d6>Z3>j!}aUTe> z&BQb%ovptcv(!=eT>S`t5~hsmLL@T(o8^9S^^4~7pHS4dlO=NpE^aB)d_sg-s6TY& zFQ1*L&~k@Y{qexapcne8xgh7N)S~y@Mc6@+w{n1!QN-pP*u!8foZBQp`nrTEHYoMo z2$3r89Zg=uk3G%kQ?e$3QQJS#c_yn~RodWo9k~v0wMGnyXtAh-J^tm4YU-l2rTz8; zt7w!LZN}Qlx7fiKTa+nE-q!Ut%Nj8-MlynhbXA8j2!1Mz zO>2cZS2+vvjLQ@o$%lpHo}6aJpjwVC?by?Sz{A&dNp>5@G-HGY4@Y@9ZEYn5=Cr5p zPp4Ri=MZKajznCTe}Cc^)HnbSDDhpSqbjnN7Gmex$X>i$c~f3u;6yT(x05fEQdc*X zq3LNN#M6|ADKkh$>L@G~SE3Ey_bjcYPkvdipHC;g=^-IwLf>(3;n!utQs2#$L8;$G za83tJMNj~IXK8E2PlSwmZ&R|+)>EBAXChimwA_bM#5Id4+jLwuCaCt%zqjkS)`;Zy z@?|?ybrDo11#eeZ{_|9suCd6$L$A$+e(r5sPZ!arCB1SE7#$`e4h+(w-fx9facxz$ zm=9}DH=cZCt3DZXdJ(ZLAiv6o*GKk?A?cna^su>p-_CU{i}n2ESO1lzNAXt1ac?~K zAV#T>vGp9FJtAb$u2Q9CuiRG3pA~I(Q@wr$ozNh8sRXfbQ)aYkFkAAWvVmt#%Iagwad?xk;>0oZh27r+$_wYac6< z>BDFveMXdfP&`%f#y`7L7!TJ48!`+MLf`JPeXK1Au6G9Sk#_0F6PQb3c$Pd^DE7if z(9mLc3yOCT4Wm7TtJ_dE*S3n9oay4vvuZhob-6izE9$q5Ip3W-kqdq?lp74A=#i3-nZ zELQHdMFgh+!y&`rZb+EuVr#=EX^2(#dBzfHzmQ+;+20>suw z#>-b10a}ac)?>8>`mioBsh^=}{AEql67@qFuyN1Je0CFZ=U;16$E;YKLiBA1d`_EB z2-x&Of}T3azaz+Y|F*I1tEF@t5s{dV_5DRwg%BeOP?(}o#YSgVqo;AZ!=fV5v+f`f z=*A!qmesGBn~@5r(>!+$Vu)p!CCR(vv6wyM_Cs18XD~@O2_IhzMel~(_S8-?^rtQN zh@Omc@5~5|`cZ4dIgzyD!3^4^h||Hc{@@B3Ei+a$l8$J5l5nV$sc z1qB4*CFK_Gl1Ja?P-tRLn%B`TjLv?GtS5}Vioq{d7N+DKbE=SaRV~3(r)B2VI|vHDl9ex-w`u~=(#3-X7>8ossYCo^Y1L$N7W*SBQ|kq3qak{su5=7%+)|xk37etzm`rC{{}>O2tBX3cqseXe z9`rz`syIXquSoM1?6BV1jtQ({`=htjD6@%#;$q-&yq zRqk!}RC%1IT~Fx6;=YC-Z;rRdb6f3!7A4Ds7gT;Tk0zca%YWN`UlS3>UqPGNH#$A4 z6yxZkWRhjCPtWU%;(zEg>i_W@doH=N$mFXSoF+}%R?;!2-*wn_x#bXfmBl7C3!3d+e$Y96i?M4s>>L%Q6Fl#Ct z`r_M?{WToZ;RT~aS5 zw=|R6t1VdGVr}2>>`NL&C)~ZF^}H4>HlH`p5p9TtdN_vU+fXsrOOIv$$PteD>8EzE zO~XE4R8@Y5ZGk|%KVOw*GRAUEG5Sr~%7mhTzj4dSAIDNlt9oyysgAL8D4~Cz@ri0vl&$vNpRw1E79W4} zn0X4)NqmpngsAZsm)}e)$L6~o9?-YCcUNI@ynmzF=-2aT6;i?q{IxUh7E!oN;a2l( zFO+3|q{Tr=KtS&M$27;SujVS-bO1Q(^hMDgqLY&!%2i+gQh856YvpI-mk_5fz7r=jSUt z1HYf?=HIOn8CQ&<9T&mR9GepMF=sz1-2T)^mY=T_($28Bv$+`r_!gJI$QG%WB02{H zIPX@X`pL?QIuL~Vfs3>;)TT`qEj4^m$7{Y#=4{spws#z+S9A2L*}z#GGM=>Sa?;Kf ztQC42)TR3C%t(fXqe|zqzXhRm(xyIYBKJC6({07UXSUwx)s(^>sj^Mm5oSzOldo;Y9C`F0l#XVNrJmSEHq4_lgh0Qx9{}1do)_st9%pSkxgN&$^_E{&dS--seYpeS{Q@A zR`=j{+*>ky$2=_N=QZ5k{EFp_=NHJz#;m5j)6eqM1`REsUL3XdRzIzb_qW!h^y;iG z6vKJRe!BzmqhYKBMkm7a4EBJIrb6v0U+t>MeC!(TqceyGV{eR)iIhh^iURw_KGnKt zIoH(<#tSUW!NXW&p2*nudV5&z^YY29BWVOItt!~S%Y>x1hCh!|7t-B(Ksy#ArWN>xQ86Z^ts@v~0Px;zOxw~$@TX5&_M*BoP=?s0m)Nmr021?|t4hp1UVC9ahm37v1O6`2H8?I4cHKo2rJq>rHRn_5P-Bq3vySM~#hg#@z-Vd!vHH z$UyoXSWsMS&SKM>iuO*D(f#s88#Yp6op(RAqbI{mmyT{;|MAJnH>hQJ#zhHHn5Ux2 zFtWU)Diu#PnD#eRofm*7UN%iB{t_yG)}xyXq%*wbR6U-5(?qSHb?g z?OyI+96nhffJHcl_ipUH&dz=6mIlLZ8d+A>Mi$>`Dt@xQjc(({iif-Xs_bR^Dj7WfjzlXb+Jc{ zjWcP%?uK@eADzPDxe$XDxSKW?{p$r1o=XpB9{rI2!P*q}XinMPYop4-e_Kc^25ueo zyC98;~8B=oLsivdPu z{y3gYLv|$NddzuIj?ni|X&Xh>37yfhYvV9`B3b||t3WMvCp2S8ltiE4jBKVto1Rw= zoYr&7d@kf%LwK52Qgl=+rD)gbaPX$4WZ(VWd^j>ZQbLN++6vSwewHX$w)y9!A|##R zn~ChZm8F(DCtt#GCBiXa;|Jx0j+6apO$*0g;74_RyR5~L+v!Q=mp3d?&{wYKUe&{e z?2E(AaGeHcvdSKhZk_o@QZ6L3%4EI=L>0x4S6m~8^geC%@#_v-%VB;M;1&xp5bY$c z(zXYERHWZ&bUr!%ay}4fg3Q5T2zPT>6bIh9swNZ>c@v4# z3N^WBp>9M$8X-vNMl~(DDor;4$uY0I== zwE;m^Q#e-a+Vk9iMqZB>5QcuJ%oA((0vu|Ih9J^*Y5>_%($d}sd|5+0PziJf?ukdq zy)X8#0{j>Ld=!7cW%HYon_9a?*KND~O<53`A>r!0zTEd?<|_k@8yB17X4zur)}l2* z!|BoO(yiLC&07;|2R9#v(VNrZuMIi(jz$=^#?Vmh939@&Hx)5e-PZZWAA0V}C)u4H zV<-L`RsXztzdywq)8w+pS+Fsm4Y%M;=fIl1==^}0;O|y-#Nydbqd!bgqe1bqT5E;- z^KMT1_2H6ujeXSD(^ys{0*%H%%bcbNIte0^x?%5Oi`vb2$LU6qZAxp=%1l*uhMW>D zaJbpCDTgezyfR+EIP({|y9ztiGLON=V(q=)M*^&K0$F1aN=qTaa=$K4EiG?)nkw4m ziGgvQ2u@C3o9_qn(l`C&tsdKnX>*b{GIJ_|^tJa!-BQ?WbeBO|i}7K1mK~RW5V!Lz zfD3v@aA0q@!UwOlfuwV-NRs0dtnh$5xcaqHb6xaiY~+p$%WnQ%$c7wcb3;M6Uz@bI z49&PeQ;hF9Nr%w|S1X70u~>-CgnFUFKzZv};?It01&N+|7|kugv0m*ZES|VuXge>> z(u;OEaj%PV{FOm-2L^9!lkDB=#I0U7bM5Xb-nkqmOmwruPnTPr$|%JQT{AGM-T^P4 zZH`=(uo&IiUD`vx`Rjuhl_@6k@;Ud2z{FZ1NvFl>e&KkRtwn9t*r8jWWKKFfAD2^CezQ>VIv2N@>4{NA=Rkt&n;pO+Y{%cvS z@K%R&YOjTlX!t}#ng#aqoN?J9j9-T(Xua0u^C}r>h$xa0bp9MvaC)`WyB+QU2+}Hn znaVF3(+XpdMS4T$1xl6Q0jEvv6_Y_JLs8Q6O!Z!ouXXP$JzITx2m8kJltcpR=Z{Zs zuToCg7Ah;=A>A`Sl5o9dxA9W-{tFn%*yf)waBwmBPoO}if2eLpQAedB`Ve!p< z(c2lNHHLmC@kd$FS_zyNLIsxh5)(u3v3Gq_8>zgGjhL(0J;nC`3!?rf5b`7`0((<<}`!A;5Q@p<)W1>L+N;6{<#+% zdyE|~Bdo2h8M`h4mQk5wDA5J`u*jdasxA|L3ZVQL_(khLGcFJ>%&i?ZQ9OKFhlx96 zB69GHEmWdBdEeH)zffyyXDJA9=Hvsig~`#8ZUB#Hn7DcaQWa26MoSWOQFFkvzc~gNv)MmK%PX*e1O~;COku|0j3XA^m0TL5T8cjnMk=fIEdvhwfo%apj zp5&dYV%~WSrOs-6@pvxrAF@BHAM|Lc#X_Z0j-&{7X8BO$s}-P!b8PMoW$~k)e|%9R zX9}t6uZ0ba4%ztl_$eE`Ual7M&U&szFS=Qj_Uv5&YK%=PaRA6ciO{#j4GVl5ShRRC zItI)Hevi;IPbzK{x?cFc#_kUEgFW0P6-W?BG~``qRUFlGuNlp<2V0_R`!jMwPCp8l zm)MRzcT5?Q`Mk>MQ@g&h_EF#q_mI07r@Ml6xHo^&kckvA5FJg^YQV2?N8~Q(+&%5` zUwn3Io6U$)tSiFOfIMMP023arP<`y<&lDD`P{Xioy^dPi-||4+J5{=F6@^&rH#k2h zL1MOW@nl3*Hq_nJWqk+*u zFc;UDGkvCi^nUWwnZ=b|6g&#vni|38xjDs3X+k_gDcbQLC714o8z&Zsl@aZzMYoL- z#Ga13Yvb+BB~qqCM@PpIEwFSz(RqDL=*cd~ntD_0K}43lSAB~1&Qi^bkAKyhf9|zg zpn8+H7n1gS%Jell740Xmwz0Ip%k2np&Y#D!Xam8NR4Wgyq@<*WdW8bNqvAI|(Lfj~ zO|yt)uOHauF0APro5<%CRRi+pL;)v=2ZYY=+cU7ibNuQ%$!U->vw;nNzmwx}()BP_ z+_N}^n-luM8(OL2Im#!6XfK=n#=mPILYvRGBmRDcBJFBipuHlk_p>MWuwCW1ojrwY zl8Pl`F?n|j@X_hcQj7Ff7AY}|&=$ZLt2q&ZZ!ZrPajXm!PP&rTW@;T=|CDx)$;rW{ zxzvifg@uHbnBe5{RVok*l#X`#G>GjBpxxuN_SR^2W`-S1Mv{tp>-_h*HBIhad@WSr zSgL*4r8R__vdq6xwyv*vn-HcoK_0!(IKlUttu(G8VUcnpLUEGIzwoF%4<&Npvwf3|~u^QNf zUxfBDprQZ9?~qLlErNM;O#S-R3`#`lMoW$#A7(|55CFsQX*05NVRJQGFu-y!$HKw_ zN&R_qb7`|}@g3h#0!fkDmn=*Iv}+Jm<^^@tOv(t}mRT#=jTSn{Mj;c`#X+^b?QLxL zw~6YZ9mL{iUFQ8A!Nn;o=(UCjJ?&^WyfbtRzJ4s^RUGD?WMGE58Qa;X@`m zIyytZOh1(kj$-?2E1sy7r)T{RY1FQ#kxj77G2`#1@aplT@)udz$AxABsnQZL)H$|* zG5!bFpioAS{9}pN0e(D4zEzoUa$RF?9*;|(RY9A+bKsOKC?6;AsEqRq2?>F%FAOE- zZb3?qfXREyH~oJ2j}HK9W(W#yxjMCFMP$TVps)b;+n}So)yd#-)>s8ZjMV_~)u2{W zw+zMz3{0`WfyJP2N6*ViWm;Ld3qBLpAe(+;2vY9k_=p);$97Cs4ZhNciVdP-r$54# z-L3Ql<3m~AR7twpF7n2WDEj*PmO5@I!yM@RA`A}!jZ(To0uLY=F0HEK2}D0^+w}PA zv<6xLHll+R2U)Dc1Rjd`@49(uzpMhvFFz|Rq7eS{e&2AvKiU9Ij?V-fbBkszVmRBx zo72prholIfDS^N{=~M{rjV;trk9_6f;bGUU!s`vHJrPUTL zb|KVPxO6{~r>5)cc67W>-s;{)_RjiH!5%+>^!F5V(2&ebhz#_Rq*Lxk>uG{b=EsgM zKT?n6Je$hHcj~1XxI;yEHo`q*c%@=Kw8$p}y?XWPXSEH5tl2|D!)1d&RbvwNcOSqD zIypK@$!S2_=()%5%S0 zWitFxz-non&EtqH-4}%%q@1_t28QIr1#c~m_xHsW6~j)VEh{ykuHHaMhgq}iURv5` zH0P5O9&>X2`zf%^G>-*Y@Q7w2eQgDG#83D)UuSEqPZp=R|Bywe$`Tite`4kc3?vS+ z;1z|XYQ+rFu> zy1wkUXE`4EEfJ0t{30uQm6&WA{pr>6MfP6ahVc_1BPS9Jq!0eRYo~YtcoZ@^I*CPO zmQIe&VmkQIxc*a5gp&blwy`&R`}5yG&7qQBqWdkDL32oAu3oD@_&ckp zerzGf*92LmEJD zp~8IlE|4l2;;{gil}Fjj^k{w9*4}<3$qaL3yq#RZ5Vh3UQpj0&{-OT+jW44V#_+Py zIMIw~f>l~c!N?8G#$UrEmlICS*HI)ih*%2JKUi!g@i`SLc>*+(J3hD9)m8kDC9EG} z3<9mU&tqe%x|dvPG88qnbs45f2t+D41{*je9rVb4E>co5r!{4x>#HkvqYiBD!sk@W zC)8QfNR;8F)kHxT9N*3T0+C@?ckxU}6jdd;rz7z;r1@GqJD1(7eSio=^rft`9Au}~ zq~VEX0Y)>DsQ8oFMLVSG-vB3(My-9;iK^wehJq`r{x>8cg!{>#JVEw~i%S6`&^DqY zBqT+6rUX#{%{Z6(+d*mypO7oGaUA{aTOhEWy3+;7W76gH14%UjI%@OT#XO1_UOk z55mWEVQ#RTs7O=%=|0xN#zvl1IPd7d072tNz1)W+{vF%t!=`UB5n+~}k2ne$vc?Rz zU#9ab*YQd;&_(9z^ixzhx0BRU_PmTM)T&e_3+uuupc9I7n+1q^04SNPg9s+(YPMv1 z;{^UXpJxwgBAUWYm(~*iw*dlPghR{}L!CKx09-(2e>}cKP-uwW_5AHkKwsZ$qzuRa zceHZv+ia^15RKweh=d?LZ2~7%+dVngM%XkDQlWJ!wUno-YH#mAVjBU%=&TBM(6PHm z-Rgj`2jp@BQhaVSk(XiS!NI|YY=r~@k0XANYerT1do-4mumiC)og}XAzn=R1(F)4P zXv<-8%8sd@S6Jhc4SRFFx{d}ES!0epSIwO+$L$M8a=L=xvRhk?!$0RFyF>okMc_>+ zq0ELxMs7>5^X@Z3sh;;umziL#3D7U|wCp7+Lll^hkWU<7QeA2%)R%H~ttnDahU9TG z4Zgd3_pT~55kLTn9v2nv$i-vp0UCBVzzt21J)c6QD@qo{t)EaJJOO8EYvcMm63v~& zt%NDF+5#2BLJ-B_D^mjjL!iq6wSjCv85)=>*GM57N#zosF*V9fagd`6utpG_{Nqs) zRB{xN!f&=NE|Zn=AQV^2;xq#c9q=pqQQfas$V2Tw2VpB;UpJoxsac;*{75b*Zc}m^ z)&(+dx=L&Q7O$%h9s}s&8LafgOqnWxxL@Y((PMhWcR-349UGhZC4Y|k?Mq_bRT0r zud&td-QApI6Ur?wuM{soV+6a*?MsM@*IbeI*~R=}zG~j5r%Y<*3EW7qq1GI2%uB9ZxG6!@KGMJgI?pUZ7tq?lo@Qieamb}ZTB zMOL*sJw5$cf#zd?3^i>I*@IjirUE)l9)RQ-0c z`8xBO;>NbpRBQ#8sHkYg`(KX$887ibvT!d6k3=7Os{@3AyAb>?gJ73eCy?eX0bMVd zSy_3M-ObG(2k*SdT2TWW{WS9R&R2(TiM^RqDcCxJU%vb$ zf3Y0(1`hYhbY&Ns>;jkQuzN2N-|&@OAUzdA=QXe`PxA8eHW6u-<8X9z^tT@oLVM}a z1ceoZd8_yY1pZ*qm70M8qrv^S1)QY)#Q+Mpm4ifA(nqk5(eY~F<)U?s8|Pi-+|W*E zT_{FIM;`)hP+*7h*>xr8MbJ{CWA8U$pTa~$L>OiBp!ozqeP;;aWc4~p;3-n0*86H- zc6%fI3CchBDK;=f>K6PdRsK`JcJMG?t*~X*Wj+*$h|&lOl4xpbMvq8DJ5z6)toD81 zyu7SkOKt_(F;bb#K9iq{;Ld+n>=JY+kt4kdQbQ4lKoHBvGJ_Zs7nGOV*X~3s2fF|@ zVWf~6QVtU6o*;GAem41tvI30=;n_&TmOULB@M-<@!0^avE`lXE+peCs{oRHE64gXy zt-z6Usj1+5j(+&PzW-ejQDbYzjWZ7rz#vCUus~Zd5kQ$lz{LjN`{5hv{eA9{-zqo$??)hQ!2hnr|DKEgZ+E0kxfb-pVG;tg zClJIQ`CEY?Z(0Nha`cEHBTQy0yaGuLxCl)A8IU)u><`5^H2wS5%KehvQCaqu-qA+d zlpUip><`LXvC$5(LQT;Q--H5cJT$ai}3c?Q7POJ%;LB zY=Dd+HBe9z{!><3I-Hd8BI~>oC@pOxC8|M=4)iWMfii0;ke){(KAUukQzTT&13&%_ zoO)P6paT^j1+Yjkk~t|uHe3b_2;l>Jy|-rzAffzA5|~GJw6gpNm@Nj7o&;zg1eQF2 zO42`9NVAZY_ad|F)4`U9F0^M}d&@DKkRK=qJ6dY&ZY_6WpntVp&hpv}=dJghWn4dTxN zM$`|Cs<|J42J&wp!Hkssfkq7AH~bGrW}g$eumj%O_4gNgz}SeDLrw0g1hLTt2+25! z`(n%IGeCB#8qt}+E71p9TK?h815^_)foo)USbYtmji@yKtO}h3!gMoZW2BN9dVA83{pT8lLCZrPQ=DB$$s4d(D}xLZ-T+S;A^35Iz1OLEXSR;Re2CI% zKUaA7Eu=rAkLpE33NIM^L*fnzOrUi6-%VwvaKoh>m4VIFDD_+HnACI(SAisjWfwq@ zX<#+Kftaxo(1Sl%|NLW5$72tP&AtZ}48Iu+a2!8?WH=p!uz=-sD9PbP)+#SI_frsG zRKd~3(Q6yPe~wlj?E&#ZudKi(_?Ub-2xR21_>vBWbLs|^4LSf=x(|GFDdvL0KRr|1 zj9hq6xX1-MSWDmX^70)|NrnaoNS%=98M}wbWBY{vu2gJ4Ah{`Z+11O;%v_(M1xZB) zC!V{x`3oe`Ie@W)P~1`eN9>}wEU^c+9O<<^Jv|-Qh(VA(4vyMrwn8iNY=hBq3sBo= zllsT=gV>r0?rRNjUVamjtZ3qme<@)U0C*c&pGp=fB>$)9?dwKL%7S4#pj{$yTr!qy z^&-nf%_7dgz(AwkmBSk-k)3$bE%P-0eYuz)*QOu^p6T8s_wgek&O2F*W?-XB%m&G~ z8OAmZ{t^1N>2xU^0(L~?P_f}DPj%@zp-$o-{Pnd@UA8uDlf{9ip-d!2k6&bc{%&bb zk1>pr`*_heRgAYrfUvm#3+JhtqvK1U8dY>x1SG5fSjg`7U_zugZ0<-~`?eTcv4gY2 zr#Bx68Py8|_j2E74`f}j1Eov!@3CNw-ft*x8Vl}cle`af2o z9VtrS_MDPZ%q5IL4$VXRp1QqkT!n2P31NT})2OYvKH<+Pg56bxZ0I*(4<4W+R|x9?DbzpCZxm9v7YLF21qTNg2@_;y zl%v8`@x-EvO4mh7S^U{HLP6j6574=7yW6pk#1iHXQ-+`2+R_1aoKHNyUzM`7_LF^r z9#!y~58VOS&Ums+A@M)nLS9yesr`-I9j0QR88Z`jWkZDb6rNB5o5ONkr7_i)M$+ zOC0DjRrfBh9w77Ou?ldl-1gjC?Q4LP@yX6?@V9TzptF!^@=AnT9VJ4O#h7J1?6b}5 zwjNyo*6)1RsB|F!hrQ9mbn&Aw*LbZ}`!v75gXV)xTG^KNhCQn&A&|`=x&NW1zRUlJ zLk;tE>YQ;v5w9INz5`M#C1K-L1>0ZJCu_i1L-TmH&!zK2_=@$*@2U;H>e#@0usNU& z3LfX3AH`k0EgXN`!eBik$W8}0mW9C7~DC)5P+;g zI!V6nA?GxE1Hj;&nRF-wf`*1Lx+pOxo&F{3GLRlU7f(M=@?mB4F+R}_)EL7B;APmv zFXfWL&le)23ETo3d~Us&0YVCJ$4*eVC}1Q8iPHc)oayhR*-fv+``UfRX;Sx@pffWP zd9O@4$6g$uoOA;+y)1x&3td)LR#*Gw#9XspzeRFG30kamN;XysXzFJ6*!9QA{RN7* z+gNx*S;}ToQuihbG&6*=v{aMm) zv74HB?@C-Bt%-%++}r@-<02$5|39{m6XFJ5{5(v&7R4Hf1}D33GCWu}!T-Knj|7$- zf=jD-c+fFzTW2_M>`s1A&YlM;TN3-+n&XovkKP+^t$$~fVH4cZ(cYdHp+fHcP+2)s zs7~nRHfSMjT!I5=91j0Tsy!iaH|ak~lJWV$ie-FBeQo775W1|k);&H1p+ndpeqV?x zg*)J^LCvv*@yT1VBw_ulZK8Z*`f*cV)5l&2BzkYS>RMY#=2!z9( zQp{n0`=r+iJPJ?*$K1T~aW)V#&_FomF;We%w|F8+PGZPoadD=c%?qM}X$(g<-%X85 zI(mb@AG5db4b zP%|)tfwAYaKR%+CT1~PdhkY*BR)BH+7xEPK33My3PRE)J14AU*c)m&kB?_4FHg-?G zk42D+8#U!+SdgEC74P_^y?}6cPR#%Cjnvf z*8O?CFjmT`4!JXnUj4U*M46FojkLzpfC$U4ce&OAS^WG*u zq7~ZxRh|=X=?5+`K!N^(f;6bxF$Se;Q;`zj$*#XK9;_4Kf*Zji@4wbY`h-`AaHSb8 z^t>eY&fj-XiX?d&h)WD~L$4D~xjZ~Ppbxj_Ja(a-cXB?~c_GjD2nnYU8`(cip`7?) zZK3buL@&nXX71b2I33lt_I3`jYTN&G)T}O;F4p=c;3d}I9doJMA6!|q3?~;ZpcXUx zPeeWJzgC4CwuhOAMUN+{`$4Zzi@PsHlmaQ(&g%aS*~X&mE(sdYeE%Czw>@HbA>?v! zB)f99gC1y&7Nf zqkkczn3#i-%3Ke*3~?k9Oj>>kzV#|5roj97@gvfDW4fPXH&^_>_ou7Bs9-+tby9F4)8YYm=ys+;@7O{?Wl`>%@TvXZn8(499pel=)Mv0)i=V$^(s@ zEhnHe8}E$wP}v)h*WFv1^R97zu3fF8bz|ac?Vi~;3G#Gg)Cvli62k1+wB^p*Q+vn9 z{Vv#+t%vn@bRjkB1@n(iSb43#w%6Z57O8mUYqanDXA$r=u&a$aag9w(@+`zF=G7}~ zGt$$6z$z|p^;ObL#bWI@b|Wt8x|JVXHMsA$k5Ldp_;KvwEuRnm4f>i03&jO2gTzY$ z04KwsRc+RVkwvT4y0W~yuCcgs@%;FXSBpHlBGDbQ-Jr9${!ohrQ1n$oT9a=asQRA! z_fe0u{r>MW5c6Yjoe>9Sg3T_odXRSDU4|P6aUKo zDhmSEIQw4#I^?m7U(fC%Dvk)AB+sJ{O;W#fq9mQYKDZ9Ow+^(tySlrZfjsTA)cL#M zFM+c6zXp8(?j*m1wuMMnh_84NN zo4qF3#Btk8xiiZ(KQACCm_Pgp04dDKbZ}O;?KQak$c8aJA!MxOxIGm!zd@%evH#)0 z_IQ29)b3&S;knCHAv~n`YC{1d ztK*blU4~Yjom_mSf=fRYihIVZTXFNlW?RR@fm0XIII%hBbaAwSJ!FIIh5e`Fp#48= zy=7FC@Ad{vNGK)JEg}LEL-zoJgfxFiz?wBY&))mq`?{`u-P59ysbh%kit^QjrhbU4PxP)-M;#8#_)8R? zjmQsRX5_6_d1^0zUP8KEyU0Lzr@SInXTuGwh|pCs_K&xba0l^Aihw(A&~!a<4CV6? zbxCtGoj-n&QS3In95T_^aq@M(w5L@4>)^{m%Hg(>p7{qY#^9k846q{B$u<(d42Q1e8nZbm_;9k6 zjF?_jvxsv5c%X$fDhe7yY2F|`X|yO~;5uInwGb}ggg4Pv`Ms#9zQ-iL=iNpq$=X=& z^xLu3LfhGf&;w6azBU`CA){*icu91aVUgiMqSaRB5_bRZagQoc<#D5Y#`;#8s4Y*9^{#r87e!zUt!c#Q$wXldN&^U%9*$i%}4iqHj{(Q zX^J*)kU&^vQXd`gGh`>ZfOfOc2lxKJfmrDZIoNp@4>0!U=n5&Ivbq3Q<3V_b8L7i2 zuJBd?#=H9BW5aiES^6@l&ySu>Gy9jmIL9~pt&GdUhMO53jBRJu9|3<_lvibf!EtM{z2DxUm+{Z zb-Oe2XU(h6e_TcBlE8z^fE3#s_whj-5C^-16eK~%G}gb<%KgCgQozyB4hY+HDviaKn|;H3ciJ`V zjtK3?sesgk{!9y(ma`QP0zE2ndI{NuyLb#T+4c#9mFbqh1IXv|o$@MRe0cc(lOf*j z^}TyqHRl(Lx6RWuet^cx_|h^m9dRA2IG?BHRy~J)l&Al7<-^6=n#)eWaER&B-@^gu z0T>noNE5{$67{wzso3V<-<`xhd3Lt;#zk&sS7;&^gl&lMj!v! z2e}~AO9I8Xz>wkXMb9eEk1V}0y|?kitJmSt_Gzo((W%HG6eve7bsP`H|0M8eeB&J6 zn+>Ez(%ZnL4_6*l#eZyk2uCf0L#pKz(3$NMduDwGsABx-m2ZLr)$-gyE>B9ig$kY0srl&K~07CM^M*S zTbh70=H6lZ0?mFpZh63CmeF!tzjrs?70BsgIgcQ@!Fb^K(E$4H&&ASZ^-R$93qLy! zu0KRoW3g2WPp9c>9|YECbPbOQEw_KlSpG}c9_IhWm%W*q)C}YxJjo^n0&|^C2}(l7 zz2uhP!k*ivKKc-1;_!B^n)>hB+`fiqXa5=Q3ZPtCcK+y1N_myutMo;R?mfhxe1ymI(=Y;A|Abq4S+l@6T#=M z|CsfT_cA2V0R2aB@tFI^5BCYJZ(6!9d%{`j6)jZ#d`k|5Hpcu!ViYr8^xHG_BM$j$ zxKlcWOwO9e#Vl4USoZC}htzdkG zNGLXPIp{Ua-Z-oGEa>;H0t;s-$8Muj04S`noYxr&u;KzNhqUUw_Z<$x{^t;{2t)Xo zUPuxE&Im7lmo-s+RF7-en&7|!5L%71xerOu+aUihA6f2_-H`jp@o~yBuIsVi;J=1T zjpPsduw5^%J|B|&{JYduPSVhYQkkemT&SN10!Ag59+7aNLbGZP((fG|waWFlTTjMS2uFX1356l}SqI2a8F@}bW~TxE0t|bO z@U6FafMl`Ty8*iu%s{F=PvTA2-V*=*;A4l>?{V&oO;fzS`rm+!M83nIiw*%=R^E*2 z{7RgKeU!oO;|mBxovhp8GWk4Ru2SGuQj}UEdpis;_=zMudp&rHa#dgr(*HSi+8aa4 zCyF%m{g~=l3S#c2( z*$t#{Zs-n{2VM6mG&`HACx#{zP}l0VTq$81xIx<; zxaRh=$Bb$2%^L(Zh&FNJ-@d{T8L83Y&cKzBPgudkXO&Fxx_VMrCUXOT55to}KMS3Y z_`xV_eh2!C3j((}CP7YNKR7(HF8!#~5_X?AVT)7si%;nads zjE<9tDuW*s?!Cf4ntj;Tqv_d&owGC->`^>MkiO{5{0}{{;r`o%04m14kT>2!oi$kj1J}3a zKqCt{KE z_l;^B?6-Sc#QQm;FgFV>Aa&BWw&Oln8z^xjF?{0#gNyx@q1Zn{9LfV%zLU0#7 zUvJs$BN$bTr40uxr(B6oo&YOt{(T=}0P&}bGY@ldTYf+dQFPgdAE=2M55N9UDfbyq z9hDi0nbHvoQnE4yX$LcH#$;rx=|sAH#{eQ#=1&s*0&s|W{6zdEx6zWt%AyG>9P!PR z_G3gvp3Zlew}1cE-5bzCp~6dtR2w3mAPGFcxJp6!OaV!B@_JrxFd0)9%gU&dzmosoky}U? zu*=dksnWx#2R+S%iSQ6p5pSzBnq6?wnK|x;`}Ovg;!Qomwbk(V85m(8Wa}*1X*b{( zG7Vn<7Jj|bdX&Zf$k7S#Ry#a>elAL&a#!c}+53KUm;P z1Iqx2zm&qH_vNWgSW=|1Z+Ac4y@FM)xRu)n0V3sFm-BLGx3ATI{jeIgDMiOD8Cr#fzv z@0Mg3`2p{&6@d8o2{5#EE#s?zQcuO=4Z%pq^$wlC<@sTDP=A*8&Cp@c+oAJUN_Jz) zXWk;($_*s+iLqb+ZrO$GG)~N14f~y=TMlVp69Ai0{7f6`Dd%kw6$H-B>O%>%AWFBaEnUEDld0~v3m{ScUpx@o7b zuMV?xUMneuk}HwCQo;%&$G^{-{IuXTHgkc@R-1keXI?Nn`v-P*B}EUDJp(;`(yQk3 z8U5+wti#(8%dU0x0ZV+*gfq#JyO5!PL%(G=8>fpl1ig%t0H=0sUHwWBQ7qwwd#gKN zVgt^vtFahI*18(9zP1Bf7PT)T>6uq(r;tr*Z?bIz%7#r#CyO5U980|j1>8x{GYgf+ShvR$HPoFNt z_a&45VZ=*5X9ye&*8iBm2uYOq>~vDFPk;r6>#1ye~V|8!%N~zoTDRM$Ur;O{qR}XIDJs6 z(uq0{!5s0_*^ogB>xGIC)^YM+Of zJU5U*cSI+j!24zA>ZQ_@doNw*$YU_kzl1>kGS1>HHiD_COuN=&jiBUlM}jr#OwQh4 zTFr;lw7UwP6wDr1iI8RoJ1p)mls!%Br0-0cW{5}qTs`jvT*$h%Fm6RgV7tWm`n|eZ zf#nBD8$GApS1Gqv9BUi*uS{on#r^cdL%KCppNF#!7Ujf{@$W!ofQCGe+P2)98~mjk}Ez zv}9{4xPRlSzSz8!rta+#zZ1*!#ShlGqZJVEMZpwjK9c2xqn0RM|(wVg}=40_&xhd>!3+OtEow1Fd~Rp5}LACUZkb_ zik$vX@l}(Spz}0&mb6(Vw7S~z&pw&m+jlu0j=}{-D#&d!%dDQKfl z;N+i4m7S#GxEZe^xv0~rWlqmhCN?J=L7MQxqbPbe55=U1zhtQ$@Kkn~*5p{CaJ9`R z*oS?xMWqrYuUZmI3!gmUn0u7CqT%VCTK;?S6nIc`z=Pty4_Wf`WRt`j?NPCXc))RL zvQvd_t}YT&_8~`i@P4dxX{(2R{^r9grwjt436yFi#S<+GV;#d(d|WcrlVl`u>yo)z z%xz8d1Klcw=63VP_;NQ@jP#0Y3MW=0pd`gey_dKZ`25L=}`C5?n1fPh`TxC-uTy` zei`2-SEgw!q$yjxZta`vimd9usAu^ME^sgjY(bt?adFW?c3^^04?Hcu$6m=nc0g$~ zxdy>!db>D~>{n;xjXdDf=t5JhDZS(LBnYOe0FRavLbvb|MyPjY$)_%XSNb9zihM^*2xcTo$l zEd=5>{6?Mb%#M>2D@|DMs|tHbq+Xc?+z|O?cc9|EOTX8B=&l(&OD3?Y?b#S-i9bM~ zneSbX*=URo2<>jwPcJ`28kZ#Blcd^l0unEO9cIuKjn>I`#L79_o`8-NiY!6o5LAD| z?AwYDQ+jiaW`(gv3J_n6lF)~F0lTvoB90|qCw`@ZRMbIa?!P=~%qLhB?`fZ=JQ)tE zG-PDl(H5b2JyVToX>B*aOK%ag9I=6CT`v~*#UZRuaS;R2wzyw_3KXpfXwKDbQe(>~ zxrMpWW{O3+kL9;ke5O#uH*jC?k-rCgO$i{Eo?(u(R33yOAop9XOu5A7I0ID|GKaR? z@-JG6az{G?nv%RKRf>Y!g8{LBmvIt)=GlWemv9;khqGl!Tw=KFvQP>>WH*=|zbZi_b*`_|B&vFQ;Qf zXP98YygTkgD(4??0CGC|txu0~fR&ZAV>=43*k>zEz84KAo7!UZj}{hGF+D1{iAvk~ z!`gk1cAf~U;jF~%ZZahzoxQOj@{6A))!>8JerHID>z4dc=ser!BE(`}SAmzah`Rl_7F(}w zdf%HoBv7HafeKX#rOufKE5lx4Y{gX^h<%cqUR=x?DF#*?)G$2KfRt~*z)VhbcF?Fm zixs!Gaob^yID@_Goz!-xbjloiT-WF8b!{Bmts#}KgN)n@I3y2=Jtv7B3&gz^b#45x zsw)k%R2V~|cGJ@e@BfOUS0XyotIHUqUz_>f7WG8o-sjTrRl_)!y$KNwTLG}_MCj+) z7AEs$%wO>Rj!mU3LoxiTk@oVK5uyO>Z9nGUW;3Ihbx8R3bO2Yk ztMzT`((?p2-u!PQv3l?QTB6MMsN&EYRI}F4aFe8dhQ=*skJ)|k2tH*yP%1R9ak8}k z(3;m)B03*`>$6v;$PgFnvLAXm?>?i;vJHKor-RG58Pu9@T5O+jccjXb9E)Oe_U5Eb z+j?;ZytX?}OoN55kC3fbYMt(jdR@ov%$03u zKK&L8R-WptaVYg!(eD1ixR7Q%OWFBZeG%IMeJ*a${G&>!bcgASyTII+%{-e&H$Rrq zRs!rd#}|*5A{?5YdG?0~U=(8}NQ3pCE*5W$x|7&Ugx{=f-K^nwY!tpm&){mN9?t9L z#zGHY70B*__e8;0gns|+;N<+7bp1Kzf*8=4oJ`VU@xCTb~Qy`56fCO%&Xgq&q{$nw}%4RZbwZC@>G3N&yrG+zCI^|I!n9m2*&pJ=Z9II z-spy-9cNmTucB{m1L0Qby3;aKLf^JmGn|2sm{i7s5tx8jxq{-J*hrV*!<{yAa7V#l zFpi9Kx03>-{d5nDn2$&kYQdgMf4lf3fH-~z$FE3hf6+=15%Q|;_@iOzd+iJ)aklw< z8QZSy(gDY~RN>_J{3t!fuZ3!C>ExXaM3ApKen{i7l#9CC8G5@R8_k^2%bw*lxWRT%gp=>-& zqW}e(4YVHOft0kEM*7*TV51KqLP|7Ek0JfHShMTbh8+hD_UHged*Q9%k{QR;o99_U zx^>q_v{I=$as&BaYfX*=?YQi|rZANxv`^PqzPDGxRk&Pd8cQwu3R+n!P1YwJ_DMp~ zY?X=zou0B6imKDb8`cL_1$hxqExl2;uqo0se1jFA+8R@a3{a_3vLt~FWtn}UntHV? zUvV`n4^+r3;B|ZsMwsY(ccY-f#QA}YQ5kfQ9O-Z1&_+xQ`c{GDAL1(_$3aWYym9S5 zrJm|1=&zD@IhV^J0zSmTIw5*Bvv61bg8{v7Qjh&eJf=v^?; z!e8i6h@+^@C&X8%Txra{|N8sUazX8#xS1;SP(8n=Op`WaJT*f3%$_eaQ&d;k_k+ZS_4#N|Qw=a? z(VJ>|b5Fl5@O&{qWksG@eM>xkBh%b-u?))QTKB?irK6$MeAU1d;MV+!Wvg#6FKfBu zwX&JL%ks(agin(6Ygb0>VGYnr%S_37xBpi2c3hBeioc>rVp^zTxqrc@!a`QHY$+4A zwh^FT99IAn!GeyeKz0`cLP?2IQNoT*$#)TW7lkAsZN~r>Rw51Ec{7f%_altiiX$pF z^7AV-?KX!}5eEYHyIZS9&IJESAPo-L@6rmeek;rO+c}h7i@m*2z+Fxr*j7pNw|6#d zp@I8!qm^l;Ib#*nl#9BGRB;zY|EvZ~B`xzNzEg~N{Wgi@l*o;3nHMzN65~G-yjF%m zvf}vzR+^-pI&5Bg^W@Tv4)cc`88(NQbVS*ob^bjk5=zr>#AWO9kRvN$B-MUJQCCwM zc{YW@3)l8_hSe8R%m?Ju`*K>_xvwPzY;!&Kh94J~J%suHhWirtg7ZYUz9=t-6$^T+fb?seu9M@@oe_GFg~V7JFOJ?BUWL}kC{{HG06YwTJT zCO1g}Ign7o^m2`9Sh;vq+J+OGe=aFwiwq}GbHFKaHIC`-D|<>SB$hUi5@#jaeql-W zdtNAcBo~?V_?YN$&?2&iK8aqb`+4 z`ZRXr`W^-iuxk{g&#Q>Wh*RDlYORl)k8OY(n23=i$%3^-)E|%BI!P)B$Laaghnc0O zI;w1$8O}betrkKc_v0ARI^G&I**3?u59hus%;Bw=v{&f1X-sM9ox0Sz)~fqgl(fx`q6#b@fq&QRB zmih=-GF`4=VAoEC{cJCe5G^Ib*Rzvry2pT961UF;W6$B^2=K{(d9a9!Nq>^+8FV5t z?OY2NH9cU7Y4Oj{y!z+dL&0*-3yV2QELq<85j_D1$Va{}jERX6^}hlXq|Di-=7#CP zh@B0I@w=t3IUg;qMX?AleEq`&{J?{QFM?N6)z>F#(@4o_7BcAfRWB}|GnuUu;jt4j zt;i5j^ERbxSda%fW&y;Gw6^$Il*P%lz= zp^fVb@$qSbJ;odn62Khsi+D#RDJMlEWchw=(!LUDL_tpe5)d?$`P<)l{4)+(LSXs^ zs#MGVEvz0_!;60Gp6j;tH_5Vn==3@9%gvU!tiA8Y!H~t8lpjD!gG+S-8FiQurUB^$62AUbCOu+1C zLq|-(eb^B`d50MqV7J-uF2W(W38OCeRfy&O+x{^kox!!+KQoh&tyqh;?>!&*ku>7u zB_rvNicD{XG?*zG+6F1}&BK>uL zeREf}XtO6X$Z$ymTMm0zfFX0G_c1+eiUITOiQUbZLVBxIHq}GXlNuH|iiYTcfq zq=q8cA2_0|6~|*m@|{$1|wQ(T0rxfks}=X z8Ib)<0Gk9n|8IUhlI$m0f(=Z|PHwE)s(XV}G&!L-&d$oy!>e3o+s*I0NTk2V*YXPG zEO`~J@7O-;&jf$x9wNH9jN(T(JWI+rkQ+Im?#~4fp6B5WEF|Yh1CiP!bZ=-`ZV01U zcfy~-_-|sMS~-08bt*+8%cJ{SK}u?s`l}L7Dp6O&KUYvX07~?zy{_6bKHlCG+F{FRv6Ry(%^z zEFl2(xc>dlmTf&U8)xCxxar^R>QgM5_QjZ&$(hR@wR)0&nw4a!Nz4HwR5#00b zTOQHnIu%?EKt?8#JTHK=Z8&FUv@iI@v$xOhu{+y-b-9&k$!hb}9^Ml)Jo5-OG)h9! zd!9%5j7KIy9>g45V?>XPJ*(?3YNVJZiYyE3J*V1NTts3yk>qq+G`cFX{)(aRyUJho zRciV3y0NyZ=mC=ZlxpAg%-!7C74oDpnS|jjo%vEURV;J1rUpO1Zm0Um8?8pMZYNH^ zQYTKbQfc1>YY}NSS~GzUZFOVu=oPWI+fkwQN!l3-PVMSZ@J7YH_j6v}wmK=-R z0Vqd2K06c#f$I4V2j9zS&Tj$xK|u~S@OzzNl#XG~a9x5RrUf^uL$MhnFMeej&3#ds zR+U?_-hD4uN=C-+7Vvu0c`xb_nu%HwL@0rET(LN>znt zQ7G`^0jM^0-=N)d$mvM?w;0*g8zagb!eRQCgXrm!3tCH>G|JD$POc}zr8R7R~V7R}udrFaeoyc?=ql#W>{fbm?sSYB% z@ZoSOTQK3?`r+A68~&bZ-1Ogg!Btn(QDj<6pBPstp&IwpaRJtGAmCK?Z~C|7P`H{P6%dhBpTt|Ii|r82w0C2$h#S$J}J={a&ko z)&$PKxC}7AGw`)UxkMZxdlZ(nD5DRBf5)0{aaFaj1l$^va+iO6OrnVx&m1a@Tn74=8 zzww850Ds6``AFA4z!K@(FX^tTs`}T4_ykZB_7$Tw02nyDP77Euo6+NTlc$np=>u411Bs=X6)&C zrZ6ep%+&2A>Ve@)toop!)@rT94)GNIiQ7af<;jF>--6-M*Y}q8eYuSZjc zawy1_R%k*01zABu1kwITwbA{qs~;JDa+vYSJ2miFDa7sbi0NP?dwdY7EJN;u*5L>6 zgzW+L=MrUms?CvMT~dl4f5s9KN*9ZhlrR?g;Fb=8X-p;Q+9w}bi24RS3u4(2ukBw+ z1_f!x7q*3;(DCIjhSTrgM{M`lAT-y2DS}@(afB?UNo9FShu4O@LZU42)&%r_2FNZ{ z5aVF+m|Po#=OK@JHU<+u8(UEfC z`=rAjN2Nz6R}#sYYxT}dDz^(&RYd!X;>P)(YGvpC!$KGl4%>iLheH(-Lq2wK>T)dT zh>MGl12?*#r?Y;&Qtfme2exN!dJZLhiGOdAK3i(Rn1F4pdy? zqmGD)s*A7m*^Y#COcgZ}{-G_JE5fX7IOVRY6XN_|8FTklc zS5n;V9%d}$H`dojOSOx)fbHHCjeRu-Fb)j+C3+k2)2B0G+K{Zm zKQBeNKZms-3{jHW7FLK*WYfTl=yiw_M6gL0BmHrejF6)`=qEj>hE@NaUkGx^FtQ$n z(MQ_`!MOuB4=?>LLTCp{lyo2#Dpx07-wGF+J%sQ9$w^cLdoX9tVf8h2dZYUT1XK^p z`#Ku^RZ?fr6NQBVmY)<~x5evBhT<#6?R^kqq3J`t!=w|S%@m5<+)wXXD>oFGYdiip zOW1sME{6JmBUkE(jHzrXZl&;7@abHvhGWm{QhOTB8Xb$(uH*{Oan}=EbSdf*vC`qG z@Kn){G^~iVZjcVs`^+S-oPzBQ1GtjqX zUJKr;3R4N=LAV$CEMdke>OHH`mqh<~f)~?&9IB6s%;$RSx$_f(=2dKq#D6GY|2Y1e zeWlOFjH9S96qutE^@BvvEBbK^1>BN~wtid+G7JWUn!MiRj(?t1K}=0>izPINIflE3 zWxrZT9A|@kJaC~6&aG96Q3xBYt%pIsE}s6rA1pOY;NP(xtzKFDf9AmzG1EZlT081f zl&0|(+}!JI{9fRjc&bClSXAoB4DJZ(*OVay)}g6-O2KRo10ee40o1~;4~zz!k|R}( z_aqMkf$7H^$AwYM57ZQ9lNeI7s-VvCb?=u?Tq-57_eE-oSbYB%-#k=ZZr4!;I5*3; zIT*66vw_^^qY3Xe)`wMz`{NvuVG5Si1=0!AEYogACf$U~$qyu1{p)|%t@m7_l9*|UW_r=nf z)Cp0wS=v$|=Ow!EqkllCh|~^dpEJn0^)<3HXk$e*{dug0Z4S22cf*FTd?@nn#SOz& z!!K78^t)*xpi}`UcV)|mULV^H2Fr~i{K1mvtuB#KQF*}f=qRwX{4859i}#;{4vGj~ zE&o$#qv1wRg3(&k0DAtQ3rNga1p)nOjIkz)<7zujCXbu>hoEf@V4oNa)o7{OCBG2E5gRM4!gh;Kw?Do9{F~<2m6G*Gh0-bs15?aCR3f@UwG#? zG+*fZ2zZlF_o<~EwV6X*U{nGu=<{rpOtK-}hNs3Gv(BZNMa&U49-4{7Y{mqPQGFj8 zHJw`C=rcvLF<2=bf%qO?7|P>hGWQzniS}9#XCJtAf%vjHDAQB*FPoX>j4CiptNbr% z&VZx`bxVtBztld)o-KbMjYNKx<wg& zj$7ONH1?i#tifmB{1mk9WtrL$Sdv+WGuh^4k79x#wZRIkKF0y!Aum9*q=yPs^z?&Q z1G}GhmqAII`5q=|(moHff<&VOciySHKzb3@=XEm9kcE78pQhoHMNX@_THz?JA@YY( z%nRYBGZG3FnPm_6Hy7l_XMS?_;4;s_<*OtW6N1`a?NA*UVax$hSCwC^^si~meNpFn zd_u5#)vMNxK;Pqyt6uK= z7JGx8*J?CHqG226Zu7me7(c|M+46mhquzsgOz!+~*?s^In8&NKh2V2y@*d|X77(sD zYPw{C;!jhwv;25iV*Et`*1p?W3#bUGqEfPJ7A+sc`MNiJTAq1-2g+V{c_XEY`&&b%&3u*IyA1K?iT$c7={ zMJr4VZ$aU}z0iijwB!yE{;{r1ILd6@y?x{*iTD{X3ou%-d+*&6(n`(5c9*P%U+-M9 z6RSnw!xg zJ>t2$#oMl_`@(v@9y6#09lKR%Icus?zwP>B6f?7(IjHzjH%- zAyJ$Bb$jwx$qz>1YT+2eWRD)%0*)QPKPTN^tX&K=pMRNsxY)g_V?3|@qN*zYZWns< z1vXVKi|V-jSKZp%N1+->VT_ZGHb_X%21VT-Xr)Qh4;X4oB$BJI>365@*Xg85f)$Gh?4Q4JMrKipsX$w}F*XC0`6b$w?Z`#1N3KkdW2aoKw+#jY4n|iSC`BaLcdLl$>+F{Bkke+NFy_EuPEqxotDqQ9B$V+OuAN5%pX(I~o=f+*`?we|Up`7#EO07B~>`A%z_4oY>qH3G4eg z^aYh>(YkS3$F?q~*pdu81?aX+mhkZ}&+{oE_r8x82>Af%F;-CTvwm>6fHeaDxHP*; zvd*gkV(Pls^J|%P{o==!*!cl(c=y0kEmV;t4>(e)ieB61!*+p~tq1U5D*$ubZKj0W z&d=+fY&YFM=}dnbMR-tgo=E$OD%DmWttyAFXZ0rd58Ht%tFyOCVD7=1xxCRPQBl>c z-Z;nC9yF*>xFVfF9_AE9|CF(k(qp~dBk)ZuKZLKNojKiio84aPvdA0qc3q@0{kD2UcWH10H$0#1N zcCO9~&wqHaXBZY};%WV_DOs7**@2My7^*yQfEjM62|XUh^^f{j_E+8ockNohT^EI# zFF&m|kL1qlKN}aJQl8E5-PkKCAlH~ke|H5Y#W)ywhS68nu$M8omzhoPY%c0RrY zV4+;`?_JLR&piPq1E9o$a3FCH_k}!(PHyp1sXqllE?5j(-{Z)+zaPoglua!d8HI5! z`>UKeEstUS0bXJF96(yiEVmYzL_6LbCJ5EQutqRN9kaf& z^KizvSr>bjwO$gYw+hGWHIPP`P{52N3^dhEXrW}OsoGP`#dLkM6EFA}$5A4!mHH*? zHBKtXN(KRN_zy7*K1n#86|dR-k)vA%nL0OJr{WbYU4h2rPtzEUlrC?8S=iAjqE58E zEqe8aHn_m~3sr2@tBsm%Ra^b_$d#0ZMO&lo@fz-n?*vABCtAPW%wi?0Ng(^KR8JNqiF%IE~61?30ay>*D zg9cC7Q_!1F@__QIwMsFVK=&*Chy`^2+aVY0@(Wli5kjzsmVkR5$ex!N)PjQ5tR5}G zNc!BP=tAKgnl0C5USbN)p7PWQnT^37SF>cq+d@HwqCh%mbrZt7PCU~*f%jz`%SXEtydW#>!+Wp^h-CXKjAu*9Ri}@EiW{k4TnCK+2 z$!JX6uDOB12las5>2E8x8~5;!=jh~BpO7yh&6~N#V@+&PV2M{c6a`ppjr|KtS2ka? z{ikQk&dTVV7L;`PapkW*CDX3HY8c~Cr{XLiMSKi1n^|@hb!&22e5rIgdGD8;)v{Dd zow*Ys$nEN8U%9LbAC4~wu~m+Afje}x#_bk1#;?06Q(5_@-cM^kx&3xwzadU`AYq>_ zH=hq9+zu=(KTC-m!Y1)ru#l`XXSX6bdp8qvRTv2SLr=-*v$An@dhg#OibRx=N9Kp9 zKZzCI2IZ+U4<&~`Cni#7{v%+TeDyDK>V{%POi)-P8zyzh6>!(Banc*^dFWQSHt|_Q^?A#Dv}l z)Q1mP;=rY2NYTTez7Hf7Z*A8VBiPDXjr9wGJ|Y$KN*ucb*`v2f+>7#FJy*gFK6a}> z`!t924AZ}OX04Fb<-V?s_Y~%N^|Ibq{Po0eKRN%;4pt^V1zrA7h4*sjE>>G^bu{p5 z_Kxs-Q69WF7C6pX@b1365JXnBmrFE zn2Gfid;Sv%z0X_*qt1xQa>7d1KGmi?u0oV+lO80F9~R=YHw%(ZF{Ta*>s4g;*xNlg z?0O4ag;wmu{x&DhG48-?uQb**d3pl&M`?{r`dOZpd9WVxS`6nzZ<7}4Ej>5(M(M8M z9!4B0RQs6{qI+mwSzI+_G^HUErpO5^v9bk!Zl+$YuRWiDU&|t(PePDB2_l6hT?%*u@KQ%QU+WtAd>=aj`0&a;Qg$` z^*6*MT;j1v>-b+m+*@fsyULTkrJk^3h0D>9c}1mO4oeajD`L&-E7UKy%Pk$u{YC!F zo`MrrBhFTjKWjH<@9B$hw>lt|k(6o#EFx?IXeaMFf!uBR7bmOjeAiEm>-U%rRabA! zqyC~^9{5Xxe)@ODM69O5@?K~kuugBej-N|39BayzpaEYpTm+Lp zG6Vx5(s@r(AGDm{(gtqx6Z8wp=P`C@9FE^`jKu%u8ECAMMCnZx&C_j#0SQyYBivku zu(=ybaVCOWN%wJldf*qacu5JbVE%`XtJZwCyUB2L%t+_PJL>LvUtU?57|~+{__TlN ziQO8^{iCH}ZY{kX_%cDjlnxGC{TZ6iF0u#>kvvGNevF)DVDYmop!Fg*D>3Ftsa;^pZJFH4BJ+rjh*u zK*q-0M>;xhLgOR@k|N@ioa?KAKi+=@O!5wtofnyG>EPk1A5HoBEEH5!6M$*!7I5uB zf<`WH+TtE^;m7ZkBFFSmyEtoL;y}GOc=6Scrl}cgBtb)heK>XJfJ48$n1y-4`zJCd zW%N*v;GONFRyfs7UfUEms+YOzcdQtFgK*bOw>FJW6K4N}G8uq48(iL==G~4-O`fb+ z);D+-2tjw*`GvmBKZ7F5iGLTt!=wD1>u4_iP)RMg!d#m^i7>8J7)!eBBaP!Pl`VMJ z{=BQV=%1pI>~%G6qcGh@TK6^#Q#zN}hw22qHa!vQMse&C^ew3!nGWe)0`ASP9N$24 zOL-OEOhhCkhvH;gC_IY*l*dUt+y$Bxk1wyGMX!BlAG+D%9;100UeAwG)m4IPad)pw0Rw57di`eanw+$-AxUBDf`s4jZ zs~>Nh{cEciseYVahpyq&x%i6uG#ge!MNM0YV_ge31X#99{l>Qodwcmu+pB}P7@9eg zDM#>&f3j26*6^<$!<;DVJgh}cq;zvqKn$8Ig*O(qU0Z>KbEN!~7+|)kj03}T8PMKf z-ZYH5_f#67{{23v4G>tm#I-+`bhvy-BHqZRQsKnx`A^ezkqttNX1jr!e#Nkn(G}~h z(2JPhPqq7=+QVG~u>nly^cWzImet0czuBR%X^!7#FNj4o!o_`h6CrMO`oW%D!Pxl8 z(_;yrYH^l!()y!5nPMQzZ4{5Ogte z)G6R=|HZFv5e~>Mo6;b-axE(MSpbXtPojURFm$dg;=z9`B!`p##h+f51Nt=csxN}c zJgp}W&Nj+9mq#ySGwg2j3QvxTvt5na+mE?_XLTr51pcR&nl3`HTOWKT9IjZvdZj^G zw%FhQQCUT0d!fnQpNQ&D)8YxTHJ)2-{wt0oXwMW9hg`q0xCDs$fyte1B?7c+Au{)7 zR)xw@g(GgQ8a~soK1Oq$89RcRaKqBZ;Wx)yk+l5jMeLdW*yco^PkXR?RK}b1*Pt6y z^2bvW-ip(b-TF-FYNQ-57KDMU^55yplFEAuYs7>p+JudNfEJZajU}wy&{OZ{e@4=a zb&>8c&aarq)*2)|t||sI)8BnMN|+`bsnNu4+S7uD$BGegM<%x~3rr4pJ`KxIB*!hp zlc2=rlGf~we!OlaM6sE33w!Y3^RNSp-7PQF^$omkN3+6k_Ww)=ufq|LvDnf5zK|%Y zUFFjTfeoqx{Is~yJ?dT4#IIa2?0q9C-Fd4UCqaUJW^q)z0A8c=ZBVWxyO_ey^9MEo z%pu`Lo1JBzM6AaCAoJ_)!VZ(dks5}L>(=)rHT+5Nv%97D5*k}UW>q=)XExRPlC6E1 zqj0Tw3(T(gS4VlSuW$Otcm#8@xn~V&j&SZ1V7y+v9L+a^p7l}921WcuY8?n*bZ=%7 zY}{z%hXZv=qNAKdWkRVK^TQ}c>W_lUd4f?P_*0A$uo%b8i^6X^#^)CoeE3~zkw8fY z+U~z4eaZhhwChp=2_~(~1|VGjfF5B;?BP6rE319Xw@?~}mY{;abWM=6-sm?8es&H+ z((%FR!Sn|1sQjw*L(EMLA{Gfci#QCjKOG{)8d^mLO-q*>?+QH_H0&^!Q#K>&ig=;| zeN9ld{09EPk)rCq2?&vg`_XIX?mll$2*g%4vKv`rh$zovmC-A{e0YP_3ZpiNX4vPO z5ulw*e`ADP7-0E=MW9z^QWYkywP-;OK6@2q2d;gHi%7r(ecsJ^zqZHakk}=#n{;tFZQ7wk zlQwIA^%tyy-9{l7xSyqV6-nm=s!{Cd)SzHRVH=3a1MWGp0qjhp@0aBv?tod`a}cN) zu;~Fb-aG&W(~LQi0Gb0-YP!y8qpVdXVc&>j&`$TO;x2_5^&x!SE%S9W_E;XpI+ z#nvc<2}LlspJKLA-##7N>EPUt#0%UU{;uDHa1TYp?>4kV)C=+R&qjRWT;-&ziC{y_ za#$s|OAqSB=g8(nd`uWmlY6vjhD}pf#Eu*NpzN~Z@F;jWp6Z;AcM?RVx1y$IKkQU`^vkBpQA=l zcbaGH-7Sr*bsJ4k#fhQS#}A0A9s1vt?cv?_Ji(ZBwk*(CI?&VkG#d~5&XO!Q=-q%J zqXdk9Ez5Hs5SI!?misgV%s<1M^NuFj0r6j>-Hx13RVjTA`b4z^Z#P#8BghJRT0Yf=`MTqA1(9q`{^7C` zimghKr|$n@?=7RUT)VbW5b078K~hAeyWs`|Bt*JJ8bP{lx}}vyO1hDj?oL6vySeG^ z+~@6jp0(Ed?RV_|dyLN?YYo>}=yjdfIqR6moX5`6Hy%LH>0S2o#q1IdE#p2csbK`^ zPAOAJ0EHg-055{RUUyquT9imNKZf9@m@O}HQIOamA~ypip`70qV|6$UFRa}pgW==jyUGG< zyF2r^qe|x0-TBKR5QW1XYK-QLf{(N*i)=^ZAU3;OO$d+ml`724FjF)<%7jcx@hT?) z))UboZXLgJVylc03+mmUktB;aVLyc=NjBxb+b4Oz{h~R!^81H)oB7(M15KCCH-|X(jfNme!&?66 zEBauFP=_95_sLmD0qu|R;#e;rO@w->D1F}2RE2&i;x7q5|!d$=uq z>uU?~35*&ajdqXP6yF^d=fq9lOnXN3WJ_!jiG=$N-=@E+x?Tn*e(6`Vq*=T>L^2)xjo^RCbZgA&-BZ);DHfEo$#c{JU3U z1tR4l``q(o#&~W(v*@^!+@mX7dcuwq4$xMR z9);|BDN#$jXQl6m68c%!0O}>zx4EH5aq+Y^4wPpXm@cIs3j04fd>UF1l5v&w3*e~o zczqLx;OrREctfrry9iSJc+&Bc}18v7EF9(wNbYR_6qbpX*s%PvM_Ik z(*GXfVwbPgLbrPbWo0j=Fg?>bB-NBHKElbth%Ts%_*r z)%a%XNu&y|j}(KHHmJORd|CwKqbntoIY3TMlwoK>Bgt%;# z7!5Tw<_6B-)_l6FECvW_fY^%H0>v#>e{a4Npnef@>?F)wKqO(X>sdvfj0V<^E;>QD z9$6SwEKgoymQF%v+H1KCWMsyE6zqSM?G9dpV%qt?IJf@lB{MyW{V%!~qhmTn!iED= zOhw+_%jR^f6cXLRht8y_+N*YU%8rQGU2dzwH1&4e{vw?Mbxwq{jlAJUUS!iO5p$4) zo@vBs4yS`c+ShJn_^BTkjn77Ajmu0mS;s@e@?obzS-3Kft?ooajtb!{lS-gzIRMh# z(GEEYmy;o`XYVRsW6)0iIQ@yasLSoT#%M#F@J>vnepIUjDZz5C?z_O%HXCB!-3#C` z>+5nK$dGJEJ(0ppZ`h4?Wy&a;4@?s#*%;}QYH-huMopRH6%5Iz4~w~eVq?vmc@oS* z)NC+=38~`z?&Z2ul_*hAV&qKd=6Xr%dbif{CYNxp--;C16^tYr??o@xy_VKW)`*e8 zS8x{-)Y`B3D8^lXd_KWAZ@HkgxEC6{$j;z-6`=DidO;@J!Js1kP?YBN!F9L*)(s2i z!{!j%wba3aDbGu7KJE~RW@d5pWz>vQ-bg*-8r z$sopZlwuMv$^k8!sVX#MrZ>yhUw)@`O}dO0!sM<&KSZgnVRHF;Gms|p(W6I%yl2Nh zbHLR%rc`#s8F0N=mR(;})lMg1s>=w+5p;{h2z*sBLgf!b`+nPH9TC}4*t9;10xgZ8!;}qnY3k- zGvWtBt;fWgvajq53!cpD<5=Ma$?Y&ToIjt3qFK$^fluPFz$0Aga=%Ie3=^Q_A6_aU z4}2}&CmQfSYrSPjM;SUqDpl`BxF<8M)YRE|*51(^!Ak3Ai;-HHlqma-tYB?mdvGI_ z-9&*E)~V8Bj;1^F)FO@;I@`5~{ks0vs8j362oHgMs^FS5sukKa-tLlTyuU8=bsh}> zxVT54;ehctb$R-SDoqe^T`FRJRO&W`rWcHRTr$&H^Kz+vo#CUor4Xg$lF>oKCJukz zU{XzO4^Jm#E|eN>PX0fc^|pf^el#fB7Z8uPF&XCN7k|)A4zss(;1fO8h2nMR^~)Wp zi_6$1P^r~@=5+C|p?iXnVC<2K@WgFl<`nyE$(oCuGvj>QO6xaZzU~4v1U}bW>Ps-R zf89WP!a5~cZy|a!kg3@2b-(G8WfXk!B)Z=1MNCARMs+^ubYq;BrYCMiZ1fO(b&^lK zz6|VNKo9Z#B$9bW57CJwB$n%55U^dDvn~I*eN`E}z#FxpFyvPSt=`jOTn>XBayFZi zCLJAR<1CHPRwavkjn&-pmz?HBnKMTZysh{hXix+VLbpklC0Q2l-|ICDD4If4~qNb%rjH@QEnoX(RJ>HdQe}U z79F)iWW$^5tNGE;lfQ4j{d5+z#(H>Z2gXfJ4JD2~8?hQ12B1)A89Ky}ctuPHy+X1g zgIMEDUbIIf>6*g3qX@8m$Ptz|EXm@(#$uI!JT|68u2CZu^)2g}UqiXX-eyX-;V{x1u`lZ6O*qvEc`tQ~S<8dJGZvK>kl zrZgWVhtEP2vL}%He|A=XssE7IekN%p0M-_xz#4Ba^IUU%jE(p)lWGT7>@Iq%zj2Iw zzcA67sln){aHK@VKFxen|>nKKy?WLEZrseQ~=Cxkc z6j&p^E>w>a0hq%9cWzQ+&HesCl{W+dq#ObDdj~FS+pDi9M_VU{$)OWAea}1V*rVe^ zxa4o#@WH%%iu!yZa#DI@xkHq^Tpf8oTjEy&LzaA%8?6*+Zb21(j`*)@p=(x` zm%TKo_tIRA`fij>^n;EvTrbp0%uXY@I5|FAp77vGrS)bH^yeJ~xUtx?RpKjtG-3Y! zo+gRy;gbd{i&y=%bvNT60r<}+Bn}vP^mXwxK z;^B#+k!FHIW}o|$6`A(y4pu7*&^o`lI{UQlO^g%1eBECTHY{A7l&AW2%hh<;Jwp2E z8)4iT_o9!c!Ni{3d+wNGcV$;kNUS$6Mq2uq2e}(m){{te^~idj`&SiMpSnW)Ssjfi z6MqeTe@LQ!JzR=6p-2?2jZl79!4yBnB?gVPp%ih1o~0q)m>Kt6Hy;> zp~nx|?6g~K{xvt|(~;?X6x-lzMdD^}aSz_*CwR0y&6`l)8HM>E=pcn;xm$lwrG}9H z6}P{K&np1!wp)3tR)Mo{@xL+;rH(3=;|*tuts`6dLdFgCrrP`7+o5@#|^ z>QL?l`4s?6$_joZdR%)0r6>t7F}$+0lxEM5zp0Ux6@X)h z?^B81uL=w{E1NJOp3k}bkQ=qFrQXumI0sOSbl^nH?dBeQbL#hz1;trli3De!Fu$e` zZ2uA&jf<7zIomr$jG)t0z^F8FwtD2Uw{-5g;aRw@Dk1FoT!V9{>ph{Oo=l{k#YaqJ z1UwxR$NK&GfaKx-N7M!)U-Na7=+nT%HW9evvGgXI5LvB zeX&ixvAX;zwiHI>=2H>OGpS|gMdOfVgpRe5EXCJ8T;BF1NXt2aJpHM?RIow78d%}$ z3M3#)!44U^2;M)#r?bg$N|vI->09D4ud4JqBo>zkLv~5f*9I@u{D4J^&b#7Fq1-ft~%hE1B|yjpcPX;B{4Gekrr0hDlnQ7I*#&`euA# zyZmC|;)JEn%mXNt8UaNRTOeG9X(!($O-4X4zDW|<3SHsGO)d_+Y{UQIlt4^GqyU5x z3f`Cc&3W9pT>|;96~!0ZDDY{pMYrID3D11QIgG`-8%X}I(ZPiL41eAg`cH(I+BUB@&RHdLfm8m znZ;r*Pb8*6=V`nUb}SgWItXx;L)&tlJ$sT?fZg#|e2VdB*68HOcuwW1hr%2F<;!y= z-ph#abs6!!emP8@dHiN#vIQctx&7zj(~HRD>-r+!MfiEjTr+LA4~*xwUxu=DPPEcN zct^rd&4{LSe_Y%(Xvutl;jSU0dBUze4NZkbo@)|bBQe6VT%flOF>_xb$9_X1O}H~{;YK;DHb)*Wl>L5wQ(c^bLhy@ zGZLqWn+qgbcR&otcA*LJa<_KxmQ`2rk1>O8j{Hr+EA?`F{sOJa)E@P!k59)_^KnxL zduXYKOYrkXyG>|U({WBzV9n!=GUsoF*RuY zh|gzT6RDZA$R}&3BEr8sY#kYBLm-MHkbY_);&|Pv=*8{8?sBbnP!~mmO++M7y2of* ziwk=)6qmh8{mGuU`jT6+a}WkIrgOpU`%EVI%4ZxfN-tfw{(9m+kUbobB4XG?veKvZ4V^L8@ z-m-0JPPGErESgkl2}ci#=igzOBfJtCn&~j`l@A(G^+|WIt&G{leH=)J(C5A6$}{yQ zuei4FpPJIw$07lA!m|QTfqJw2`}gnjpmO+0olJZpx}&(P++1QI&?p-*F|o%aBvN1z zbQ)Yt7;?NB0FvE0{zcuUE{Rb3-&kFJ9kDYBy)gFUVGJ$=VDkLKhXfaQ$k|4_l*+>ISc$%ijyJWpM4w-dfb z2TY%Tq#O0M+QX2w&AAzS_0ia{>&#+3K9!=WgeO?~B#ZJab6B>>t^py1?S^{v;P)vO z?XOcfJ&DzP7c(^Tcme6egzN(ec_6CTOP3)LVt=q_DW+np8kd5d53-IpfY`NI9^#Aj z1Jf=onV~b{HdGW532EC{Mwz<)`g{VXQ)V1Y?ffLxtwJH^vzIa#N}z>^lMSUTVSgO= z>#VM>=5e_ZJe|-#269^022DJ0;u{4;>aH@NhPD*Wg7wYsDk@Zy+m#l1nw)Hxg*Ic} zi$@pUW@Hzky)AeQ8K3EtuUdGr0_1s*z??Icu z_tj52z+fMQ*6i$}eF^_;79Kw2AV-AZW$bN$tiPJeUaTwf%v;+2^JQQ`mBa*H}#> z&Aonl;@BV2utW7MMEC%}_#0tx^uw!xh2KIL+;dneEU1L!^khxe2)hTBreM@go}^!n zXhHeuk_K#n=hDF*(ItlRzOz*wxywG%X`a}cXQbAR4B07G@u1&F<2oxw9Tz3Bb&h7J z(b0y}2v{%?oGxx-@*LAE1sgJ^@qU1@C*m5j9jdGW%h`2uvo z>00tP!e+7dNveBsXTOU9a!ure#i2sKjvDzjW?9cy zy4{fb2toVXV7o{<&(I!^a30b^E8o;)b5OzyCy6_M2WPNt%tcDDg27jShwt<4K$9tv zfdEAQb?w;8;g##xD0}W&W83XGYI{pYVgS7#X-sCwq^cQ?yQFq@*XF#r7P}&w*Bq5C ziWzwO5OD8a=k!x9UC9kc3fVe4yaEG5IqGv~6+W!m^=iVQ z^8#Lmk@w{lA~F3xo!OSYpxRC5Ib))23zsapS#O9EnV@W>@`i%qNSCXH*Bj_$Y8yP=|gi~CwvW+g1$w_!UUOs zD*`OS0vCr4`P_eCcp`iLnQV7Kj~pH4xSu}shwCIam<-j$om=!RCb7^c$6BDTKvc?( z!CADLJ#vs;WS%gJ_iw~>In%plcsa>49hMi0=Zl5DKr-3IhK*}}QM`KZwfMR@$Sbd} ze9u-jhAL!Ku!bqm zD#SB9Hn%U2XlQ@)Zy{H*%5L!@h#xx>nuEa6m>!XG)bGV} zek9Fbzj{8`H)&p;M&H_}OBicBMAW%0q)C86Sg2}{Ez&j7w3&)(^Mu_G+pltY#vxDW zj!6gnJIAKxBIwP2cXc;M+;u$nYEEx8T1qp+S)F^zt%|X%04DwnWXL3itlc4>)E+d$ z-X2}}i&Cl`BT#F*h|?rf9bTV~fA~KOwiesLDR0>AG65?$j09G}m=TwZl{&R(4JQYn zz?M=~E4K|jVU6{gZ?zMc^g>slE@G8=F!En%a9VNTkXs+X7P!fITE3aybLJajQXq|y zc{1=TG2Q5D^NrucQ8reZQ-n%yh+dJS&ufpnNmm?$xp46cjs4emyQ>O)47V$@#RS(n_3Hiof4y)&QtbYK5rDb|5FJ>!Q z!~3?$q`?{>dmbf7#}XL7W_v715j z|JaHb42f!16zNs|%c~}ek2-pTCVWj!&d$8qjm`Yc@C^?|HJ$N*Bm;iUg0`S9=r{03 zbW_(kQ(XkbNk_XO^x@B?Nls2r50@DauLHTS?0JtnO|8tIrp%gtFsvuIHLm7F;zv3al3S>iN0@D!{yUcn7PV{ zr+@UjY12LWRo1S%pdHT&gxoGcoO1ySL)y&fw$hSp?Cd4vNhJpdo&pH_2YoB_=5NGv z{qMlCo*)KM_^_gZ%u`94cI*5>MgL;h)p0ML(U%dyroO(8%*RfKnh)e>XE8|;( zH38=DW2ELvrtuow0x(_iSyvpHrQ+~b7iDuEj?nsntv#CTw|PfK!iuk8bxd)|?U-b1 z0s*|6Rc`P`?T_QIC$d&Pv)XrNu$`edKggH85>Ax!piXAP-H#kuM8Q&#TNkjc#P58{ z)BILOVqWkK-4Bf@5uS468TZu-)v{-SCVR9|4Fnu@)FKUc!T+#&{wi&%nKjEQ7OIQO zDXXa-vv6}2L(QX-rL?t^FVFUvAboZd7ATH|nD_4ciL*l{5Q_x`G$qIrX+N&J0v!G( zO_%%p^u7_+z}-n8-bN`DZ~gGsy~~x~_b(59^)6*Fi=52w2jGN--nxy1te zRaO?=oU7gcOnnc{KlF02(c`Yb=l1HdoXKk7C2-H%V!$!a0G3yspX_u0rZ=q2nr)Z}y)&)9kt zuj%PXoSfMD%zkp2%@|M(%MO33<6zD`3>ba0&x-QG_Y+S`iO9L2KboB+b>D(39(Lm(!%MU**6)cR-%?9VD!eYOFz+ie*&)uup>9u-4aL0$59Sh=_<- z4)Dry(Yi1l-pvZL07Nzr|9}(g7?T;|s3(6K_dYLETPWlRU`uxf{C|;z!ouXv0M4#! z<5>8~NUB2MAsEl;y;J4KO-M-iQCJw#e4%~ezT6L={qeELk9>#_re6p8xkOyh`=hgp z9RnI#DuvS7aX&uFb57RMx{FBv4(5(IPsUETllokq9h)QTm6@Y+3x)}{a(y&+3kv^JTygoNcMh3BbhX4b3(hIkvUM>$OD;&^nkdTo0;R3Q}W*!J^%ZRC7#RJI0E9mP})*top zJ)fP1cUR#DiO~P>9zWQp^t+%}qW^U$$?OhIx)~b73|oP;XGp@HG_Fimn|1g{1Iy;c zDX>`<>^w;&TGb^O0$tw!i7SFI#r_!vWYNoY$-<5QywUSbO^X*uZ$Pv5-D9)I}m4$7aO;nLa{(1uop91^p3jb=MwJ^(F_7azpw zHrT`ui5A4j5DQlT5Ik1T@OEA<8F+{3dJ%}x<=XQpSCb_5S>bW8m-0WeAMkgDTS<)( zd^}%7^oRWl_Z>JYWbQqof7=kR7tGJkk0Eu+<9reIqR_+XUtjtspk>TaJnM8aH)rsM zf`{z*^N=1PV4P9l{kwL|66$9|@xKeC-_E~Irl`5TLe&Xj-iaPMW7d1aJUSx~&Pise zkf#VFYyaN|wgcp5l{7VHFQ-z9WdA!%wVoc@CSr*TrdR&Hiztrnm&e9LytYPpN8P|B zDkv&$EHryx>zx>)j~1H1Zv#5IT@kns6+p$K&$#gZ8w6NiU*EliySMQ797v`@IL7W= zlY=h`Q%n?YKDb?38jashD43j{8T<8hThr`EXc1exAx>I^=w#VP?ecx@#*qKTzE6+( z1&1j^AuYJ?9rxScoh~fssMkAlXg0XMha8{2cG<0lQ3Dy+ok~&V4zbHfmNxG>o`}5D z4=>@#cg^`n9BGne*|BIblX+3)MdX!^U}6C7WJMu<)vmGqLeRFT9^z}o$;lZR9xils zwg+ps;iCK>$@>IQdZ2#w$`7ohI_JMPr%xkN9_WC^HP>(jIQS+e3V|rkVloThw7}Gt zp?z}R(!dbLUm;AN^s^6?bQ;P5LN~kl@cmphfuvUjzYLg;z~YCYZYmSw<%8<7orKF< z;n{44Aq}Z%B?(R$QYPwqkpBMuY%toUc3bMK_*ZxB@A%2?qkp&Hjr$`j%MWM}Iqrk=;Y%rD9NluvgpM&5%8!(c5XGMjl?^eE-mRna} zZww~=|7_uC9Bc9UYo)blb;Y7!z3LDj1-kJIpX2+&!h7{TS`p7kH>4lSJL9cbZR0<7 zK|&_RnBc#sFzT%ddGcERjd6eDUgiB3DG6botlpEl-l{<;6L#?iMD)X)|>in(T z!bo(0JTe*<)<|$`32!yevsx&tVG(&ITtYAldQuUuWN`77%P{wju9+7JdPIXujTJYH zU2$4bbENa0l$3N-DeEwW2S_0TZG_A<@Q-4pjM2QAfr)A;70|)WvuJ>Z9L4n{@w*IU zNfXaji(c({m}L-T6;~{Pjc28i)`RuKvjCf(F=VPLr7xwa6152KJmRJA&=7aEVHM$Ua%ii3l%-B+dX_ z`-_`CFVUMJBEC~^3h8Cd&o2s+roPiKoxzS@Mto&7xBZeHWb}DJo_cfU)p(%KVzms= zx`9h^w?%{#Z`mOJrfN48xVzc&7zFC;v(=gTDt_c)4Raw?)<%@qdx_08NBEf|?6=2r z&*&2pKJUL)o#h^h`}WNnAWoq$U7OLaUQ?csO=lx5jQ?r}zNI;QCg4%4<*~9jJ+AFR z3e3C4+Hu2@l+LFUHQmwOlHNlSfrrOBE)En5}Qkquio^&kzEiFbpLrY|;NqJHx=bKI{kSC(m)ez&M7aUw16m5TG3I8KCz6_K&2w6X( zfjq`m|6pjIPh}tTM68H-TJL~P(Y6_=ppGeJZn~bJVy2X_kE%92|7K+{hli9`SiF3{)BvB&F$Ep~CdIzwQCpTHyTZYO5nng_zjXhZC!5 zfk(4=yL_Vt;VZaVagP#uA|E#o-YVCi>g(%!gNFPv*u*iGBm+OEa#VD1-f*Q^;ehHe zat}(epn*i~?%}EZ^r6{Nts62&SJ8LZx5>ISM+BK=CP`DOK?HZRI2YfAtgK6vNy*Ce zW%6vltdAEZ$Ju;_nm^QY{##oyV3lJ0AuF=d)>whA>4%F*`9~?W<51Dz-JDznMdCN| zlE%{3w?}yL16-JeWI&g9b`=X9y&0%HIpStv{f{q*`Tc173ssWbX#N!R_i7{++siky zU(TBMwXm)C%$*#UQ)MPDB|b?SBR8Dth(qeC5SCH7gzY5}>L4V!kK=K+*LR)&n*3IT}B z=M5>sB8Rrp6B9{6FTx+R)N}o{&?vI};ZlBaDt<5@wO60|5}G~0YK4rftd^RmkS!n^?4Q(-J=bE@4ahJl>NGj$pa|BGj6P|`WEYVE`jNj!6bn#$p1KMV)T{W zhAWFVZ{F;;d{@9^11glbkbQ*P^JUzfftNn9e`L2z)So8d=}lgP)Fzh0^a%v3(X?zi zLP2sX7bF271;+&9itT+Kt4;eF|CJaO?mBs$1W9H!z(@wNdcu*`>nkfhU~!i9l} zsoY67hnf;OCc3&vk;C2p`*)kB!z^61#8@_F<$oNF22)=mpMR@AuKurxm%t?{%W9bP z^G6Pu=7Eo^r>CdXUajQSRrSJ0!{u)ikmy}F-WcY#T0k)DPYMPbY3=yaNWr&J|4`1U zG5_lrpFzE>3FJ3kU|EQf?6-{naqTrMGkmWUW%+%9c5`0*d)Lc^A=9EDwx^bd8Ao67 z>GlC!ZspD({2T3Whnd5ZzylTIuc8~LFg7-}vbL809ARIlAZctapWAED{q^Th=Hs1d zK%d&b=YF-rwX+d!^hZtfulPvO_UL@8sBs^t7w7}kN!s5>Cnw5L>j|jA3d1zZzvkx1 zKv`fklz}c5MEE&7*_}x6_MFliD*XE&kDc>g!t-|4VO|$peL`-llw9E$6RGbCl6)56 z;=S5hTk``8kU(P&J&=H@1L%o*;!(*M$p&VS{5yISKfb-avUCNRzywgLUh7W|1+t~j z85waF7Z*(g*wIHo6*n3xqpGSZY5cOgmkPZb>E6AO;a=b(b2%o!3H$`5i}DTyff-gG zI*Z`nX-38x#W=;#m)+8SfmXJDh&NCKrKF-lm6w-C!^Tz~XF1s%RUGG-G9{IyDQ92h z@~f=my1u!2_~?<><;fN$3(LcoFJC%dA9RjJ;={=w46y*5Jys+j!?*cfJ%j zQR~1ILdO49FVyK<0CTfuU~cdngy- zH25WlAC^G6nG&fY|CEc>{Uga+ojzI+R{qv^##7)6+rqE52=BAaJVPuS=LX(0r`zq_ z_c(<U(tr`^E`Hf@8QGJUO4g zzKMK<1xfU1cQ=NvuC7|WbGf}5-XDVyF8n93!vDhv0PqzjNttS2)e+-dg1>>Kn3QSRA zC#}y12G<}34A_AR^AEG3ss*Wtg%cGGn0=%psO}(ZpkCe@*zzSDsQzq$6+JpO_T=r` zw`z^<_5a^by7v3&_Eb40zw`0HjpOL%-m(wDo=KphOQ79na!`vT@vC{sYHxq(Ltd<5 zQB&dLg0rkL|5cklY+xdF##zP-WiYJWLYFc(T#?Yybvcnc)5bbt)-{^8-!jc5HzXMP_4 zT9C2VT|J)!!8y1}%inKaI@(JUzwxWy>d<+gn3yVX7++j0L{UlM;FFZ3H-x(t|wxH-myM{@w;%;HXz@bXTiX?Idz zpPjhZG=(ad5XtT`w&YIoSlO2h2RE10)YPQ?{P_UDGUGVLAf`M$RLZjbG5J&1`!bw{ zpcAOaTiMunm6wmF#i*WwzE~S^MrX1|tCo9V-ncCTg~y(E>ywBI+tOB4?yXn;b6nX zc>aB|$457a{;xoqVMu}7-!ozcmk@V%2NcM;W@dLMa!&>I>BwiZ)6*aD*&-t&e;A*x zkaP+Ab>}E9UV!fkG{5>O>FC}$JTS&aw`#7hgn{``tYKsic-1@8{Ls-sL^Xp-88TnJ zzP#)`S^6n2-W5ElWQO_RVyl0#)uJ#M?ra_#Q*ppai_{`EsPpyn%Z(1;bJ$&JJo1Ts z_;)d-06hl@2T-`oc>C?alP4YEau4yQLP%b;3$wP*f&581wRnc$WlT0Wz(e--Le1KN zbaC8?iHUWbloIEvDgEn(H`hPiQW($EBefE<&j^-tMhix`hePU1y1ApW(>}W6fIIMV zC`)2Wi~t`$M^bI)!e7C8Cn}IDXMcSl6$v=BEQ^m1g$qG#@E=$y!|<8;RHmJEkyib} z`g)fnRMI$6@i00p?7@sp55qY~bDyTDzD~sG_XYO+1i%=cfP%i;L<1ZtK1PYx&#m?( zZWqsjX&R2q#yT#-Z+;v@!F&aoTqCQg1mI!tL0#=6O4hgNx)!PKcW`i!>qhvY3eRTe zAD0{54+J+ed51dM+SWT>0fc}9q^>OX+iLhJrM@l~Bh~xYmGkbc!01BT+TP3}rgQMN zAcZnAG#$uJ)Fdh>Ixj>C7)9Zy5kuAaArNN6--H~i_b7Z~@1d{35v;WjhAy0v3_Wx8 zF3VtPl!2#A7l+?Jg(c_E;wGpO-WVEYS!jSFKvS7^V7yQ>@K13Qf8UN7B51eySj*$a zt_=9gq4>3=T^vF_>WBVw)E`fHGG84g*S9+^g^caz!Sacr22myh>+434{U)R-T`4q* zQDOCmZop*_a+pNcSZDI@$w?L!9a`S4{Q5S^ZLq~GTuA!&muRyIM}-=M909Ctv*QIg z2fIwn1yDU(fdIF&QQD^nYk>-_ag(y>`Itzj@T--*YIk1#HCnLWDWj6CXoAt`Tq?+m z@3Ykrr{Yxgl8Ffy?s)Cd@PsAGxxv7dN}HMLXvN_UQ~6`4$ZKS70-cQ`Vq z2dQEv*V>J`)3Jj>Mc%$ecfY%F*m>~ECyY+a9iaiha7Ke^$Yy3{wy=c5vXT;34V~$x z;a)OCfj%R(dAuC-28nkWkt!eYTDijyo-d2t_BxbR<{XM91obB*keE$ZNZSQH{~O9E zdI3r1wtfy=^>3dt)0nT_6BBB7ZbhWuR%vh%`M4)r+h@_q8Z6Mz&V-Dlp0((CQ)iCo zVOuQtJAWp#IoYYx!T(%M`UpwW9qkn?Tv0^D0)IB+!^3t-4$QhN1oM9%uH zU!%{xp~;HQ%I+tI6d0^tw)#?e*C_?sjRIt@`$9YWFMYyHD0ckE^51)dMIYdMK+Mha zmG)ySxjzN36Z=n7Wi6+QUcf^akIE?Q&86Vf;*QFRAsHw>2pN3X&V5!zDHk9zDSUs}pCd z%kpiY&YL4S=Ns9{W!Z)RQ=lo}O=i};2gmG|iy=Ee=9hfed*zzDjQaPRv*H3~M;Wfi z{d>U?zHabCAr&a1x|G`WtN?wNNs6a)h-A6XHC>YEWUF`INlUkbGQ2!{h*vrhtKR^p z9W*`lw(+qfS#*C6{8nHQWE@3a4uWATfHzY~ z8+;xpFn|IP9;0$;D9T_Y1w%HxuUe3nQD5o}&+hEck7FEMdH5}D3*Dlml;tMzao_XU zB`M4@b=oMjCwxyBIw2v;&8swbAw*_jKAeROfEHi2Pkl!IY!oZB;e|NUm6qZ?(F}Ir zq-+wmmo~rp9enxENhz|GK734~Zu~h!N|q8A4KS68rWDyI+SjgHA@LPRq~3rm z$WC82@7p)FG~y15N+(QBwKpI@7=1gYKS#ZHh8bGZ77hY}RNIi0>nZ&J21QLzpMNaiS;i540ao2@er+$3 zYTw-9+7PA&7vM|xg;|Hl%K%CA@x-gLZhm`qyIX_$gxTpLiNKo&3L?!6o(A* zqedJ!34bYnE5PAC-Wrz$?>sfl_w0EIVo5y5xUXoWf@CnKjI_T4f3hSdl!((TfGWvR z*sc{Ib$lz8eN@S=UZB4x*_oML#5aXy@wHkuxP8+ctB)qLyl2(&ciTdIO-pO1vcoN1 zUIHC}ntp<`Xose}PXTPmUIg%EM?vM>*MWfn$vYPOogK3Q068T$jC@cYFtWr@kYu_X zuJyK>_OZQx#Yfx`;|?(fL7^4ofuIfca7PaAGLJ4`$*Ss_RInci+Mj+CefOFdAj{=T zhG+VNxc&dCT+j>gs;c7tQ!xgY$Kg4Sl(<*vZ_#V6 z1H0hR%n@k3_`)J#8ufz@)#PMp})J7bWc*&D`J_FSP@)Rhn&&t+zgp_&J*i_$l zk)QZ*jW;t!evMo3aPdKY0}X0;szp?VA%5m&o%M3ZW+#JX1fHG?HsEw|0O1ov5 zyx(pFB#*ux=ac+-%d(d?@s+QI74)mBK_e$sJ)Ygz3pldO0%d@Ky~*Wq)&;wBkT9wYCG!$R@y|<L^!Ydbvd>~x-6}YqqKqRCFD*JwCCx4Kh)q^XxC@!Co9LC`5ya>F)5x~Ix{CZ_?b>x!gg7r`dk27XxMY3hJ0 zSoV??8lUR!{X??$y(AUxhBM6>IXcC7G-xT3f>7rZquM@9Q{_~hlERD$O(x2Q_k+tS z96LXhvN$_=I9^t7^?`zYp7rMPq!s)yR^9sV*E?&9$M=P|*@R^$@(!zM;?x%!$d7iJ=n!gF z8}(kSMydX?4_G}S%bn9e$W$p%{Orrc&x zWO7V;oIY8OFF@LFnW~6oNn^2zzyE`HK^eQR-T7ow7jPgZDlN(3_z3A&P;#?^!o=h~ zD}<_z6_hjqHM=KAN5jF5C6epQYm1+&+Fn#xWJeCMW_{ukl~B8HW=_Z0P+VRvs-;B+ z@3mc#`@|yt>v5fUB(6>Y%S{K|+s!OZ1M}@}6H|R;OIg$muEXXo_k)R_B`*a$%9;8~ zqWB7sljgL&_A0U4I$Wmo$GRS~%i_KXOJ>_PE3nf~eV&+*Fi>u)S_jIOT!R-BJ{s@- zdDL^j&nb4lac*mG-{?qI5pUf)yTncl|2`~5KnD7|no7LZ>@w2g{K?&W#6Va>58jUh zd1raH9{61FTNSAlx#)DFzV`rVBJeTZGW@-0Dce!&kC}kNpV< zbfzyE&kapI5~ezzC61BwZ!-DG%OjDgw#yOAX9LTPSK(UG^Q|%>JGo=+5-F%+60>aJrRpM6w#lh z-oH`~V~vWq&o>27)zO;SS)}5FFI^VVMVR5h91FikfA>xalbe`Qo+;7nOU5SVY(OTOe%+%L<7*HRbVqZQB_t&k7L!j?a=&tNs?b{5LW@NtJn2}8 zuToWOC4z_}1FDyYer{%wKuR(Yi1#e~0ruKH7hHdE5iKlPl!L0Z8yK3j`V~M4oI`jg5YokMqdZ<(B`S7;)fGPXYe!emR;$x_;S-Aw zF0pzvfa!`!LdXR}0H#EKvNb*)EL1QgL`%(mKj-OW%>%%f*@^)9Y=E@UeFD`=Nj?V& zioT}LNCzNp=lMsYQH=lT^8d$lo$$F`PV-F)UK};Q_0&qlI4+SqH!?NNRM)EIna(-g zP5oRL@MZtCO{;U4)Tzi((6h2GjI850^{}Tt39oJ?zMKgGR?u@V&BeXt`?#tu+`NRX zHm0UGEUuY;zP`G>aUADs@s=ZzXuybN{m#U*n;*R`LgYzu;S?1utbAw^_Z{Y3~)w0D3G^XBSwXAxizd{u=i z-}%(N?9x>t<9@MrYVvfhj#4KQm6Vk1gARP&fe3hGc*E|mgQIu9z4*jI0N8m`)<2ZV zUf^P37y>w_tdCY1HduUMWo0{(NZF&fOR+mwAFmAi4~qAn!@9tKzLN!ZD2re{WqmU{ zkY_>cAZc1UG$ikyV!t;>8qZ}3RA_{|?EZGO^nt)%5`U;L6SA?fiOQu0>_Rm+8JdDp zPMIFh&_%AVk137%L)C#3`3X2UfN>$^viZ_SLj;@@sNSC@sp10v`g%&H2eC}A9iz;A z`U%KjXz54D%m7-psv7}(WvbKBTCAW)L)?4fg*oS{5CJXIHK@x^vqDsZ|3x7}u>{lo*|fXRRS2!QTy z<)DXtKIzyX>oO_fuzn_xNM%Fgl>Lo_utM{mO6%&jR!Mv4`p zKPdZupF(nFV-Udh3+bT(Eg(07lhW?rzyC9luYj!^ckuUbDbSM_DK`>yJ!ihX0E?ht zqG-j0e_y!6u&t?nfh#OgQBmbwfy$B+m7VEy{pGOHNJQSuGJCpaCk07bSJxXIbMtgQ zDwC*t-XIrWfX|-FBT|fm*ilyK+&MO>b~=SMb8t#OJ8v`_^~Wn}17^_9}%6zh?UlhNDW1V9ZUfnAa+;om8QYn_qvqwV2IszSVECt#fRi zTL*ds9spGy(UEVh+4 zjmR#+yThnaOAF3-3KhDum4oxEWB*=Q_#6EyaGl1`BflV_WJ&E1CntC=Ltr;V7`ZH-m+hP|_) z%q<>T<{vKrl4&WlxMg_(dEksW7Es|->S_3AF_f7QLG)CpHz)^F+U0JbOE@h*%9WH8 zIrM!2m7czhoc7XvAa!;;@*L$VsQ4f8(!QTbl_jvir?jQiw%5W(>GSsX_7z+K8WlwN zRp*fpUbtbKA$s>dS!i~9`!=n94i^^}m6X2-fLjVlz;|D)^=fvz5o3JS?TFNa@OGIA zG_iYL_s1)dSA>@6{`KYM*A@|S5#M2X(!r+=1bR3#*aNlbiiOI_WO@B7PST{{1< zZX2&G%-AF4r`OQH^{7F+@6!x94`UuhlT3A!6b`=j^&t_X!3BK0Dc$5P!uY&P;Wn0> z+#aEaFmCpE<+#A}Ob&*ZL5x+7+I{3QJRFoqz8D^L^EZky;k|ZXnqETxX0!ummr6wY z)G;fj6i;d1)p^H!9M#Q(@2|DXY#20A{%;*aTx;HVE}fvBB@zq})Q^B4-kboO!E1xM zTkXC_niLyZG}+U)R)eo5U=8+&`}NlFo~y3l$_adXE$HH;*iO1`u$i0i}?b{YEG>BsNwMKxJl5$895O5pHdrq~D6}d_4So%OR+uzU&>Ms*}qP z_l8%>r;5lb-Y(?n>@R>gxUcTz*Cd8yTfKC8xE3eW{G!QHg}uWYz<#tmDA~K{`)MC{ zdQ7NL()2zX!2^MG`869kxE4$Mq^nohxFCQ4#9{E-j6Uz~q)vssdRi!13xUDxY+qA+ zYuUXju_YPJ!w(-(7Z%kgM20t@JNH!-6@LLWF>bjx-d?>n>>;r2Vd-SrVBKGq)I+MY zYH9B+RbyMOBP#9tt)@z%wGzU8+sQ?@3+QmA8m@)HNxcL_rSGh zf)n9r#-~SeHY%SDJM}&jMGRwtQ=LrieRT41ef_UK-^|+S^+L)bdf2z1)ZECV8e|Rn zP_~Vh6u*Ac%2Pf$jri`@!_e|#e%dVT(qD@Q3f4qT2sa&b_G0D7Ig{yJD_G;Cw zO@N#30{Ax`=f7{d3sCzhkp;Ks&_ znOdPO*^|s%7^9fLgKndE&mKU2>wzhc(=_8s-42!-p``bX0{<;F+_Q&NDqeLUb&0(A ztHGh5ppGyXckwOkk^gx@QcfvpE&wWDu}^5c6OIY3kH&;Aj-+m&(UH{rR)2v|$W1dQ zK;`#qyxYykNwiu-3|UUHR5SCFJ#$QoIC=Y78Bl3imzuZKi5;1Ls}4k$8ZG(Qg`GNr zw;ZYzz3Iu#x9+X3?gX2`OrGVy{j6?i8Zmb*jOo|dg3V)vWWSmHQcl*1DhFAE@o_LK z^EF1ssl9auU3Dxa8|zrkO$*wAj-)q|uet6@_B8&&a?jf&5#2A~|EvOfILrD(2r9H0 zz*ONh#;x4Agy0I|{BIAMNqw?s{H#cMbsK0=we8ygao=*LQ-_9hjWiI#wuOW}@WXB8 z9e!)^+A*O81f8b-d$$3Lul?C>_X9h%s(gj`vf={u9Es96JyA#M^v5!G>>ivFa4`Aj z-Za?HoY?l-omDA$;iF$U5Z~owwC|^0bI{)IKmU8%PeXT~>&?vR{~Fj8BOWXC4FKA% zsUl;7lt+IMz`2|>g0*!z_RMaYuXe;k7+voXU_oe`C!P+UhnS?jo5f46fzn)RVDj=w z(hI0jvSK_4^!Wm@z2xnvO2Z_07%_YjEioHW;`~6O=6kc_$u}mTcYjTDg1Q9IQpt($ z`T4nr`GG4?td}v7J*wjd!2n_#vsznw!PoKv7?zaLW+|gPfM)nFz$UCZQOZ>D3%-zm zY;FO&C7%rMglA62meui9AJrj>Fw>0feoc75ZnB+^s) z%tF8Cu(FR6WSc65-s80y6DD;u;o9_0Ie&HC_f3E)6T0_By*VFniT`e(t7O0@t&Np} z{vqvS0S=h*!1XsB{2OU(&nj}rP5=opA zz@yH|fJotm;m6|fUK&f44d+}sYXZ`K-)~vtAb(eKUecc1MA<1y)tSOkdfJst?U+0b*T+}H&kZ&}WoWVbi(#1-y%e$Nt|x^0WNb{k-Gbpd+I_TB`p`9? z^wCmtCD{+nF5aVymlO@4FJ2~cC0@YMr8hfstd{lWQYt*aa;yBFFYYOY{FWv2L+dw^oyUJpt#=Io2RRm4D<`U z58LPD%Mw5)jBa_{8EFRCr^lCmUJo7VGf9FNmWBFc$@YV;l$1kX-1Fw@EJ;a7NXm?T z*aqshx9OwQRbO z`!vt%!AYBk&vmxu5ZXl*T0I`^-=p7pY)H}p8^=ij%yXq^oZ^wF{#K4&dHH)$4#Wx! zTwh4@-;MOT*VXKr)}BQU9rRyhk>=zRF+RW4#8!c-#B#)K^e-5w-_nz3i;S|Zj)6p6zH}NtXW1CIXJ;w^CjUOSsNBct))%yAxX4i@ zb?Jt7mT|!T%CQdt(;hE%ga|> zj|`f9S`q*+0H-4Hh}L-hUmduD7gss3wUw5hJ`U)vt}r_yM+WGvh$GOD7CWRv#k|;K zj)n9u;tSux%Np|2YE-*sfmsMoM-j=3PdZ(0#7`}y?1=f~3}B_~8+z>l$z{;Ar)zcC zeQNE(K+!>yFZ;8W;+B{FLW91IgT|`fT-UKm2AyW8RWPt^`d~buqyt~+T49X3NJc>D zmFq4oP*cPO<(o;vT4O%%f=}C!r5HIc~CW*Epo_Hn&>WFij6DWrsjNRmZanLelVr^MrZ+ zRX=l>HTpDLekFgg0Wb|=Kg{FiZvkCjA-LTV6m6Ojk`W&R1bv#=ZKH8=!(&eJ3Nc3f zeKl2M`gN9bmfhR?T?eIjYUH@GHygoc9MsLTvbJp}?M{Ot33b|z_;N}A)d#M|3gc_y zv&HE#KcIweDkX)HsalZPdMfP|$iWS7-YCG=_sD#L|FR%_+b)%PffO7hqhO z67r&(BA0_5{Z8@wI(c@m{~_cx_foUANcj$wWU1LDSEYMcJw_vS{M_18sG{>{4IId3 zQESjJh4R_iDi^7!u3h_lP4V4Z?Et$9J5?!sze~i?pmoP#z^Zss zXEaP&dQav<=j3kt2(N!9Bjib$d13eN8f(`0b#uM@Kes#>b)paU>7TLcb^8r?E?%6) zru)O48!JHyuy>LF*471U>EyXE*51_`5%?_M7sjSG$M=M zFf3Qo!xa&RnOQ>&t};2FlP}5N1sS_>{I}n6Q&6Y0C++(=FuK|s$_DdPSjz&vMc10Y z(Mg?BxOb*ip0|yeloWCt|MljnCY+YF2bfWP*LvF|MqdCTtOxELZ)2~wSaPEQA!{D! zfM;g5KRk(I?pa4Pw@Gp{{AkcF6??I;YXXZ?*TT-No)?}50lt^ru1@63DByQk5!(mY zhEISXJ}N5egK%iWa^uTNu*0OpI z(TB;nzw<^N<)po_vbMQY0X6@-#nrUhU)w@-XF#iig}9M81dxg+q&eYhA1;RcyhswR<__gFvTOY8;Ek91Nc`^K>EN zoMSN<(%I^3lUMe@qtAtZE$;d*@t%;HxelBHdvDn`!tC{$r@6PuV}LaK52hgNKH$)j zQB@#X4tLe85MBtXYpwF|+mKkaM+?b*ih&tU4}7nTO(h9n_J(+*K&2qjy2R7l_FGs5bXiG`~gER7U!MI1UWvt}?o)uBbnJsk>0_)XVCBsN$8i;I*0y zq9;%IAjUPWRmm;UM}~(xIqK`xI?jGIc5~C3JaE^>*gV{hI~p`9`|65ywM;$tJ4?>< zcJ;6q_=4BS6%?C)Y`?bh4<8@7wCacCmtYAq_L90hb5r>yK>YUY+m_5^ow1RT`%+SY zHdKpu0fL&nZTyZQFgXGQHN(kT;}4&iFjQ4Jw!A6ev-APBJY3md#67o0bJ&SrJbeQq zfm5~#5I2J|OY95`tn0T+sf4OoG>urgW``Beg^3^Qe79+`g0dgHX$e~)cU21C4-*Vc zoNRajyn2&65=N~D)mn%{q0M=g>Z3ysh3LT9^m;RuW}RWmF1KzRfUZCN+~Q)N$L)G( zy(kO&2KDU0YGBfcb}glBILr&30~b|>ylZ~XjI?LLIh2@dZZ$}eq*M7~Jf9hWk09noZF&GyIh2w>96y5Qq*kf-!O%WC^dXDfAF-qUacs@f)Q z0L;fMVlBJeW=)l0D!u8cHxuUA-%7s!egV?J2s^fhA?kuAJNV9a-gKieuCmupRUE6k zJ{myhch9i1O=h;z-b7S8*2fXv`QC4xjy}Ab1+RZds=naDI8DCp+5IMC;h_={9XU}* zfG;$W^#pKC@b=%lUrXiJ`4U@OsT%JqP!d^qyw}w^m|JCc1^6At0Uj<(@hRv%a9Pf98 z>2?NUE9tw@MUbsi;K9tRG8x0PBzvZ}D(PJ~elk2AdT{m;$uYM2n=qAA8c;vk@^U+QhZ-L(HJ$_5fuFW7V@~C}o zO79Z&Yr#8l)uxFGGgc%e<=f(yT812Cr&xoJdP9hRnlQt5!I}$#%P8^ErzrAU zvGMeh<;+F%vZfBk2RQYTmdAu%IPOg@j_e*`Tt0kr9X_3@Ut^Chu3wK*egDo-_rB}?ej+k!Y8|k{<=y%dA19$FGc%$8w-s*S1 z5qwZDR!m*R-TmxN>2s)tT8wXdezfGvWSJ>3BeEflU^mTr{U$$qM!jHIRAIAKCmuJIj0 z*CLwyLaiBgml{m-tA9%W1$Xt41`;(|gQB*PWK{qM{V;27_eV|QSqUvJZ)soBgj01Q z2gA_gVkS3KW?4M%L+#ErJ-Dv>D7|eX(J`XI`Ak%m+NA56V%?1VXpRzOWjq^r6NLN~ zitfTKgWfCet+YjyJq`{-lRs1Tb2(X9tylWfQBmAL8eHF+eClW=EvAXMVS0g|XX$+g zmDZCid7i6!!=`j0ZqVU#5o&yLk%Xi^VOnf#xBa-3NRT#*c9I}p99C+syinY-)GU$m z9La%6*lCf~SfHp@D3a>io}s!w(!-mSLK$t8Lt9K}gEXN;tbG-_J5q^sSKRv0G>sLV zBvSy+HvYdj`)uHBqx~1<4GV5Bg(>+qhrV-k)zUG(a`@r8y}xwnHFee9KV59pGZ)@^ zvF^Y#-d`8(e| zOiy>vtxa)U%#G`+jgRiKb_z3s=vbFaJ(8DYL1Nfj{Ky1cUPvux+)9a{{l34~Y*t-W0-n7_d&M8lM-hW6K*WD z(9md28j^eqh59jN6&-L zPjIW`JWz(5$P;e0NgY_Vzde*BocWC|@}EU<$XXX$kH?@`p|5|Q8KKbQe6$&rsQJ)( z=8iQ5m9if`?$3!`oCg-q=$21;*xxc*1Y+-wMWPgkZ+3bgXfI36I?QZG%73qMZzUsq zkSgBtJ3^&B&KblD*`wZDc)r&)>vV{2ZLo66E`hp?Eay*py*7hsiwzoMT`MNl?`jan z#%6yVKm43(%MMrW^gD^6mvXdO5SP^far3m{NxJQyI^|f+ENGOWIwTS_<{F=i%$YX+ zgqW9Y`C20VfDuFPM{W-W1$vSwN7^|0<+&0fa*K98>9cV}Q915}PdY%iw}*Wt?OfxT zZuAr}eDy#X8RVz1ER_Ub43f7-d6y0`8x{Qs&~Wn@8i2mHzA0M8{ta&&Cp?RIOLjKt z!p(^nk9ROT-l?a`K{)?E7sT4>(I-aBIF{05=%1Olv0U0NgKhIj229A1h4hr8YRGO3 zle9!9lrt_+;2n%h!-OMs6F&@>HT=P=?a6EW7iR-v*pXORO~Rg8oAPddL)_C?>S0N} z(##agGA$S)3~ukwdC(xFZ?u|hg>Qo`=uJ2Tds~JmE~Z-q*@)bU!a5 zffwp@lpPAwN&|}PQqpg$ex{#h9A_iG-?`WnWIy8^(mYszfIPc8Bc8wFl+o!K?7mgI zaik&83Gq$OYbyi$RL^1*N? zHHsA_een|e!*J2o%hQIt6H3pzQ94{Umk)kjaOrneTnpMMZQ^WZP5lQjX3quQuaOa? z-$k^T{~6j+zOe~6<$PyW%qk+@KhbqrEOV;I(4-#>O5Bm0CF`#}8f}&n*>2{1u-J|= zg{jCXA>B)zA%BhIB1`4^BfuU0e~wpEz7p~z&9!eg`!i(kcke9@YS$<$AGg!^m0PZu z-71w}FrbQr3*p-fuoB&FS2N3(z3~jafDR@MAh>@{O^L7+c+#4F=>a67&Ymv8#SmfO zG-{{Q&pv-PR_hX_{9fkM@)L@${aG8p7!zEQs@ZwCCAs^3uiR*WWo`*z-G2irwT5C@nW%7$$6aoPsk{woyES~0 z=kp0urL|?=T&-$gZ?37|)YxaGZ`5f*OlN>0M>&tduyA0YQGp#Uf;rrdrg1Quyi4iB z7K4d8CpUPUpoVo;+$|@A7lOS)S9qRqujhBEV#Nm8r&{^&joPOJ9@SxEbyc^yRXb{8 z!fIq4H>##NUX*H!;^~Z#kf0) zW=&=;c}tC}k^6;8pFwpc@phFaE!>Su%?_}Jn~((11(#cZGU1d4agPlaaCRF;1I7GN zWPid%cC>l~oZQv=9&6#B1+9^#X-6%12pF=9sKKhX3TqII0yT&)R zu4m^v`*!lSUHB`%_-1{pB-+3>d0}xEChbW!QMv3&?_bD$#}mMeXh$v_)r{aXantoL zZn@MPeYwU{B&z=cKH4{}JJ-PeB$XPJk+pbAuCg6`?Yz|X@;|bYrd<@(*6Fv0G-vHE z>`2ejRl3Exr8GCsEfti!jMnUiW z_d2bVKb18+XDa6o(2c&21)e-(bMq{QHon3ex@-S(F5dJrVF{gC^|_mC$KN zbE8tBzx&UKiD}TirPnlDjZ4Yh)!IAtb$kcyB?3^|`hY(ox_T@E?U*xSBiumk=(jy? zcjAhYQs9IvvdHR04Pq?0wtzW0sKhw!8c%KM-a?%APhq?1hcG+#?}J(<+?8FHRj$NU z%>IyT`g1LiDnEc{xf@L;;0S|6+tCCefkicy-=|Iu!|pI)%)4SF#Ccz*x;!uMNX?v%XdskT3L1rE?|)Tx=V4=jjJIgHh$RV zyJ0P4n}!%ssAL+)c(Tnm$6Ts=sWa;}xS0N>Ya@Hoc&QMnlf7#Utwq&X*%4L-xtxCfF>4t|Q1xBma7letMX z3a3dibN{{&)s*yGoww!Agg9NBhig>}3TsS3fJF+0;m|Cr(;FTMu7)KW2II4mTCBK zEuD~s?>T!4EJWGlQWmXgAtKPlWVt7QT9ME2;Y&YM*!T2ChJG=$9%47Ba{z+lcM>3^ z3#tja44emILf$JXYPe;Xf+@rRwI=t}a1asER8at+U-brjzPrHWp#EQ0!n1d(cj3xL zp$bf4C4XD^CXfP}2MX{2*RB7Y9?e+E?YQ97JCJTCY~GqY1o8ea8zJup;{7VNLP6nW zpWtQnU$qcVyKC zXo7akW*iM*LK3F9O?N@-w#_>Cj;XWbsn7xNZPOg`5ibU$QuuaVpjH^Vj`PLXbt+r$ zSloGoQUc2FleqUOm2|H5>L3nsXJGSJXw&l};dtMw&0n9(A{NJ=1^(-dEJHv{q_tTj zAm;h9E*-oQkm)nkE?!*R^_JDLf8S?8a5&0wt4CzadCMl=jGBXw(%03bqE@Hf>~+6C z4j?dt`b9nglehneB{NJVA`&V0@M#kLIFkN~T>|KhRx2DR90wN*ED4tj)CGP4a!T(n z=I5aAzX(GGlw8eFc6a zoYEHUa+XA|CdzcgsVnkFz_z*1f#;_$n3#SS=&S?zAorEahm9I+f*b7-|Bz0dmW`q> z1QP%VS3W%++s$*bZN~n$;_EoQ5sfp149>ijJo>>X+axC+auj)fLgM7bpm&%#rU+9p zV7`@gaBM@NKWIOHk5F~=omM9s)S@!GYdkl`vL2{4k{&)G24{#r0n z&Oe2g0UKT{xl@0-sq@HgmRUHbFtnY`n|WP`NlHi^%ZU5T7IPA;%k4aEE$K67zbg@H zD)_v7EL=MxdrS?jhLpa{gX)GIId+tJkpsYAbzC%X6dd@ ztBdhNekLOA`F2y>)v*pwzSer(Ya4YnG2Botgq{tv^eMMj3prHv&Bn*dxCYLL51a$f zn6hbh#J0JSsSVOZ`UMp*EH5{z(uBd^E=|UjeKm&u8RL;(p_+z*A?EGCBx3W|<7V~8 z&uF6dF30ss_$8`mc>wwm$Z@EQSUO2P$ysXbFp0ARUGEstcXO*E@hdFz8(Dwl?A53j z?4%OLqNZ!cwO=aEc2>`@iY3hiy*Xmq}5dxSu{zh|me9&2^ zrlw{O`vegFjqc3f6NPqpd3jmc*nau#v_}FVIJW98VF}MM@Ea!Y#ApyjLM@@n6*AErJ6tSTT0ZwVkTmhd;W^u8PD?LF37gg8ce|GA4Xi zqUmh6ZD%shxf*R(F;~4~Ju}Twew?-kndLnx>pGx_2pDrRR5(HnSd+#a{`t_2FAtb0 z;42JocPCCrFoOP>fP?6g3sDay`J6^H3A(si_J{;e?BltTbEX|V-4l~F2P$)_e9G>F zGpUSp!eJBXpmyWUUsHYmQL+A?bKx_UiWp*5yfUA*+>N>n!foG_DB}Y!H*K^FliyIZ zA$~#3?EWH;#a(9SMfig9x@tlG=k^MUS`JUWisze~bNYmqr>_^wD%wLz;9fai@9*+o zPkJLTbQT1JJJ$8D3}x_Jy1C}!185=#%@KG`4mhQ%16OdM$(jWdqiC0khGS=JvK*|_ z3w=$C3)8Xr1Xxq+nG!l}?!8l+s42o^5OULjWp|=iAXyz3=Q1O&x_Ztc-#;I6?~8=* z(wj~$;{EZeUpn7}Ox*tVYm7I%EfEb2oc@BJC#Ifu5fh>yKOnJ~-a7+p;n-osrM;Xr$!IkB7Cv7na-Y^Y5O6g&N*w?9j;!T24T{VgaQs@(r6Usy(Gk%^hR@gPWgA zMW50N!l40h?omVxAWB@vAw>+_O=*OxopP4vbaNi$B9Il2t2@yM@Dp>~R3Ht@;4{oQ zBF{8>f*tO0ivL0r!NAd;A7Z&XlvAV)>%{i|7<{$W12t!QcKe}%wx>^;~QjQ6-$BpJqgC|&Hs%~iwq+k9E! z*ROrn%9p4%Zg`GJT&UD!{L?L#IG#NAt37Guue3vcQR6!k>FUaNHec*f>YAwMC#ShO zMvsjVC(~?wNWpj^!d!z{iE+IUvVyZpZa1cOm`R||^M-VpDWg^i(kZ{lb(dk;0yBQ! z3hNT!zoFW-Iuh-h9smV?i#kk_iKP~@_s^~LM1mM7U<2PMA|+fOC)!ga0gJN^GD{ z5EcRQF#yxJ`B(M_50DJ+05cn0ZG-h7D(Y_k(2#(#s~(X zAadeK4{3Gf-13BG?c0b-rfEK1g~v_-fa`8jsql4(GT&8|-k^{UF*Vgv_EUUKZcJ|o2|kOW+IKGDHjXk+y@2)78!)N5h({af@_hikBMXo`r5Uhr5ZVU zT#Ie#+(t@s$~HCFTY!gMoy#Q9an{rQ>n=vfJ<+!|c#SZ&6u94&9ZCyzt6P76gc0`S zWgIzr$HdR6x!qDwe9}_o*WqBN{DlMtT0(ZnHMDtqE#wLbp1`N2=7Z$ovXEtQ26*FW z)D*vwo-N8PfR?{Ufd4iuCkEOdl~(My$=%r=u*Eyy(ir(pVP@cHLiNLE$dmi3X)t>F z?HcYzQQ%W!#ymp3b{05+C9ElC-4TihYs15S^NWkQFS8$NF0*kCc|5(B{SBm$0nZdx zckDd(1fpHMSck8($od3s@>LZLx&`3d12Kdmqb(RH_>QK&MN^%OOZZtlPbJ`rb zs3teoHJ7rm0cG3ppqb)?d(iET$Qnks7PtCH7eJku>bdCkHjWTS-kUD5_Eg{n<&Iz} zKG(Ml2WP1ZR-s3M_E{N!cMUXAHi=R`2k#>TL?`k9%gKP-wQGMTS>ftA(iQ7{J4hIw zN2?Zd*IFH8k*`?EAG*Dye6-0S4Blp!#!3sVp7j4|!kV$zna++1sjj-FuA_oLoFFsZcTy2Utf}@`n47SF{InU(I(GIx%^tcLB-v?YG zgFt$tp!>OI4GAio=lL@zR|yN(FFJ)?ms8D$sc}doskgYRk8v}T+Ea# z_EKhi0(GLzv3`*qob2tMO=(+VcKSQAq?VlE!JweCufgOXbwrJ4a+FwJ(Y1v`=T)2$ zOx#_Ud+!KFr%u@S$2?ZHI4hIDi0(gmfD!%b^n~$*NfJ@V*Q zc~sr|+(|xOsa@XPRBusqqC$cG;g&VMa(>#8<;B!(%XqE&rC&bd4YG{&J${ytA8tD3 z5XO6p^QUggo(b0SP*=o0uN;#=IGGE~bIN-1 zQrKbBPTm~SdHySCWpL(ttm_f?Ke<6V<-w>wDsGQ1kf z5>Izv?Zm*^E{1r_fH@gWZswg1Xvh8hP@juK*2mLFrt%y118@6EKizqmU}|$*VCPAQ zb!Wa5bWng# z6>M)0pElk8tv{rkG@j!*$JaE!gX-4_Mc8NGT*ro1(lTF^J7${bx?`l=VbE&iG+}gX zBw08%0jyB$A+6CsHMLy8=&!)J%~H=r&4Ss^^qcQ<<@}uK;ozX8$GOJur%yN+M(rd! z8Nu?jCW^C>D>Ii0v#Dsqd5E#_SOrnl;)8p8$rZmUEyH~rSh&+0(-GvxrX0S;hiKrm zRWUBRvA92#rfc4@mE=}kW(v|-aAAaUe2u$n>O1iSBba2h@Sw1_x@EOl9+BgOfHnKv zKlB+|pZ`6F;9a|Mhk#6jKgIB_OJVE>x_$47Vf`-qLBp7$Gq-|x9fUW6`6hcZy}7tj z?{!Y*szmUHjHHwYIpZ+mkRXd*`$kH(g-5GI{tqxBEoFGap6y~RXROZ4I!H7~&7NPU zIgSZ2Hf%_hD_q`afSK>$k=kE-H(Og;E)a#VMSv$F)Sr!Mn*=$R&;~C5whz5Ltd`-o z3z+}evu52^@%T=5+IbuRJa$qSw#z9GEN3Tm$scbxK~05Uy&1_x87}zwuPBnbXS-gM z9n>=k&6$!fhgx{&M%4BCI^ba9I){55C!;(WA`)^kAr8#m2Pt=(T~*Wkaa&C!+~lLV zV@Go^ZtO?-5KM_%kn{sLV=2F$TK7wrpuFafOXiqkJt1L-^_Pie(6Qa4m9fH|)~A)Y?$A*BjDM{>9U10)frjpZvSo0;V`AIle;0fG3XSLwQr?MJ%& zEyl$bz<&w{Vuk~2FW0aC{mlxuSMaGqPb7MD7kHVa86ZyI$u*>v7(Vx8m|Cc?tfExB zqj2XNTYaMhS1Y!Ig70!uhBz9UqlcNFksj5XTeIp5>7=03V`6|U64C~XI=K^mG|Dnp zYCSGZe!|SzTBx+wV%Dq58Mw3@UFhTjsUyTkkqQ#pyXJNtt1ea%+V`hz$KAG?tr}c6 zFasSDh<($+Q^)D$3AEziY}1`FJ_}E7gK~^*?#E3ZPJa(2HxQ#F&m;~{uL|aXA5mf4 z315c)4cm`$k17~?IK7&H0m~+vevsZe%#99~9{ zzL3ceVe+$~VQYr!L#1@~?BAK1i=DRmcz!iV?r@)MHnFH3-nKrJi8{i=Qw3YCblA}- zK`kp&p#|gT-{Vz_L!6S6x!kJLKX!DE%uSbmJ?DQkaIl#tL3Hh!+VIrC!F|q8E2m_j zm0T}${~-RJkdH0mqtDWagjSmL8Em2GnyEx-_~A&I^?<$;ceXB;w*Kh}&<5==w^v!sLF&x6c*8{jR$2FzA zKdrc|?(giVq*y!A*%Y}UGX)XM{EHGj zj80Dn^`<*LR?d5FgA3&*?qZap^~FI-Wl4w1+# zRp8I!{IX?x7g)Hk0*p&i)TPh0f%)I_ozBaSHei{E)$gkiLM|WGXSPok7;JK2^--=PCOArjmV6)>DV~ zjf&{?PN%2$jW0XCYo%ZUH=d1)@%b$1+^*Y5Oj;h$=2UEazAaT2%2sidrH8ofgsRVY z-C>p_Tia%df4LzF&8MEKVlIAK4fJ$LrPIp>_QKzcFDnVfT0X^IO3=Wb-XY^3%sXLI zK6R^O=Diwt+m6PdjqGnxFt#R1CTMWu;%$R9jL{a(NI?hl{v>C5IW`J_6JHyjAk588 zbL`!fT;r!g*HXL~&D85&uoE;~f|2uUt$GjhEOQN^%gZy$!t z=`;5Mw}7}blz^NV&dJt<@ib?YRHQDVA<@=Iq5lLwA}R*HbZy@K@~3Vyj(Y8Atj@md zR@nOU`@#ov+rp*MK9V}xXL`(QFN2ZRea)eK!{(&-jv!Txa~VgoSSO?8|BEY)Db7xhIu2h?E>PsZkz&CUAw~*vUYLj0BzrVMo{4_kaNuV!(H>zr7}9lbBgH^LCe(oi z=8Gf_OMk2GyV}CMLby+`{(z!VOz7tszzl_r0aC& zAvI57s{yw-6W?goj@{n;cOS`&CbK4LIfqULu{po~5w@bONq~G%R))XIP#ovzOs4jb zu${P@VR3#oV|jCEa>fw18TF~X@+s<6kdC;T+2aI^Nts{PyO;EPQbbD^V?K(6HNVG~bQ6&6fL~Dl!EP z7?g3uNPp^&#_pkxcvI2$zLXY)1!>U3zr}y_C>^=}Vb_L7aNLwNf{afix^O zBMqc5hIE3ph+b88_w+Mg)0tgNozij}Eq8Xq$?MjM3Q+*Xiq5C~G>*E+8&LZOA>dZi8DyjvtD5{j((<^{q!v)1!Oo|zI1Xw3x-Uw65dbebf zQXcw@BVy=}-l^V9h6)snztL9y=7XvSIJ{6Gf@6;Y`C3dFn>~!Y zPA*b!L}GPVd>;i@aa_O}XUE0MJDPdEp9Q2zLp7E<#yjl;W^0=*~O=Pf99;S*(K@~_}y9`Uw!7hfQzbGKC9Vl z^>b%#a$d^YkA_**1C z6w64T9xLTnUvK{`qm0{__H<{v5kLl^M+5B2bO3#(W~bq-HPQ(cSll*EuEX6$+qzFM z`$Xr~{{DxFYsDekP*ONTRU+R$K`SR0^!9zy|B^=eW*Ngrzq;!b2UlF!Jc77|9pjH33} zYag|U?R%#k38EgLa1EpinYm-t+_Ss}@+pUj0NJGMi+(l!Tyi1i2cogB{the+;28Sq zGK&Xr#k8cej|<%knyS1OV64a|hiqUPrB8-!21XLt`B&q4rpo-Qr}Kj>eO7eC{$Dja z1Ps4(HM`Ws7*48-84-%@^Mq@lvo$`FwmI3K=zB}T11tfSV>r-8qx?3EK2rj7p;W~t zM5#REgn%w`47qSL7rl=d?&qbXUcb9h5aZ3SWLgZ{kt%Cf(U+WQ6KXs*cEi7B6LE@a z#OCmQdduJz{O;rk)mSif)OzIC@}OnWw>I>A^3bjNHP0df{k|B!xcgTk^1MDCD-*8B zH}2bZTHg}aybU?`J+vga9(oV8ehTr)cCV*bZe5_BK1hB=M+8loCpOS*@GNPJ&9J)E zHLR8dF|;>Gz%!@nyVwZjkK4UJ7JAU`>#Zun60wCox^)6|Io-dlJPH-9el%?5us4Sr zSbf8L;Ng->=4FnD`VMt*e;UB%L$wncIDT$=4kORpwLjN&?)`sE%i7ke4>&6B$>rXZ z%n3Z7Q6=$mQuW+2J{7V}|C&L9S1EAbRKHLIi#x$$Kk;{&D6~lXA>a7?>*=W5NekYe zJMUgeZZ}`S!{~z6ROIpJXvEhQSxoKO!N}YF$+*BZ-iw2(Usmp?+|`si8$Yh;J@_wr z`KDQC^o-2 zpABsZl3L#yqYAYQGN!oA{x*}zFB-1DYdWN0FlA?R6)fHPHG)T@h=VJ$%<)%I4+8aY0-9WkH|>T*TKjs$&%d=sO6Ua|#0iA7MfcFM-2!+`3mYd znXs;#X~7y#MayE=r-lWa=VPT_{!h68z`b5D!-9RcK++*Jfsalp%h+xB`sS70Qq^UX z`)2uZgnPkbKhHR21&Vd-JPUDbJ=mNgc+vSv5~WWac5>goOs+}L&J1pEks|NFchw{a%`O9NKRBp-urODu>PcCq2*QlXV8vf z1}3e5U)_vpoc8VOJqteU4v7xjXen}Cpe~9v>{oHJ3F5hpq9V+s{~A6^p|{1yA7|*? zulJUk9l{Y!d{-55KO;D94k0sb|KGlHnrj{*6c8Wx@uEri;g?%_nx?Pc*bdpT+o&27 zhULsE=WJa(t7a=Xo$49Dw%(HvG*wbk{xRHW!{zWJV|`WvK3L)|RKW3{+%XEhD=vi$iy!6bC%AB?AUIX71MZJPL zeOJQ!lJKU#qaq40)ioHMtRLE(#@)oC3{R|w@78~lhO2<6-R4iK3=AFku(|37N&}7r z!STHDCn>D#JfaH=o=$gaQl_6i+GSthJ*gfSnIl@6tLVUj`fh_UPXAn-*%%>v+gf zlWaUZfK%T6U%$)M5-DL@Xa4=Wq3zj&FAi!~8P7YeXG!t2UQyGQDfN0`UGAJ_L9!+) zWLNuCpU4;?6?u^n{)bz{rbVASuP1CjfJstTj{1^qq#UViQ9M=Z9WIrNHdlHoqvO9Q zyg!-!d@^Tp6EJ5^0!E?IJ#(neKdqbkrSHePKRpnMuseopCgE&Aq|(}u!B9Ml2#=G> zpm<)mx`PpXg+&)M2A71eva(LhenzL*g>E+Oday8${M^=P1fK(Fq_DEFjeEx!tL%Pj z==OOiViAgyjwp>heQ#&_sz1+s-F%B+sUux&VCid!MeriGMcAIwz?ycX^~R6KCexAz zjO;`YBeD3S6c%~^Xx@7*tlXMUUOQ5&Y&MJ&d1;lYE_9vKrqnf;Wu zytJ2J2@e+=7^oAxO8w0B`1tuHf_Hd@Gf*$Klsqr z;9qCGEzSS%=%o%0o?*0}N%=zZ!V;%THXw`<78Z^Nbmfh^_I-lJf6DGOpdzac>UWJ2 zFTh%t<9KAPEJ)C?uCSY>0|`oLEcr`&v7*E`mqr2zhL7!X#P1e4-b z|6UAJ3JM08+y$kidNR%Wvmr@FF89AoOa-RM1mYhbb5(oQqfyY24RX$K&20ESb$|bI zP`~cjH>a$~h&{qgl`z92@O_b@#}nf>a6Q1tAb`={(>1 zR|;={F&*Hq(ORsi-2c=xvbHiW>2+`eGOo-o>#qR!~W0Nz{j?~9ykRk>|QrYM9{iq z-d-RaPg!-YN;#E%UQmnda4b;GP)>_{E#*`Zz2^aFP*KZ2nxLR49ew?z3!c^Aip-8M zm-B!rgMkA)p8}GS-J{lxDz;=~cR7MTt<*8eeZXey?yWOwzbsM_A`TtrHWQS~i-Q2; zXUM`pGY+S>MVl7^Y%bV&Rl|R+3eJaEi$8nz?5l!;f<}o~H0CAV@_8!hasQK2sJg2B zM(pwmiKIVnsQqBISut^flzQbCGV6fD;Iz{{RoO51nrdQB&J1I!>Hz(dQ>zAZfgfK3 zqOe~8cXe@ou%fJE*~o?)1`pN+rs_mSh6v6JdCe-@e9m0+jGDF>zEW8a7(xrlM^L0d z?$0#5ECY{u{lTOXZG%a1Ty6bhj0_jSYw_)SV5SoiQU?}!PNTq^D3hjG`R0b;7NLn} zq9ZD}l}(P8EEKrLAD$@?JKSlu&`_RgU0#>d)?t)bBwNDDHRnM#qb*jv{*a>%kkta9 z!=ANc#mQXnwLgzq)V8i)^r&N4hq1B$;Mf<1OWjI}7Vv0AvzPcqd%`iKPnUTbbonNr zSExvXkGgPHxxZTzZ%dJtpK*#_H8JS3-7Pbcklt!m-F>uoW48NGOyAQ}NMhCi0cyi2 zPcxg3ad3rudBs2V%R@fb%+r?vKtZsK^U{Qat82YcLZX`By4e6G5H0OR9!gTDQFw)3vl}AGysT%ZB%rL9b8Qn9?y0^2lh|If zvTuNoc(}Z_{IQ#orFr8TD$yn|OWLLL>nMi?klxV- z9izFSn#4p|=9U!9gTbPB;0<1((dfpS!3b@ES)h{pkD91Or`!NdP=f1)?bfyY_5qe}3Q_cE9Y9l}M(n3=m1H*~*N=UfZU@PNHGs`|dca z)*n-ny2dmm34(e8*RJU*DJk8AU70X?(=ei>tSl%hs{b>VPXcIl$o7OYBc_ixusgI2 zCJ~dQW9wNz-VYT1Ki__>tJ~Un)SXb2W*so#xB?_F`or`;fMziGiKPvDyTLV6=@0=y zL5*k6o?Y!aS~xn*&>L|Ef-(syDOUh5Q~W8Fjj!96jx+bwEdd!gy~!li5Cp7qfBp5> zhT^_UKMHg5YC1MJ*x2}CFj#3Y-BaFwI&P<#f9_8|G?fO-eG729*IvAMk&u=qTvAdp zrK^up6PjqtEx%5jIm6G-FUZfY{xgP01W@3naw`SJo%s_@?n=XVnJkunn$_T-64KMJ z0il?D>&FKEYOkd3sN(AC>e>#f0VdBRpySCjx)Wf>s`j*h9R25S7YN~jug+r<$(6eG zU7H!fVr!1s5chS@4Ef)$-Te;unzW7--T`OU&bR^)o7TgC@5kMc0EBrYFah%k;NJEZ zDgH5oVJ`q55)J@-C925q&rJ5g(z3EVz?03&!{gCm?_VjZj4n|nGWFZocZ$04MZil% zzIqi0q)c2%mBpOZ-oT)=h@k5pA3F7ZhFlcGC zuowwhjb=(MIlZ>uJ$dU$;rswL49g_PT>%6fMoc5Zh?Tj2;7{Vjyg}gK*U3MZ`=1ZM zIPm`e|MUNgn{ewOlPi4_kWowkb*N;(XW0ViEk&8?RF`sDyXa93UTZr!i~I;xrjfbj zK?5%U7tgQ73@8DP1iKWt4|spJowjbg_|AzQykzDd0L_z}^4~pnvVge7k9i}80GPED z!3Y2nr!fde=$ zD)$x`Nx})YTYdi+)dDle(DgpE74U{|P@;|V>y@`}&o3`6oem5PWRsJVQ`0_|v&e(s zJ9y}juBmAXXaf(NojH7pSK923)MXy9p0C*kcy<5$qCf8~bj#HODAxfrgy#14_Qr*M zmnMn~W+sDGtCIK?*sFe>{otQ49X+g9E6Ri!k{E9)u}iA>1K5@Q;BGZp4Wf0VVMgaCMilZRdXUE=Q0_#GecKqS13mRXkK zpPUXmdhFCiK!}$0^?KOy@s)EDd=jgiPJ1;0AEuq{nMsj#%{`#)MFWvDin{AnhFDwnUwW@J5aIV=3QTx^6+XTyUG|>r8lNUEQ zMAJ^nkNz(36<^jZ2nUSwOi4qaYNyDkl4S1A{Z@d@5C)`Y=a`4=7xVgqU_#iJ>|UeD z#1tEoJls-%qzn8Mr$x7xrr0bHSgDXzr%dX4-cBi}_E>Y}HtRk77?v!~<<^rQ&BTw; z_;SSmX_nP9BLIDMhdtaQjb-n^#E;&poSkB~7wU^rL-ur^{=y2KQTr6n?`4qG>@_X& zJXkP|p4@<)8}XxcL8}g(Cig zObiqP)EU#gnk8NPC0*~Bz-AVdZ=9`ym;e#Pm%W=%i+_qKJAet2X%PT|FkoZyONhVj%$J8= zoPFr`b>$-X_xl9GGi^^Q$y>6Yb=0;l$5v-Q-ueQhvC3siOi7{8^3v_Y*y(iO5pWAOA ztK;VOsZm~YvpTq1?;cz^t=uQvJ=ix=edZ4MqF|6AeNuGNjuJQEQ8_Tr#>I6lie2n6 z4V&}NW&{J#&GsXv3}(HnvC-h(g%_>S8MQZ)nDwqyey?*l6b`QYrxJhwCP5tdUFRF4R;X4uEBTuVkUS^p7`WeBlo&7;H0)LAE zgvW6}^?MRfqSE+2i%0$`^;Q7=FXO>-*YPF2N1H*g8og#y=tSfNhWwvpWFV?e#E}Qq zf8d)NN9)a1wwh5OGKgW5W8REp8er3HWtJmkWeKBT0o%_)^3<{HrE^n-F)zR|+|==( zr7epbicGC4Xrw&c1W-iX+qa*F0H6Oq3jlI%Q%OA)n?b?ao|HeJ-hXOn?brpr%l3z5 zQ+{9cil9H<1U%kam7c@bKqOPPL*int;MyASuq`W-IFN+3F<0=H`c6BX@_F&?=v`SL zs!-;@Ksri7aV|%rPxx+di}H!#0oY88nIQg8B@d{wrCc#czqx(ST*VSeUrfKas4Uz4 zei{@M2I|(At_$;~Tz>RT<>X@1O62R;2|)GspRoC3IS6M=b#-+CWcLU2uRr^KAeS+H zl3Dp=7E6!#q_~e@^z*&=MB{Qs0aU17j?*#9Yd5=rWZ{0)-m zd>1C~uANcqa3}9Fywh&h6^6g~lSJ*iSyrxO_vPU?VchEPrF}Cu@^dl+iK5Knrdp;T z$GpuIDRC|l<781hlPRAO`ylns|8rj;ocs8HS~r>?=bi`60wWL??*jh9UnO?|HU6Kt!!3yt-i!KYVIPIThts~I|DWsG|3CRB(?PR^S<4KC z6>EnERs7D~1X#)KZM2%a!!T{>LemP#ijAjI!!S#goaPd<$+vhjG&U1VdNA*NJXfaF_mgf|#+S53}#*%vmqKCn&Y`cHGD{aouR zz-q=D93Rw)jalxlKv*9v6d6|hfqTarc~41NBSqg+m_uUmYV1g-naZG)WoW;hOY1|% zJgZf?05OWCA@s(G0wHIzIN~Kv4*&zHr%oiF%H|f^3l6QT33~s@v6gHr;kH4`JNlrN zjz0SfP1x=CT6919uZwjr1Lr5EiiviUh_({EFVe0co3P&mgPT=!R&dA2I!t=>{Tsz*Ttd+rMadq5mN(bjz=)@Rq_KySo zViA!i720-C#)%pE1#2Ds=)~OeAWlh4YEke*q+aq5q1P$R97?s?gb`IdcR>Oq%JKcV z`p$>L2tP+$&hd7Sxv+)%UB@kC7j4b++)GOPtoxTJ$`b#%$jl>NR8hG1`enX3b{hUF zBEssR4~LOa;BpDC^Al`A_@Q7u|8TUl;gR^K%B%+QyJM(tD~+FDJP?19rL09xznZP2 zY`TECtTn}+t7n>FuA_4-`Q`evJfFv}9P+hvzWqL1t94!n0Ko=O}03(;wjR>jPCt2TpM) zL&HOYIULe_yLSUR-fkzuSlQX!gOSg699m*@PF59q$|~Ko+cH|XG742|qnRj5rvN~L zsK~?h4{w%54l~<$Ai69Y6OU}4Z3UA%_~|1XWn%CUS=D=&S5eoJp7y}CU#<_nft=?D zpj-XNi5~#)7x-*{U;nUoXQ08kP@g1g>3dAUOnB!?U~)@_R_j56^V1z! z$hH4&tzHrZqow`rw}VL>rY4I&R0YWjW-^RNo0*mROSj2m5QLFY{+bV_rY5Z!HA3yJ zjj_gDvQh~S$lTsNnbRqw(6n*c^Rz+e(AQ)-J`9oTwnb5qdcf3qpPP4>D`4i;VX+ig_kSS z-Z;2rD*WiirEdHChb`zr4HExtwE|dKef?0LI_|v1&61j;EK3tfIPF9Xi)|C1E|5=5;? z7Eoy*gXXlDho6+grkII{a>8KR2gl{tR{1)pb@J;%K36gXK2%qyTuixo_i^H70|1ED ze~;oQtq!iuh~F93tW0%OEXZ8>@ccnwM^YQIom<7s@EmrZT?^NcW(Ssn54QWS7Xz@W z!yCaZy~c$r9sK-l<-aF$AdZki#%9_0L>}fa4oWR^=w3SOdRMi7+uc>(T1nbM1@7jb zr)i{U9~un#pcG8K)j~}Z*bhcc$DY00CowamKq%q}8{QK4B?>CHPcO2p4z@h;JnEE- zt#KP@w6ThjnRHkGpf zpSS;z;x3E_!(F-dSW_pSspGs>_h+URaA8yMmInY(XlDZOx$qSLm;tGj^Nh_~K|gVP z>T%F)`6A{VYb*L?YGFX~p{`uyYohDia8n~r9YpZC>U$}mwH$M{n8!^rd!4S@BE(h;4>p|i93+WW~;~V(|EQ#)MX`Yd#q~Lc4;CV|o7X?p} ziVFW{L(P$RuIww>b3EhTm~Izg6hE$FNO`H(r6$0pGBd-XS$_uAtgdB}Ehl2q5H>lH zQ;;RYx5z0b*wij~xy^K8)}Ou!GicLZ+f!C0D|j}oP%kw3_A7+KjlYY~Po$hPu}Ui> zRk+YAZH;QOsA&lsbhbCYRkt{;^9EvUQ6*H|Md+l%HP+jgi(l5pPu$5Lh!qg7$9im`#~CUmoN>E@5;Ez=q#%1C+e{nr8gA z@i)B7?cD(>`}SAfSz|VKCMEH^r3i~=wip%SdM}5O=Oa%lg(_@+NLt)Vr2byv!whFV zW-9Ur-&q4Eqm|cl5=Si*`zK9ix@!G>#A3*-9iBW%Ke&kduW#Fk*znc*KQl z{J6U58aC=`v>$Df1ZmmJ*3xPvXD~91e@l!=nX7~a6m9QTj?aJ2h%Fwkbn!hNd4ev} z{2pqVG!&>2!zt_;Mq24=riU?p>Y@#y?X{~&q-VDf23g0Les!$CjCh91<?#ICgR^ zh10&r@TTtYz<;A&zU+A;vE+&tl&qpI{^{ds(e{ROzTW`)qp7&Zfsi-u zFePa3xNalWu5A-R8l1d8S;L;3!7Ci!Bxjhw$q^lYFib=mqDs|%$nba|Xz4vG-H-D` zy3M02@Ep;}d2)s+ET`I4H|>k>h{NG&6(kZO-pmOm0>dq`W0YG#EPBN*kJz6>KVzKYJIaHVKr;d|^pHhIyK!vYcLV z81>gi`qj7!0i^G@tC3#!nz;))rynxMJ&&!M@Q4iKZ%e^-weQDS98i{4(9U<~b&ZMK z@qmsrqqzk_Z#U$-cy(XvDoR}N##plc?`f`VPF7sDP$^Cxc*&cpx&C~Tj0?^x-ykd^ zmWP6BJk=}LsOcA@+0+F}Jm39j{##qkI!;>mNIdAwmKNp~*U>kAC3=4Tzzy^JP`9&m z-9qYf1#`Z3z;?%+L}MF&o~x7KscIPDz5pLINuyq6XrbmkhK=6Hr@;4r8v|)Om1C91 zGx)<$DRbC%BW>J_IM|Fc%@)BnSj>4V+5|V)M4gvv57rOI!a`_OKH#DMsi+A9vyZMr z)Sk#Bt1Fyz7qrnVPlTDBd;8s5Zx#Sp5(tHn7K`$t3jMmT?hsfK-x#*!JCsYLROIrM zPK&E+|+v70-xFeE6%e`?9X9v3yj{l#Og8cr;9lxIa;SwcBr0gi@U$m zph7cAp)mZTS6(okt7}H$r4p780(CJSBaOw3NXS`!4__&V))ZqWEVS1j+hSwDSwupA zR2o_Os>E5Ji}mO2)>Js*B6yInJmg+aZXH=92&Mc20Q`1(Swuy0Apvp=i{eK|5m=Jh z2ZX0eW~g`Q8g?Q_3!%)y-aTKNl1A#}ovx@$>?7B8;L(c$k*>?EuF4!!n=u56;CNCw82qlN0`MxgylIAhBvBV1{;}xOrHdUz0XBZ8!O>L0Z9gyUwB* z#~T*adj$4-cIcWxJW3-tAj6!rMklloIx_`Ut^2*yy*St=y=cmXo^jSbw$2eA@{oVq zT@b5LY%MMtSPDfJq!#?G^>;dJ;HZp7cZ1jQqbGX&44YT|dBiT99uwLT3QU|2_Q+{S z9Z}M-r0cWUg?afQ-S(s`uWTLO)Wvxk7__+9U3F_srQ9YU=wclyn`Y;<@jhAlY4f8q zk2Kc@y{zaZ{-h{$wnM85!y`48Ob2_eLtaDX`xE{$q2og_09&2w=1OvOv7+8EEcV96 z;(&!CXGyg~`0ET`4FohXLgs>|wc$4WR#9F%eo6%h)R(`TS9dnV-25F*P7+O&=ffv(^HztGaPrm(?vuqC*4U`7w!| z0{_Imz>e!0wJ4HJ7epiWa}~Nu+RfN*#f$>R9aQsI1~xkX;*^yz8{_)Lz2-Q;@T_u?JOBy=WM62+lx0jmqjHUWIQ%Xk-oUpBWI5ua;Q#w&f`p!;4&SP) za~CqOAvL9y_Us0zE=VL%@@PEVZwTNnQP;9*had_luy4G z{XT5x+oJ^4kCA^L?AIj6&h==MVGiMq^MIG59_w;XuPm&VMQn|}!2SC=lpz${JQ$M( z{hl>=RezzTJax0ya2S;{4@E$2Bz8bG!uJPUR7kmFI5DOz8a?~#@Yt+x%DM` zO?>t;7o#s<=paY_6ptQPbj+K0Ds(N8JeE9kLvxLmp|qr{W=(igMuf#q;TiYs0jzO>E9V)7^A|F@_PW+Dw=R7Cuwq@%kR9mw6d)!` zY_uO%dWp2w$1Y%afw~8=+xGZYK)qD1pKU(pI!e{V7*I}}E^pD1P`sk78TcipXK36r z2aVMvELY6up#57RVmzR)fv;kxAjy-+KnP!Xn>ZslYJCVGmRfS78{69s(P9mLW?9i&8IoyI$g57Ho_1WFTN5d~~Bv^G?u!3Q^W;MRDl;3^Acxe8M?q6CkiH7nUA2WZ|%{Vj!HruKK*@okoJuP z5A|2rNVD&mSiZ2;`i;_zlOuSPhu8Zz)pVm^<-*;=9VJ=rRbFTK0SklqXr(o2c@{uT%NXpZmT0Q@IZ$D&FUV-5ORk)7oz}Cbv^-(JL;){K* z1JH2Hu2n%Oo@-Du-{XS4X0%sG^&R%%o5ovb9Wz{84Q62FN(PIW?)f_nLFn=EKKr+F zWvNiIr$}nWb)s>H{3Zdm)>pay3!1e)Ll|GMNpd`9H(be^{jPK0jAYSpm+QCKk;)XT zf*^txCp*UHZuPpohtzmB#zNgHLuOD;NeS!TPHSkgAna%ky!ND4LrRKs=GQ6LuHh@b z_O3UOXs(Z9-Y>+aEcrx#XkVLJ1#GbfrzEa3R9Cxwx}grig^8zK#e+JH#}weUi+WXI zS6cnVC>0YYkE}~EK9hRmCm{jtvQ<6fs{W>i1IsQmM9D7uNqutlh;(bRdILaW(cTVOwO3d}tbWZ^mmgc7G~L1NVzGAC0Z z1SedT1dr+qOw3S&`vW1Jj}Xkg0ldPQ1@e28lDA{bcE~fCc5HCott&Cw!Xyg7@>!S< z4JEbHsz3=Cbodsql4h1NQPQN&XM1Dk&Y{ghOI?oc4eqGp@$@KVUO3h_u`dn8f+9Rr$4DT}rBC$qj1s9=P}I zDkBPM>!jP<#@qe_KZshurc~5yW*M~D?p9jnQ)vN zY4MX<%Uqh1_|;CtYmd_&ulL$xlehz|l*Mz{*JU`^rsw@XtxU+WIIQHKIfqI`aY%^* z%BS*KLT?g&GByu{&rNkHW3}Y!u()j4n@ZskllIzK(zWwE#SE$SXI%;8!pKG%{tnD` zYkS(KEA8*OY`th+)%uIK`EqQv->I6Y3L3s9vLqH8abvvIvej+O8Xm1~fk@SZExoDb zZQf4%!NWAPP_*G9$|RfGyD{mk{?QYLTC}&x8Bz))Kn!sn2<5?%h5Hr=iavD*a2>oS zb#ro-Z-|FwfIKecXR-UDy%^r_n1Y@hwM^iqflxtU-wWJ8O)}=Q#$Lr+o&sQz2Kf*4++?1I3F~VLd0YSibrO zv_nPAIf-E-RU^)XM1j3(`%a%G0KR3|HwyEDu8QuoZY)a5)zI)?%`Ndu`Ah50JOMirk% z@0u^q{;HK$=&LZ~8M%yc9hjbFvMcy8s>e06?Y;!Z13-GHKWU-+VorlT#=BhDYre{Y zE9;t##NA(j-(xNojB$9rk-an9h#h3_ZBd9>e_((k9dYW3~?RM9bZ$A>8P zy3*|&q{OYchd`U@+3GD=xXpv5Y=@@)z|}lG@rtD;n@(L1?(@a(jQHW@<1SMqi~3SU*&Hard^E<~8M zzLMYZunb#-lmM1(B(@u(9vc>WhR5SrC_Ug@A1cDsBCtMG7Fx6x)9#)gu;^iGD`&;p zqtvXPs@a)#Y)$G>cJ%Lk!H9a{+k5S0`Ss+xr!TgXuIP=X$II65&^h0+fo|X^=pBCS zIfDOei-rD#_)GS`@j83W%&s4|yOR+()v6a5o7~0@!qmQfA)`s6n;Yhn3U#WX%#N9{ zmyW^fFBGcfh-%FSX2Fl;Et=e|)t!(thtsfrQ@~&xFbjmk@_N#+@R1;k2bp4YTN(4+ z0RLLN!npIN*x2?IEAjRUL^r*7ahZmI5d;^=l^@{rU-w%&URPYN3suhAtxqhrx82%^ zl#6m)&vehA*;bWE2zR9Vu?$7f_2OZPWez)aF{L4HVJM)O8wo$bs6%Ci;L53zw2tHPN{i8lgiexEP1phrr4%QVG@IR zURT#GTpSh1Zm#`#1R?X4x60wm9Bd3DTqeh3?a~u$6^L*LbCIDn#PI@=d2U{;!>ck? z7LSqcK|!nQ4U4Y$8{O{$@>j{M=`hcHqHuq+?e&lM7{#OXI@~djYm9Ec*^_vvO)yL1 z`c25!PY^dFQkvg1n5ZvtHUMNe{6k?ykEk7p4K+9mw7*Y-63!EaXrQ8(H{8~I zGFF1BWc2z}D&OK9B-WLKw$L{$Soxk(lJw&UY&51z#Xb{N-ncE}Jm;g{o!hYbLYsJy z_+;ah5&Piy9wRDE((7KzotH2IKb0hC9J>BHT-V4LwSUXGAZ@VzL$@&5t2P(wkQdyb z4|#>kng-en>;05+4^bAw&`m4Fs+`Q5yEcb0F);eM=MHnfrz)@1^5Q+`FOb$2&?Bn1 zch_+iE9+K*E0fEQH&@F{CKe7n&wUtF%Og=gbFswdZBcs9H+fGAWnDMuUoox3D9nNa z>pAb*t%UmS)+hYnN-@`h)QdG?2vW}FBBza|IkAROF`O)=O_ZmHI7jQeN^!lQ#c&_D z;gU|ByY^+LkK*E7Z8%bFGoDAvES-WqJm5Mk*v=MiT8g86z=+2!G%A`mqhh**tD@cO zgCmvmZ`(gz-CZAnVkimE{#-3V%>!hSAu~7>#a(LqsCc{mU9BaWVWoA6X!U8jahjJhbg!)TTl#l3$nUTfiutn|c?1-kL_SM*SCJ>|~1aA0j$;fUhu{9jJ)F6rcc&m&zBt5}Sf z%-s&rQ!>Wkz-2SfVOIM4>ZjyGeX5LQ??{!J&>-qmm+$na+qC{jIX#D|egXk71Vz$Y zb(H26CJH{&LvN@P+Nlq-dKC~D)GA_b>F?mV=)*#-(@)z4%?qvtHk?2sv&6!}9@XN{ z%NS=jsA!#BXfInQts@HLqACs70RL_nJm8ZR8#<2K zUkbwdZGZeN*xqECioGjhhC48e+~Dm{>*qd8@}UmgAS=wtfW5FIMJ@d^K`L+e-7o8> zd>Q0;T8ZnM7oF$&zAKwJtbWrd#rGL6@E{@8gTeZSd1{TjY_%!Sj{I`Z%X(LQ(s17i)+kRJ2ww(}RrfX<> zAy{ACge5}6?}VOSW6M$8OKt79&R8QByc`KWCZ-7Mz!(~=^vpwtZo{%5E&z&aIF7(#3ZmaM8W z%Iu%D7d^~wcY8@u5V>t=ODY{l6JHumE|5_lx()Ys*)R%}?p3*x@&Fx`X6?r1dAeBH zz;Vr+#8mRDlBSvtT*j6ynnl?Z{`}T>?s-P0rp)Uv7Hqm+s5C-{bbMsRkepTe!{1O?{5Fzk0Vj%V9 zrTWCl7bGn!v#r&`TDY&gI+cdiC|Ky^6uGiK_)Yp%miMRjykD(`j?W<=fpi%w#{KG) zVAwh>C()xgh)3wM^j&d_zV#&Na6R>h*Xv0>)$B{z+!^z$Zv$u27b8$yqCAqyCf@`F z!%3F2dpjZP9jjrbNB(L0B&`Z65!c@{V&)&4z%f;ybzu<{E-tsXW@$4&4;wDnvLmZn zU2PwAx{Pj;3loMuMJfwjlIc)*Qvt#FUszmHDt+|!jp%{|#_&*YvM`H2)NSLJCNi%2 zQAm;jCo0x8A{ZW^JFwZ);mUGT<_KDUrlhOG4uL}HDZhJXHPAcGvIJ2(e=89QyzR~YmRdK`PP*EAvMYB zIb6`9zc6-ZHIFlaq}&x_;iCP-`g(CO^9Hc|4lA!f7ei3vYm4bujmXm9YX|ulE#5Q3 z^4}CbANXswr5$tleoa|@ZJtSksvquZ#x+|E8LCX5$JO57T!&@~d2$O!UwARd=sCSx zJHInGGE6ef^VfVbqHKFrqXS0p$>D$QKnp)1zw7-JUs+NAuOmMjb`oDf3SN8mw3HEV zQV<}4u50wOLBpxtmNs(M1qOk!(ERi=zp)nKugY==5=W4Vil zEN2AGZW*iKRZZp*ZdqqV`L2~jA|0nXbb@%#UObQqc_-QPIa^o>RHIO9-H=++lKa3~ z&kNwX3#CPk+TGm3o__*C1rWbt>)h!q>{>tnKsrMWmIwI~IGyUcXwp2ZT$?yt_nVCR zl*f?sY>6xN`?whRZSqC3E!S`N*MNtb`SWjOX$IL=Y!yqHMxDi{)?TOR5ff(STmPCk zWhavGtv+%7xPi9!f#Y7oc=SgV6XDb@navz%4hQBz}A1sP|D;y>-+2@Rr>Pu}_rheDT%A~0%N}2N3 zhgL(^Fjd8FJ0l`x4!DEzNX5CVaWo_!>+6z<5BTpPVNc;X2r*061?Tx>RL#T-e>4P{ zb!m(XToeDU*8A)2bqnY)HzROfNdn<9yjV_aVOKL6k*;l(v0puJ0h^yI{T(!3yejzF zs+LmwDmrd^^MFWS{i03nE_|rvVXu%97KV~GjH$p%P5ZAVn#F#+ce98XeQ0aTng=WU zf75+?2x2Zq)W_-U@L)I&!N=%EZw?r@0ihtdf=StE_60;U1X3^*dEVGF1C` z@Tv7IiCBI{L910PdlFA$x5Bbh$@bp9q6=TWN6 zK5$h{Q{q=*y^$HWWh$YAVfO2b1wv4PP^M(Kb_y2hjSz^wXl^>iY0Du$>BY;2y&Bm=8crIT7KR7 zM`z0oRaHfe{Af?%N0$aSZH#`NG%Pa=qTej|>=i~$lieY?1;E0#KFj-h<8QTeysCJJ zHTHisXF)VkVLX^D@Kl9+zmYbIDIf2-eob3eqBY*A4vB959gEkGSENx|w!e#7$eJiJ zq7XlY(PYM^zTz(2{k!@B$L?4Du=%B+?0L7~Gym%ThEpo|l}?>Fnso9&sY5%9pzj00 z=l6jmk5Hh<@h38`hJ7QP#RBGkcVu+qc5UbwsNts~Ovw-DH&V%mN+(~Ga$TfzW!Vq^ zRG175!0KCs_0;L2wGad2kU7h4i!uMbq0!AsOsaOlQw!Q#^7+nScS`9}&3E6JtOdQQ zM+2-}3!5ixGQRs2f0yC+K)~w{WmLXO9m`^K9O=0b0v1nGsp;^%a^x6ojy@1hffrAg zFRxRHRrpjCwqXm-vLYf!NO>NW%UC*D=~TO*m%%&ZJDSCjxe_vL$MPWpKO=<5T&*6{ z(nzjtSnsF4IUMO4?cuI$SXN~eci_R?8?+&aRsNH;F>Lhgu7#`8b3a)aW^=X@o7le6SlsIj+#V@9MUO}^Q&*zzi7mI z1C8}5{)6|VFR5QPGQ_CV*}dK#LzSEh=!bakjegd+CwZd>7+^ara&7wUMf`}$RuUi! zz(U0WSqSSltK4`6wQNX9W?LI*-nSRoB4C6^QIPYOqYA2uyW0;|J@U^vT^x(l5KQ7m|R+&p8s@k|737yIL z?AY_|Md|uNQ>9^5;KfgS%8zDFN5-sf7psqu-iX;xN>V~Q@FY>nyvKS+ zC`(Khkx(%$lSy=KT37BERvyUb3XG+Q&)=08R4`0;6tKKnG)}BsvOX|jD&H=)5%cP3 zVqIbV-12KRh;jhcYsFe>OYW>l2>R9x>;Gu?cGPZGTlj@!ssWqXZ}l@|s#cejxZt%eX4%qxZ0x01(^U zgHKAAlstca;aBf=iZ4iy z5d-OqELrpH`mX$8p-!!?jiEet1?as|4Mc10pjDnG?py|ZfaSo#Jmmkh1jJ)LG_3KUxH#y1k{}>lSgq$@vDQnt@gb54WAQl2zxPn|MVHQ-C^fd(eHkUjx8&S zA_bLYa0#7VLPJ>LKnAFkUACg|BP*;&eDfUftd5~)in10_pNR6ak^IWzNxjjx`koj` zZtEPZaatQfR`%?EEU?;nhUm%lK$`{(Jb>R@Y+T zyFL2XCf3XeVJ3ku-ACh-=!nB|r(HqwATI{;oOkGXQsp(Q{p`Sneu+JwXf=nQZwV_5 zp<}qL-R&P4g1(KY-Gl(iAARdxLMJ>f8I4Hlk^_ILE@!YFAJD5J#@Q;CLTy&hX$-J) zQK>HUtrr~rl~8PbGZA5}ip~*mq1TkzjK4j7{CyZ~G3Y`w&vnR06uxG0_ENW)BDtf$ zkfGw|4%tK(97E8slIuU8vpN3kHWl~jh=>hPib|8v5m1PLh)M|wDhNX8kWfN#q&T2bMMQd& zB7_c7LPV6R1Stt6AxaA&K!gw=mG_33dFJ^G-k%jbd*9Ed-DHE> zbE=|HdnP{pkfSgubSmX>-*W^P5)&iosMi2fZiCl6#oS5y za9XpLvhbWvdh9l-Mx6Rqfb z%&|iw@7}Yf3IkkbDupez5+<^B0&mO2#g9r&)9l6B?|OATc`IvO`0Dk7*7TmOk5Q-e zw7PN%i|HglK)7BZ-7onPe!eRI4Zuo-$Iv1cv~-IPPmRN>($w`8k~>sG!Jap+*%O*? zdkN#zv$9dWE@tp_PZCqIpouy@l)%xT>?jGXW(J#c?*gQ}&itfHIs8H-?ZbL-8C~ZJ z4n;-SkiI*D-GpD(BA=^St~r9giF6iC{^@C7@AJxWZP0u?(k1Gd7subFFks5IcTHv> zWy;zA)CtfhnEnuJ{JbCQI_Fcf&?XP(oiwi91-_OlKY2T`Y3g~t^8#hqd*jk#hJvBK zRI3c^bbr=nA;Hn*DTVH6k%ddJL|`es@rk@<`S*-PS%LVAc!iCjbPS**1~FwZ7(m@_ ztw2uDYqjtZUyFZsZ@mx&=v1~0E~>95T$|| zkspG3{%jy{rwM6JZ-}jW;o*(M8WpS1z^m0WWp{&39qI+qD6u&*sVxj=$NGG77vP(N zLuOm<`hS@o7;1(()1DK;AK=xDkczakGTho8H%}!IQm*z(x{e&WA_{wp@qqHuwI5@9 z5IMDdNy;g)^D;ps%?k_y;}UYhzbx0OO7^B@qIyxI3l&u&|2^*kebPoV(dnYyzS{@h z+&qGoc9(s*sW#F81fT;>%kl>j_obOy6nH7QFPp+p&T+e{Aawf^nLbXZ7%JzUw<+j) z#e0!t!gFG)8Az)Q>inp|jZK@*$s}K^$JMb!=;Qh(>Nj=I_679m+RqXYLOK2`YPvQ* zWnBHUk)DTv4AQxpHn5SsyRin*3$&&HP3f8jJ}-FEWiMX4Qip$$%Bdt+ zg_&3E>XQU|{iQ7fk#iuM35W?`({!=lzIs;C3cE|xQULh~*r2*5#e%!AsJKc$H0>@8 zwB%=Y0oV;mi=m$vwi=XxEcn=58~)`kq0=2&iR`KRC`c9kZXKtW2tL!hC?nn<3z?s^ z5Cw_w9-5J|;qv$mO_1IVqe30k16f|dXv0-@CdDk*54tqJPvi|V5+RM^?Wf+PO8I2d zkJ4GS+*kGkZXVHn z2OR#a*mj^gNk^{gSwObw7_+>p5MJ!#drY6S_201?Uo0m*cD&3iIb}+*yuzW#*xWzW z*L~!?ozWv*=zL2hvRo6qKb^Q@ai1KUgRg{IYu4#SaKFXfxTw(IHBu9J4JsGzvh6DN zR5^DPCT8h=Zsu{38Rw~~Ms^!|Rhle+b6;$6|7F5~R3MqNApro5IghiuyAODH8@9$0 zB-eu6#pP13yzWntSauozv~j~RNw$++bk#id7hF2_Vd&87`%jl(qfq_^H!#=l%?*$) z514O|J+5KyrET&MOz&8I5ymK zO(Jn7z5B^r>=Vx9Rxzc}y7LefFAM7u@m99UUhNjKOx4q}C@QmDU1^KBekZ*5DqLPl zJTN6FYxSIi9HvoBkpBYSo%3&xrm&^0F5|~O#EK=|ew{Kjqa-?-urzc54i84dO`GVM zvRv@Gc9)AZ;|ZApbe8wFOhilU`x*_yVxVlI_glruyTV? zTQJ4gEf->cd{OI)Yz}V#PFo7n6i!Ax-SWmFJViLDr#&y;zRvNjZTn9A$(5q(-jkb? zeZo+#WDntvV{TPPlchpccQGRmIi&ceET+!EE3`gv3Vco&hTu+!<-n<{#K6g)By=!M zP^r*18jb9K@8qdUuiAS0umfnWF&T+*Ff*r}X@tF9fjhK{Qq|8~dDZy9vx7ArOK|{M zv{)8TA+Bnp!U2w_5619h9YmNqeUv;9HDP``F>ulr`qMjCRzN~S>=NiRXU-}oLTeZ1 zi;>T#1<+dzbdv3uJ$n2?WetKDbc~4a!UgKtT4ceM{Rwf&chDVGcU`h4#3gqw@J|Q2EB1d5Ll)?~gbQ zW(yJu7jKE}2Bq1RGK!6bxZej2gwqhq-+TTvaGyMDDkkdMJENJ9bP%S5J=a=a&w&v1 zbG5Z>CIDz^&v~5a;*SIAC~0u#`q$&Q&p)yGlA8O{+M&PQ$F&?=TS+d%%hHe4l{3jW zt5jOhMje{{di5@ntJ8ghoJyG&;%ygqv{*`E!`;P0XkW}qmWe7#By1$+BG?Q%8_-A7{ zvg?b1ZTA<#7v2Hijmefj0k2kvYPkl<^&ySKQTOIBZdwMTi-$kZb=n+VJ&&Cn=UuF* z!*uj|`|FAo&(JOmMfyA+8#EfT7k`$@4QWOe#&|=dIs=q+(G%8y*Q4OI+>w@GTul&_ z^Th1WMgyqN8Tl!7>sL+SMr_RkrB?P5kO9$vlHcrJ2+xL}sxfiKIn2v#cNI|3>sTgn z5jB*+0uqf5z7gZj@P3S6XR8_)UpB#%92sm|e>=G)x9xh9O=iE0fQ8NlfwcIq>QIrl z6#qRA=mSX`Z4eYaMx1PEYdF`^Hl)1rKAGBhjJ-JR*&KY|mPO5R1SkMC_~J@{&A5@-Me_Bl1k z98q5)x5-~Ioztk3I$++q)zIJO)o*&S`bvu8EBx)1X8&sLT(djUk?5ReE15?Ft>B0k z`(C@^a29EnUeil&satI9vIDA%;LQ;TE3G)o1}Sl(bGFq#TlmQQcgLu{yC&hMTdhnR z$^&2!h+HTKLtbXQjuO5PL^ebDRgA5#$QxmPe*lrGLoNYHs23>&US7H;6||KV;lJ8h zV(Gl143%*xal~a4NjbwlVYc=go%T8EIac0%wT|4c=9ve=0m*vk zuEFb~Mt6_lwC)dALRzShGj_l0xVZWVi|I;Jj_i3N30qYA3Q}rB12rPrA0Gu~pJ=~3 za}{Fa7{#yfR&u#>*Gj=J;Ykin2*!cHsBrlA@?oDu`{#1myX$L|zjqDj!N)2&S;Uq& z7o=Hg$1uuXeD(BzUKPe2y{_{8sMNBj9tlxQ%K*|(-~-o!5>S!CNj4W>jfK)d?JGg$ zjL`7`)=1{T`hFN;5jJ}?Q?D?E_Fn|#=YMPma<+0We8HDT`JOw@W>k{P&tQ=W8(S8!cKhO%HNC zXJ{cKL+>1Y_AOj2!l?4E+Xq~(!Lc{USN>IyxUxF>er?8lHc?HGYv8i;8+NCHp>8~>{U4AAFZ%KONa0^kf!@YX}!|Y{d&_(`+c#A zw1l!h7VxdQ&fZ+=Pr{)7%oHM2ve6^GTF;6wf%he1fJExol8#*TX*6!!zk8RQb|6;x zC&aTguT8~KBOkRf);s@6HxjHW&U9}M4j#>D9%0Ur zoNqU+|Gw~fpJV}Tf(E1@k}eGR;a}BzL}MD;r%oTN(wQ?&>U%-jzgnlB1OGl`q;M%D zdtob;@YEN^XkEnxe)0fvnE&M6_=j=`u|wBwTM7Dlw@+8^bo6Dlp@t%&-PMup;uv};*npOUyT|fIQ&zZuUiX0D##J+SNCek>=1by-R zM&xrEM?s3rA}7K!y=aBGPgddJ|C$qT(A-piJ|Sz+{G zMOnBo7v^)9e>$vzC=~N zhcJ8F#*jAte0OiC9@8#u1+0q0%5|;K2(=G*>LN2B}mqY*YOoj;5$SJKp93zGN-%Adfz8)R-{SqN`23nFEEkNDS({DM;`M;`h6C~XvMX-)QVzl7?TDg$KN_>nhGRzF1v72UEd|J3GN zfheL)%!3dB;E2`;y47k4NB@X&;JDC0Rkl?*YCeRUx5?M1RrL@^lVF%`G(cO(vplI& zQaS+~2?gWz*!NA#Bpinbd=m4maDL9b@XQxEp>+c@kBs9&`&#-dguDCWWsdZ=NP%5e z`R*5;haXV&Yckc$o}})Ui(-tu7P-Gx{;NN0h8EUcGEn~SJdCD@-fE5iy8uHLxF8*? zmPZPvh4p3=q4zSou0}oFEf)XSB-T82+V=4pMmj{2##FKQ-AU6KBgm&n9sf(*Cn|mX;Pvy@66~;-nX5Dq1^t!bu!ke~r z`Ec=rFnCo%}XH-r2#7-R;~R7pE0)T~y+*vXC&U2akHO6>TAE za;pk`sn!g640h(phGlYc00(RdgSeBLo7H?W6+hR$GJmqsoARY0CQ#;!A+YV7=#RJr zM(Wo(phKsE6c>pjKSEO@$ZBzBf3C5#7NC+j;$mWbPW(0T&BR++vM1ReNzN{TuyP;?yA>veIj63E3ytN6vH(^aQD%p? zEKd-$U{bZCetx?`|9$F+*pU;M?%AFflj5wMJHXaQg^^XIW~cYq_6ZI$9~(?+AJA`R zM7rlIHs5QhVENTJ1`_U#^A^r(`MMP17-azvPA=(qUDLDlq-s^o^U=}KJr(wKv$@;c z5>9uy(@xnSVnWKNO%`b1sD~8|wKa%hr)2+nE@%bE*vpoW2L&-dPX^58(_+m5D#u21 zK%^MvjYX!0|H7cGmfv(V$9acsJvWr`M!?!@l_2n>J6j)Jjsjj`f!IefbaJcX3Q7ZP zB#UVE-y~ntQK1-%<%o{~*KquBd~srB@)zMfW*9azEaE_@?SluUigwixcgF(ZvmhP5 zF-hj%1|XIcfk8*BY^_o>pmR?&=eK^20F0W+o*naS_C`6mlXM&w(-`*aXm3(W zuYfxErmEdPvO@6kaGql*WBFvF&Ix;adp+`nwl{_bLcI%FXTViicfaLm`xXGVNe27C z#{7bt*Ng|x*77ET7doV-ckP9ELpoXCe&H||SSv_oVlFPJpRkeibpFdw zUPnfW@Hr@)1~A}e&~5@ZllGb{vwnsRa7oSX+{wcQiO~1`;(1(YLT)nj9V*9>a#+V2 zurRKH!9Ox|Lfd}Pw%QX0wE8@yq-24{Y&dKt-o){uifmUKmg5%6mxnStRNQ(SCfVkXKiTcwe~FQr*`d3`EO&8dvsq^5XeR1{0g^O8r$Cr}rdyuJ6s2k1rVL9%9aEulLtyMiccniMIei zoB-9@wlM);ktvDTDK8rdp|>#-p33M?QPMlt%(d?gXPWfli?ioQCvE0vO_V-O`lmD> z@~X(s3h|(Ds@wdVCiB_lT#J-j0ky^U_o9Ek>DyHIBEp?EURM(CKAh^J&6RUb ztt!-P)P3eL&}|-L)%n2s>xw|WkJ_op36ZnRN;-#rYcxGQ9Ts7zSQWT$bL;K(UK}_L zObATpR7sr0MwA-xDGPxtjxg{z%J>|X`&#CeeY0O=4yK=LT7O|JbmR2di#>SJz({=G zIo?nsfHh3i`yx>h@gJLc)?sNbLYYr?gTu{PVxuHS0*@I&MI4&@)jK;VR>>;(R zjhI>nf6gBW0std>czNm88w*OU;~Sr)b6L&5NsHT4u^kH{rqbHT=iSFppLotARRVwi z5JVU7m<5oo-TQw(E+TnT2bxSt@0J-`AG$01<8KnjCa$ayQH6Y@98^uRw4^-Vrn|^%rrNGUB>Aybvh}~#3KwN z_Ywi7sG8Tr2u0i^zJSjtjx03?pye3UX5Su}u&?}Ic5IX;;Lz53lR$e99^7Q{4Xs7z z=tqtoRgBs#l0wOigthZFAe)KTv8Dn)&wa%IZR@c<*DyXlerx)gbwhPMEexPcYhX?Y z?jfsk2rKkdS{qN{>@l%^u5SzUI0g8VJpiE2p4N6$uzKJ5gbBRB5Ll(R`flebdHEiS z_!VGu0qViu?}Px1&W$-Y_$4ejpqEV~eHuGT$Vnp!AgzukeLVFHe z&D9G(rK~*QT6EI5M7|uIHg&v6)vMlf{DuJdY^AgMa~=QI&aUts9$F&k_o*P@H(Gqt z@RndX~0rO+Q%! zxSxH1k$pB3FK6u*-1);`qrl~dqbh^I29x>*-C{1L>?jYwdee~069OFIDLJ`GaSz}} z9Y4QPPpzm>?CtMQou0lo-T+V6Va=v$3`a!_{PI~aFm6d2U;3-e_SR#a^});j-(tl3 zo=T_+dika#C*LK*iDZPpTR@77imp01yo#9vxZRD$Q(jG^GlG_qpBwWv_vd@;lsTNu zqg|lYd$(vz0F%ModPKsUaGrqccgqc*=gSMOWl&j?&%PoPehSMW(U;~!H-nDF7nDxi z>`s(va@{4;=jSabtN+g*_t?%+{O`~2=zpC(|Ni*DF9AdR&j|lB!e8s*|7j-h{$71M b{~|ZHD~sQ;?l?ET6?`@`u{1^--FftXg=f%X diff --git a/demos/palm/python/docs-agent/docs/images/docs-agent-embeddings-02.png b/demos/palm/python/docs-agent/docs/images/docs-agent-embeddings-02.png index 6be46d0aff1ab8d34fbfa6f126e239128234fe33..7ff222efdd592a8eec6a8f6dd5880f32ec839dc8 100644 GIT binary patch literal 488676 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

-

PaLM's answer

+

Generated answer

{{ response_in_html | safe }} diff --git a/demos/palm/python/docs-agent/chroma.py b/demos/palm/python/docs-agent/chroma.py index 61d5c753d..edeb89d66 100644 --- a/demos/palm/python/docs-agent/chroma.py +++ b/demos/palm/python/docs-agent/chroma.py @@ -76,7 +76,6 @@ def get_collection(self, name, embedding_function=None, embedding_model=None): ) ) else: - print("Embedding model: " + str(embedding_model)) try: palm = PaLM(embed_model=embedding_model, find_models=False) # We cannot redefine embedding_function with def and diff --git a/demos/palm/python/docs-agent/config.yaml b/demos/palm/python/docs-agent/config.yaml index 8435b17cc..43008bde1 100644 --- a/demos/palm/python/docs-agent/config.yaml +++ b/demos/palm/python/docs-agent/config.yaml @@ -23,7 +23,8 @@ # embedding_model: The PaLM embedding model used to generate embeddings. # api_endpoint: "generativelanguage.googleapis.com" -embedding_model: "models/embedding-gecko-001" +language_model: "models/gemini-pro" +embedding_model: "models/embedding-001" ### Docs Agent environment diff --git a/demos/palm/python/docs-agent/docs_agent.py b/demos/palm/python/docs-agent/docs_agent.py index 4f7c65694..0c4dc6f99 100644 --- a/demos/palm/python/docs-agent/docs_agent.py +++ b/demos/palm/python/docs-agent/docs_agent.py @@ -34,6 +34,7 @@ # Select your PaLM API endpoint. PALM_API_ENDPOINT = "generativelanguage.googleapis.com" +LANGUAGE_MODEL = None EMBEDDING_MODEL = None # Set up the path to the chroma vector database. @@ -54,13 +55,34 @@ MODEL_ERROR_MESSAGE = config_values.returnConfigValue("model_error_message") LOG_LEVEL = config_values.returnConfigValue("log_level") PALM_API_ENDPOINT = config_values.returnConfigValue("api_endpoint") + LANGUAGE_MODEL = config_values.returnConfigValue("language_model") EMBEDDING_MODEL = config_values.returnConfigValue("embedding_model") # Select the number of contents to be used for providing context. NUM_RETURNS = 5 # Initialize the PaLM instance. -palm = PaLM(api_key=API_KEY, api_endpoint=PALM_API_ENDPOINT) +if LANGUAGE_MODEL != None and EMBEDDING_MODEL != None: + if "gemini" in LANGUAGE_MODEL: + palm = PaLM( + api_key=API_KEY, + api_endpoint=PALM_API_ENDPOINT, + content_model=LANGUAGE_MODEL, + embed_model=EMBEDDING_MODEL, + ) + else: + palm = PaLM( + api_key=API_KEY, + api_endpoint=PALM_API_ENDPOINT, + text_model=LANGUAGE_MODEL, + embed_model=EMBEDDING_MODEL, + ) +elif EMBEDDING_MODEL != None: + palm = PaLM( + api_key=API_KEY, api_endpoint=PALM_API_ENDPOINT, embed_model=EMBEDDING_MODEL + ) +else: + palm = PaLM(api_key=API_KEY, api_endpoint=PALM_API_ENDPOINT) class DocsAgent: @@ -79,8 +101,11 @@ def __init__(self): self.prompt_condition = CONDITION_TEXT self.fact_check_question = FACT_CHECK_QUESTION self.model_error_message = MODEL_ERROR_MESSAGE + # Models settings + self.language_model = LANGUAGE_MODEL + self.embedding_model = EMBEDDING_MODEL - # Use this method for talking to PaLM (Text) + # Use this method for talking to a PaLM text model def ask_text_model_with_context(self, context, question): new_prompt = f"{context}\n\nQuestion: {question}" # Print the prompt for debugging if the log level is VERBOSE. @@ -101,7 +126,22 @@ def ask_text_model_with_context(self, context, question): return self.model_error_message return response.result - # Use this method for talking to PaLM (Chat) + # Use this method for talking to a Gemini content model + def ask_content_model_with_context(self, context, question): + new_prompt = context + "\n\nQuestion: " + question + # Print the prompt for debugging if the log level is VERBOSE. + if LOG_LEVEL == "VERBOSE": + self.print_the_prompt(new_prompt) + try: + response = palm.generate_content(new_prompt) + except google.api_core.exceptions.InvalidArgument: + return self.model_error_message + for chunk in response: + if str(chunk.candidates[0].content) == "": + return self.model_error_message + return response.text + + # Use this method for talking to a PaLM chat model def ask_chat_model_with_context(self, context, question): try: response = palm.chat( @@ -116,12 +156,18 @@ def ask_chat_model_with_context(self, context, question): return self.model_error_message return response.last - # Use this method for asking PaLM (Text) for fact-checking + # Use this method for asking a PaLM text model for fact-checking def ask_text_model_to_fact_check(self, context, prev_response): question = self.fact_check_question + "\n\nText: " question += prev_response return self.ask_text_model_with_context(context, question) + # Use this method for asking a Gemini content model for fact-checking + def ask_content_model_to_fact_check(self, context, prev_response): + question = self.fact_check_question + "\n\nText: " + question += prev_response + return self.ask_content_model_with_context(context, question) + # Query the local Chroma vector database using the user question def query_vector_store(self, question): return self.collection.query(question, NUM_RETURNS) @@ -142,6 +188,14 @@ def add_custom_instruction_to_context(self, condition, context): def generate_embedding(self, text): return palm.embed(text) + # Get the name of the language model used in this Docs Agent setup + def get_language_model_name(self): + return self.language_model + + # Get the name of the embedding model used in this Docs Agent setup + def get_embedding_model_name(self): + return self.embedding_model + # Print the prompt on the terminal for debugging def print_the_prompt(self, prompt): print("#########################################") diff --git a/demos/palm/python/docs-agent/palm.py b/demos/palm/python/docs-agent/palm.py index 448001b38..ad7e1aec5 100644 --- a/demos/palm/python/docs-agent/palm.py +++ b/demos/palm/python/docs-agent/palm.py @@ -81,6 +81,7 @@ def __init__( api_endpoint=DEFAULT_ENDPOINT, chat_model=None, text_model=None, + content_model=None, embed_model=None, find_models=True, ) -> None: @@ -94,13 +95,14 @@ def __init__( self.api_endpoint = api_endpoint self.chat_model = chat_model self.text_model = text_model + self.content_model = content_model self.embed_model = embed_model # Check whether the specified models are supported supported_models = set( model.name for model in google.generativeai.list_models() ) - for model in (chat_model, text_model, embed_model): + for model in (chat_model, text_model, content_model, embed_model): if model and model not in supported_models: raise PaLMUnsupportedModelError(model, api_endpoint) @@ -108,6 +110,7 @@ def __init__( if (not find_models) or ( chat_model is not None and text_model is not None + and content_model is not None and embed_model is not None ): return @@ -116,6 +119,7 @@ def __init__( if ( self.chat_model is None and "generateMessage" in model.supported_generation_methods + and "chat" in model.name ): self.chat_model = model.name if ( @@ -124,8 +128,13 @@ def __init__( ): self.text_model = model.name if ( - self.embed_model is None - and "embedText" in model.supported_generation_methods + self.content_model is None + and "generateContent" in model.supported_generation_methods + ): + self.content_model = model.name + if self.embed_model is None and ( + "embedText" in model.supported_generation_methods + or "embedContent" in model.supported_generation_methods ): self.embed_model = model.name @@ -143,11 +152,25 @@ def generate_text(self, *args, **kwargs): raise PaLMNoModelError(func_name="generate_text", attr="text_model") return google.generativeai.generate_text(*args, model=self.text_model, **kwargs) + @sleep_and_retry + @limits(calls=MAX_TEXT_PER_MINUTE, period=MINUTE) + def generate_content(self, text): + if self.content_model is None: + raise PaLMNoModelError(func_name="generate_content", attr="content_model") + model = google.generativeai.GenerativeModel(model_name=self.content_model) + return model.generate_content(text) + @sleep_and_retry @limits(calls=MAX_EMBED_PER_MINUTE, period=MINUTE) def embed(self, text: str) -> List[float]: if self.embed_model is None: raise PaLMNoModelError(func_name="embed", attr="embed_model") - return google.generativeai.generate_embeddings( - model=self.embed_model, text=text - )["embedding"] + if self.embed_model == "models/embedding-001": + # Use the `embed_content()` method if it's the new Gemini embedding model. + return google.generativeai.embed_content( + model=self.embed_model, content=text + )["embedding"] + else: + return google.generativeai.generate_embeddings( + model=self.embed_model, text=text + )["embedding"] diff --git a/demos/palm/python/docs-agent/poetry.lock b/demos/palm/python/docs-agent/poetry.lock index 5f7f888c8..59016af74 100644 --- a/demos/palm/python/docs-agent/poetry.lock +++ b/demos/palm/python/docs-agent/poetry.lock @@ -43,17 +43,6 @@ doc = ["Sphinx", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd- test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] trio = ["trio (<0.22)"] -[[package]] -name = "appnope" -version = "0.1.3" -description = "Disable App Nap on macOS >= 10.9" -optional = false -python-versions = "*" -files = [ - {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, - {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, -] - [[package]] name = "array-record" version = "0.5.0" @@ -135,32 +124,28 @@ files = [ [[package]] name = "bcrypt" -version = "4.0.1" +version = "4.1.1" description = "Modern password hashing for your software and your servers" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, - {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, - {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, - {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, - {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, - {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, - {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, - {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, - {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, + {file = "bcrypt-4.1.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:196008d91201bbb1aa4e666fee5e610face25d532e433a560cabb33bfdff958b"}, + {file = "bcrypt-4.1.1-cp37-abi3-macosx_13_0_universal2.whl", hash = "sha256:2e197534c884336f9020c1f3a8efbaab0aa96fc798068cb2da9c671818b7fbb0"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d573885b637815a7f3a3cd5f87724d7d0822da64b0ab0aa7f7c78bae534e86dc"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab33473f973e8058d1b2df8d6e095d237c49fbf7a02b527541a86a5d1dc4444"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fb931cd004a7ad36a89789caf18a54c20287ec1cd62161265344b9c4554fdb2e"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:12f40f78dcba4aa7d1354d35acf45fae9488862a4fb695c7eeda5ace6aae273f"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2ade10e8613a3b8446214846d3ddbd56cfe9205a7d64742f0b75458c868f7492"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f33b385c3e80b5a26b3a5e148e6165f873c1c202423570fdf45fe34e00e5f3e5"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:755b9d27abcab678e0b8fb4d0abdebeea1f68dd1183b3f518bad8d31fa77d8be"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a7a7b8a87e51e5e8ca85b9fdaf3a5dc7aaf123365a09be7a27883d54b9a0c403"}, + {file = "bcrypt-4.1.1-cp37-abi3-win32.whl", hash = "sha256:3d6c4e0d6963c52f8142cdea428e875042e7ce8c84812d8e5507bd1e42534e07"}, + {file = "bcrypt-4.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:14d41933510717f98aac63378b7956bbe548986e435df173c841d7f2bd0b2de7"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24c2ebd287b5b11016f31d506ca1052d068c3f9dc817160628504690376ff050"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:476aa8e8aca554260159d4c7a97d6be529c8e177dbc1d443cb6b471e24e82c74"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:12611c4b0a8b1c461646228344784a1089bc0c49975680a2f54f516e71e9b79e"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6450538a0fc32fb7ce4c6d511448c54c4ff7640b2ed81badf9898dcb9e5b737"}, + {file = "bcrypt-4.1.1.tar.gz", hash = "sha256:df37f5418d4f1cdcff845f60e747a015389fa4e63703c918330865e06ad80007"}, ] [package.extras] @@ -187,29 +172,33 @@ lxml = ["lxml"] [[package]] name = "black" -version = "23.10.1" +version = "23.12.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.10.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:ec3f8e6234c4e46ff9e16d9ae96f4ef69fa328bb4ad08198c8cee45bb1f08c69"}, - {file = "black-23.10.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:1b917a2aa020ca600483a7b340c165970b26e9029067f019e3755b56e8dd5916"}, - {file = "black-23.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c74de4c77b849e6359c6f01987e94873c707098322b91490d24296f66d067dc"}, - {file = "black-23.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4d10b0f016616a0d93d24a448100adf1699712fb7a4efd0e2c32bbb219b173"}, - {file = "black-23.10.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b15b75fc53a2fbcac8a87d3e20f69874d161beef13954747e053bca7a1ce53a0"}, - {file = "black-23.10.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:e293e4c2f4a992b980032bbd62df07c1bcff82d6964d6c9496f2cd726e246ace"}, - {file = "black-23.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d56124b7a61d092cb52cce34182a5280e160e6aff3137172a68c2c2c4b76bcb"}, - {file = "black-23.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f157a8945a7b2d424da3335f7ace89c14a3b0625e6593d21139c2d8214d55ce"}, - {file = "black-23.10.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:cfcce6f0a384d0da692119f2d72d79ed07c7159879d0bb1bb32d2e443382bf3a"}, - {file = "black-23.10.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:33d40f5b06be80c1bbce17b173cda17994fbad096ce60eb22054da021bf933d1"}, - {file = "black-23.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:840015166dbdfbc47992871325799fd2dc0dcf9395e401ada6d88fe11498abad"}, - {file = "black-23.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:037e9b4664cafda5f025a1728c50a9e9aedb99a759c89f760bd83730e76ba884"}, - {file = "black-23.10.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:7cb5936e686e782fddb1c73f8aa6f459e1ad38a6a7b0e54b403f1f05a1507ee9"}, - {file = "black-23.10.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:7670242e90dc129c539e9ca17665e39a146a761e681805c54fbd86015c7c84f7"}, - {file = "black-23.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed45ac9a613fb52dad3b61c8dea2ec9510bf3108d4db88422bacc7d1ba1243d"}, - {file = "black-23.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6d23d7822140e3fef190734216cefb262521789367fbdc0b3f22af6744058982"}, - {file = "black-23.10.1-py3-none-any.whl", hash = "sha256:d431e6739f727bb2e0495df64a6c7a5310758e87505f5f8cde9ff6c0f2d7e4fe"}, - {file = "black-23.10.1.tar.gz", hash = "sha256:1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258"}, + {file = "black-23.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67f19562d367468ab59bd6c36a72b2c84bc2f16b59788690e02bbcb140a77175"}, + {file = "black-23.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bbd75d9f28a7283b7426160ca21c5bd640ca7cd8ef6630b4754b6df9e2da8462"}, + {file = "black-23.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:593596f699ca2dcbbbdfa59fcda7d8ad6604370c10228223cd6cf6ce1ce7ed7e"}, + {file = "black-23.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:12d5f10cce8dc27202e9a252acd1c9a426c83f95496c959406c96b785a92bb7d"}, + {file = "black-23.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e73c5e3d37e5a3513d16b33305713237a234396ae56769b839d7c40759b8a41c"}, + {file = "black-23.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba09cae1657c4f8a8c9ff6cfd4a6baaf915bb4ef7d03acffe6a2f6585fa1bd01"}, + {file = "black-23.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace64c1a349c162d6da3cef91e3b0e78c4fc596ffde9413efa0525456148873d"}, + {file = "black-23.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:72db37a2266b16d256b3ea88b9affcdd5c41a74db551ec3dd4609a59c17d25bf"}, + {file = "black-23.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fdf6f23c83078a6c8da2442f4d4eeb19c28ac2a6416da7671b72f0295c4a697b"}, + {file = "black-23.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39dda060b9b395a6b7bf9c5db28ac87b3c3f48d4fdff470fa8a94ab8271da47e"}, + {file = "black-23.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7231670266ca5191a76cb838185d9be59cfa4f5dd401b7c1c70b993c58f6b1b5"}, + {file = "black-23.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:193946e634e80bfb3aec41830f5d7431f8dd5b20d11d89be14b84a97c6b8bc75"}, + {file = "black-23.12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcf91b01ddd91a2fed9a8006d7baa94ccefe7e518556470cf40213bd3d44bbbc"}, + {file = "black-23.12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:996650a89fe5892714ea4ea87bc45e41a59a1e01675c42c433a35b490e5aa3f0"}, + {file = "black-23.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdbff34c487239a63d86db0c9385b27cdd68b1bfa4e706aa74bb94a435403672"}, + {file = "black-23.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:97af22278043a6a1272daca10a6f4d36c04dfa77e61cbaaf4482e08f3640e9f0"}, + {file = "black-23.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ead25c273adfad1095a8ad32afdb8304933efba56e3c1d31b0fee4143a1e424a"}, + {file = "black-23.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c71048345bdbced456cddf1622832276d98a710196b842407840ae8055ade6ee"}, + {file = "black-23.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a832b6e00eef2c13b3239d514ea3b7d5cc3eaa03d0474eedcbbda59441ba5d"}, + {file = "black-23.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:6a82a711d13e61840fb11a6dfecc7287f2424f1ca34765e70c909a35ffa7fb95"}, + {file = "black-23.12.0-py3-none-any.whl", hash = "sha256:a7c07db8200b5315dc07e331dda4d889a56f6bf4db6a9c2a526fa3166a81614f"}, + {file = "black-23.12.0.tar.gz", hash = "sha256:330a327b422aca0634ecd115985c1c7fd7bdb5b5a2ef8aa9888a82e2ebe9437a"}, ] [package.dependencies] @@ -223,7 +212,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -251,13 +240,13 @@ files = [ [[package]] name = "certifi" -version = "2023.7.22" +version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, ] [[package]] @@ -361,13 +350,13 @@ files = [ [[package]] name = "chex" -version = "0.1.84" +version = "0.1.85" description = "Chex: Testing made fun, in JAX!" optional = false python-versions = ">=3.9" files = [ - {file = "chex-0.1.84-py3-none-any.whl", hash = "sha256:a41603ed1a3c1d59c15aa017238b36b2437c82ef0a69d5bc4b1140fb32610ea5"}, - {file = "chex-0.1.84.tar.gz", hash = "sha256:380ebf7a57ec65311656e1924261ba4c5c4860c5f9f5f71b906de3279f46b451"}, + {file = "chex-0.1.85-py3-none-any.whl", hash = "sha256:32c96719aa94045339174138a6aec14aed2630a8a17fb2633ad3eb868890551d"}, + {file = "chex-0.1.85.tar.gz", hash = "sha256:a27cfe87119d6e1fe24ccc1438a59195e6dc1d6e0e10099fcf618c3f64771faf"}, ] [package.dependencies] @@ -698,13 +687,13 @@ files = [ [[package]] name = "etils" -version = "1.5.2" +version = "1.6.0" description = "Collection of common python utils" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "etils-1.5.2-py3-none-any.whl", hash = "sha256:6dc882d355e1e98a5d1a148d6323679dc47c9a5792939b9de72615aa4737eb0b"}, - {file = "etils-1.5.2.tar.gz", hash = "sha256:ba6a3e1aff95c769130776aa176c11540637f5dd881f3b79172a5149b6b1c446"}, + {file = "etils-1.6.0-py3-none-any.whl", hash = "sha256:3da192b057929f2511f9ef713cee7d9c498e741740f8b2a9c0f6392d787201d4"}, + {file = "etils-1.6.0.tar.gz", hash = "sha256:c635fbd02a79fed4ad76825d31306b581d22b40671721daa8bc279cf6333e48a"}, ] [package.dependencies] @@ -720,7 +709,7 @@ array-types = ["etils[enp]"] dev = ["chex", "dataclass_array", "optree", "pyink", "pylint (>=2.6.0)", "pytest", "pytest-subtests", "pytest-xdist", "torch"] docs = ["etils[all,dev]", "sphinx-apitree[ext]"] eapp = ["absl-py", "etils[epy]", "simple_parsing"] -ecolab = ["etils[enp]", "etils[epy]", "jupyter", "mediapy", "numpy", "packaging"] +ecolab = ["etils[enp]", "etils[epy]", "etils[etree]", "jupyter", "mediapy", "numpy", "packaging", "protobuf"] edc = ["etils[epy]"] enp = ["etils[epy]", "numpy"] epath = ["etils[epy]", "fsspec", "importlib_resources", "typing_extensions", "zipp"] @@ -736,13 +725,13 @@ lazy-imports = ["etils[ecolab]"] [[package]] name = "exceptiongroup" -version = "1.1.3" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -764,13 +753,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "fastapi" -version = "0.104.1" +version = "0.105.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" optional = false python-versions = ">=3.8" files = [ - {file = "fastapi-0.104.1-py3-none-any.whl", hash = "sha256:752dc31160cdbd0436bb93bad51560b57e525cbb1d4bbf6f4904ceee75548241"}, - {file = "fastapi-0.104.1.tar.gz", hash = "sha256:e5e4540a7c5e1dcfbbcf5b903c234feddcdcd881f191977a1c5dfd917487e7ae"}, + {file = "fastapi-0.105.0-py3-none-any.whl", hash = "sha256:f19ebf6fdc82a3281d10f2cb4774bdfa90238e3b40af3525a0c09fd08ad1c480"}, + {file = "fastapi-0.105.0.tar.gz", hash = "sha256:4d12838819aa52af244580675825e750ad67c9df4614f557a769606af902cf22"}, ] [package.dependencies] @@ -887,13 +876,13 @@ testing = ["black[jupyter] (==23.7.0)", "clu", "clu (<=0.0.9)", "einops", "gymna [[package]] name = "fsspec" -version = "2023.10.0" +version = "2023.12.2" description = "File-system specification" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"}, - {file = "fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"}, + {file = "fsspec-2023.12.2-py3-none-any.whl", hash = "sha256:d800d87f72189a745fa3d6b033b9dc4a34ad069f60ca60b943a63599f5501960"}, + {file = "fsspec-2023.12.2.tar.gz", hash = "sha256:8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb"}, ] [package.extras] @@ -933,32 +922,29 @@ files = [ [[package]] name = "google-ai-generativelanguage" -version = "0.2.0" +version = "0.4.0" description = "Google Ai Generativelanguage API client library" optional = false python-versions = ">=3.7" files = [ - {file = "google-ai-generativelanguage-0.2.0.tar.gz", hash = "sha256:4d5440a7df7f495f016e5ccd4d9903514264392b240c40d40d28a1356bd9fad3"}, - {file = "google_ai_generativelanguage-0.2.0-py3-none-any.whl", hash = "sha256:1a82949622da9fbdfbcf10c65084d3789b671fec231ba2a5b2ede3392ebbfeb5"}, + {file = "google-ai-generativelanguage-0.4.0.tar.gz", hash = "sha256:c8199066c08f74c4e91290778329bb9f357ba1ea5d6f82de2bc0d10552bf4f8c"}, + {file = "google_ai_generativelanguage-0.4.0-py3-none-any.whl", hash = "sha256:e4c425376c1ee26c78acbc49a24f735f90ebfa81bf1a06495fae509a2433232c"}, ] [package.dependencies] google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} -proto-plus = [ - {version = ">=1.22.2,<2.0.0dev", markers = "python_version >= \"3.11\""}, - {version = ">=1.22.0,<2.0.0dev", markers = "python_version < \"3.11\""}, -] +proto-plus = ">=1.22.3,<2.0.0dev" protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" [[package]] name = "google-api-core" -version = "2.12.0" +version = "2.15.0" description = "Google API client core library" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-core-2.12.0.tar.gz", hash = "sha256:c22e01b1e3c4dcd90998494879612c38d0a3411d1f7b679eb89e2abe3ce1f553"}, - {file = "google_api_core-2.12.0-py3-none-any.whl", hash = "sha256:ec6054f7d64ad13b41e43d96f735acbd763b0f3b695dabaa2d579673f6a6e160"}, + {file = "google-api-core-2.15.0.tar.gz", hash = "sha256:abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca"}, + {file = "google_api_core-2.15.0-py3-none-any.whl", hash = "sha256:2aa56d2be495551e66bbff7f729b790546f87d5c90e74781aa77233bcb395a8a"}, ] [package.dependencies] @@ -982,13 +968,13 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-auth" -version = "2.23.4" +version = "2.25.2" description = "Google Authentication Library" optional = false python-versions = ">=3.7" files = [ - {file = "google-auth-2.23.4.tar.gz", hash = "sha256:79905d6b1652187def79d491d6e23d0cbb3a21d3c7ba0dbaa9c8a01906b13ff3"}, - {file = "google_auth-2.23.4-py2.py3-none-any.whl", hash = "sha256:d4bbc92fe4b8bfd2f3e8d88e5ba7085935da208ee38a134fc280e7ce682a05f2"}, + {file = "google-auth-2.25.2.tar.gz", hash = "sha256:42f707937feb4f5e5a39e6c4f343a17300a459aaf03141457ba505812841cc40"}, + {file = "google_auth-2.25.2-py2.py3-none-any.whl", hash = "sha256:473a8dfd0135f75bb79d878436e568f2695dce456764bf3a02b6f8c540b1d256"}, ] [package.dependencies] @@ -1023,19 +1009,23 @@ tool = ["click (>=6.0.0)"] [[package]] name = "google-generativeai" -version = "0.1.0" +version = "0.3.1" description = "Google Generative AI High level API client library and tools." optional = false python-versions = ">=3.9" files = [ - {file = "google_generativeai-0.1.0-py3-none-any.whl", hash = "sha256:1cdfbef1bfc280a56172c48f480b71665122796f9f98f464e7918b840cc80c07"}, + {file = "google_generativeai-0.3.1-py3-none-any.whl", hash = "sha256:800ec6041ca537b897d7ba654f4125651c64b38506f2bfce3b464370e3333a1b"}, ] [package.dependencies] -google-ai-generativelanguage = "0.2.0" +google-ai-generativelanguage = "0.4.0" +google-api-core = "*" +google-auth = "*" +protobuf = "*" +tqdm = "*" [package.extras] -dev = ["absl-py", "asynctest", "black", "nose2", "pandas", "pytype", "pyyaml"] +dev = ["Pillow", "absl-py", "black", "ipython", "nose2", "pandas", "pytype", "pyyaml"] [[package]] name = "google-pasta" @@ -1054,13 +1044,13 @@ six = "*" [[package]] name = "googleapis-common-protos" -version = "1.61.0" +version = "1.62.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" files = [ - {file = "googleapis-common-protos-1.61.0.tar.gz", hash = "sha256:8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b"}, - {file = "googleapis_common_protos-1.61.0-py2.py3-none-any.whl", hash = "sha256:22f1915393bb3245343f6efe87f6fe868532efc12aa26b391b15132e1279f1c0"}, + {file = "googleapis-common-protos-1.62.0.tar.gz", hash = "sha256:83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277"}, + {file = "googleapis_common_protos-1.62.0-py2.py3-none-any.whl", hash = "sha256:4750113612205514f9f6aa4cb00d523a94f3e8c06c5ad2fee466387dc4875f07"}, ] [package.dependencies] @@ -1071,151 +1061,151 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] [[package]] name = "grpcio" -version = "1.59.2" +version = "1.60.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-1.59.2-cp310-cp310-linux_armv7l.whl", hash = "sha256:d2fa68a96a30dd240be80bbad838a0ac81a61770611ff7952b889485970c4c71"}, - {file = "grpcio-1.59.2-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:cf0dead5a2c5a3347af2cfec7131d4f2a2e03c934af28989c9078f8241a491fa"}, - {file = "grpcio-1.59.2-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:e420ced29b5904cdf9ee5545e23f9406189d8acb6750916c2db4793dada065c6"}, - {file = "grpcio-1.59.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b230028a008ae1d0f430acb227d323ff8a619017415cf334c38b457f814119f"}, - {file = "grpcio-1.59.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4a3833c0e067f3558538727235cd8a49709bff1003200bbdefa2f09334e4b1"}, - {file = "grpcio-1.59.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6b25ed37c27e652db01be341af93fbcea03d296c024d8a0e680017a268eb85dd"}, - {file = "grpcio-1.59.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73abb8584b0cf74d37f5ef61c10722adc7275502ab71789a8fe3cb7ef04cf6e2"}, - {file = "grpcio-1.59.2-cp310-cp310-win32.whl", hash = "sha256:d6f70406695e3220f09cd7a2f879333279d91aa4a8a1d34303b56d61a8180137"}, - {file = "grpcio-1.59.2-cp310-cp310-win_amd64.whl", hash = "sha256:3c61d641d4f409c5ae46bfdd89ea42ce5ea233dcf69e74ce9ba32b503c727e29"}, - {file = "grpcio-1.59.2-cp311-cp311-linux_armv7l.whl", hash = "sha256:3059668df17627f0e0fa680e9ef8c995c946c792612e9518f5cc1503be14e90b"}, - {file = "grpcio-1.59.2-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:72ca2399097c0b758198f2ff30f7178d680de8a5cfcf3d9b73a63cf87455532e"}, - {file = "grpcio-1.59.2-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:c978f864b35f2261e0819f5cd88b9830b04dc51bcf055aac3c601e525a10d2ba"}, - {file = "grpcio-1.59.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9411e24328a2302e279e70cae6e479f1fddde79629fcb14e03e6d94b3956eabf"}, - {file = "grpcio-1.59.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb7e0fe6ad73b7f06d7e2b689c19a71cf5cc48f0c2bf8608469e51ffe0bd2867"}, - {file = "grpcio-1.59.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c2504eed520958a5b77cc99458297cb7906308cb92327f35fb7fbbad4e9b2188"}, - {file = "grpcio-1.59.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2171c39f355ba5b551c5d5928d65aa6c69807fae195b86ef4a7d125bcdb860a9"}, - {file = "grpcio-1.59.2-cp311-cp311-win32.whl", hash = "sha256:d2794f0e68b3085d99b4f6ff9c089f6fdd02b32b9d3efdfbb55beac1bf22d516"}, - {file = "grpcio-1.59.2-cp311-cp311-win_amd64.whl", hash = "sha256:2067274c88bc6de89c278a672a652b4247d088811ece781a4858b09bdf8448e3"}, - {file = "grpcio-1.59.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:535561990e075fa6bd4b16c4c3c1096b9581b7bb35d96fac4650f1181e428268"}, - {file = "grpcio-1.59.2-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:a213acfbf186b9f35803b52e4ca9addb153fc0b67f82a48f961be7000ecf6721"}, - {file = "grpcio-1.59.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:6959fb07e8351e20501ffb8cc4074c39a0b7ef123e1c850a7f8f3afdc3a3da01"}, - {file = "grpcio-1.59.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e82c5cf1495244adf5252f925ac5932e5fd288b3e5ab6b70bec5593074b7236c"}, - {file = "grpcio-1.59.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023088764012411affe7db183d1ada3ad9daf2e23ddc719ff46d7061de661340"}, - {file = "grpcio-1.59.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:da2d94c15f88cd40d7e67f7919d4f60110d2b9d5b1e08cf354c2be773ab13479"}, - {file = "grpcio-1.59.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:6009386a2df66159f64ac9f20425ae25229b29b9dd0e1d3dd60043f037e2ad7e"}, - {file = "grpcio-1.59.2-cp312-cp312-win32.whl", hash = "sha256:75c6ecb70e809cf1504465174343113f51f24bc61e22a80ae1c859f3f7034c6d"}, - {file = "grpcio-1.59.2-cp312-cp312-win_amd64.whl", hash = "sha256:cbe946b3e6e60a7b4618f091e62a029cb082b109a9d6b53962dd305087c6e4fd"}, - {file = "grpcio-1.59.2-cp37-cp37m-linux_armv7l.whl", hash = "sha256:f8753a6c88d1d0ba64302309eecf20f70d2770f65ca02d83c2452279085bfcd3"}, - {file = "grpcio-1.59.2-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:f1ef0d39bc1feb420caf549b3c657c871cad4ebbcf0580c4d03816b0590de0cf"}, - {file = "grpcio-1.59.2-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:4c93f4abbb54321ee6471e04a00139c80c754eda51064187963ddf98f5cf36a4"}, - {file = "grpcio-1.59.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:08d77e682f2bf730a4961eea330e56d2f423c6a9b91ca222e5b1eb24a357b19f"}, - {file = "grpcio-1.59.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff16d68bf453275466a9a46739061a63584d92f18a0f5b33d19fc97eb69867c"}, - {file = "grpcio-1.59.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4abb717e320e74959517dc8e84a9f48fbe90e9abe19c248541e9418b1ce60acd"}, - {file = "grpcio-1.59.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:36f53c2b3449c015880e7d55a89c992c357f176327b0d2873cdaaf9628a37c69"}, - {file = "grpcio-1.59.2-cp37-cp37m-win_amd64.whl", hash = "sha256:cc3e4cd087f07758b16bef8f31d88dbb1b5da5671d2f03685ab52dece3d7a16e"}, - {file = "grpcio-1.59.2-cp38-cp38-linux_armv7l.whl", hash = "sha256:27f879ae604a7fcf371e59fba6f3ff4635a4c2a64768bd83ff0cac503142fef4"}, - {file = "grpcio-1.59.2-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:7cf05053242f61ba94014dd3a986e11a083400a32664058f80bf4cf817c0b3a1"}, - {file = "grpcio-1.59.2-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:e1727c1c0e394096bb9af185c6923e8ea55a5095b8af44f06903bcc0e06800a2"}, - {file = "grpcio-1.59.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d573e70a6fe77555fb6143c12d3a7d3fa306632a3034b4e7c59ca09721546f8"}, - {file = "grpcio-1.59.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31176aa88f36020055ace9adff2405a33c8bdbfa72a9c4980e25d91b2f196873"}, - {file = "grpcio-1.59.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:11168ef43e4a43ff1b1a65859f3e0ef1a173e277349e7fb16923ff108160a8cd"}, - {file = "grpcio-1.59.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:53c9aa5ddd6857c0a1cd0287225a2a25873a8e09727c2e95c4aebb1be83a766a"}, - {file = "grpcio-1.59.2-cp38-cp38-win32.whl", hash = "sha256:3b4368b33908f683a363f376dfb747d40af3463a6e5044afee07cf9436addf96"}, - {file = "grpcio-1.59.2-cp38-cp38-win_amd64.whl", hash = "sha256:0a754aff9e3af63bdc4c75c234b86b9d14e14a28a30c4e324aed1a9b873d755f"}, - {file = "grpcio-1.59.2-cp39-cp39-linux_armv7l.whl", hash = "sha256:1f9524d1d701e399462d2c90ba7c193e49d1711cf429c0d3d97c966856e03d00"}, - {file = "grpcio-1.59.2-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:f93dbf58f03146164048be5426ffde298b237a5e059144847e4940f5b80172c3"}, - {file = "grpcio-1.59.2-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:6da6dea3a1bacf99b3c2187e296db9a83029ed9c38fd4c52b7c9b7326d13c828"}, - {file = "grpcio-1.59.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5f09cffa619adfb44799fa4a81c2a1ad77c887187613fb0a8f201ab38d89ba1"}, - {file = "grpcio-1.59.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c35aa9657f5d5116d23b934568e0956bd50c615127810fffe3ac356a914c176a"}, - {file = "grpcio-1.59.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:74100fecaec8a535e380cf5f2fb556ff84957d481c13e54051c52e5baac70541"}, - {file = "grpcio-1.59.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:128e20f57c5f27cb0157e73756d1586b83c1b513ebecc83ea0ac37e4b0e4e758"}, - {file = "grpcio-1.59.2-cp39-cp39-win32.whl", hash = "sha256:686e975a5d16602dc0982c7c703948d17184bd1397e16c8ee03511ecb8c4cdda"}, - {file = "grpcio-1.59.2-cp39-cp39-win_amd64.whl", hash = "sha256:242adc47725b9a499ee77c6a2e36688fa6c96484611f33b1be4c57ab075a92dd"}, - {file = "grpcio-1.59.2.tar.gz", hash = "sha256:d8f9cd4ad1be90b0cf350a2f04a38a36e44a026cac1e036ac593dc48efe91d52"}, + {file = "grpcio-1.60.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:d020cfa595d1f8f5c6b343530cd3ca16ae5aefdd1e832b777f9f0eb105f5b139"}, + {file = "grpcio-1.60.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:b98f43fcdb16172dec5f4b49f2fece4b16a99fd284d81c6bbac1b3b69fcbe0ff"}, + {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:20e7a4f7ded59097c84059d28230907cd97130fa74f4a8bfd1d8e5ba18c81491"}, + {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452ca5b4afed30e7274445dd9b441a35ece656ec1600b77fff8c216fdf07df43"}, + {file = "grpcio-1.60.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43e636dc2ce9ece583b3e2ca41df5c983f4302eabc6d5f9cd04f0562ee8ec1ae"}, + {file = "grpcio-1.60.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e306b97966369b889985a562ede9d99180def39ad42c8014628dd3cc343f508"}, + {file = "grpcio-1.60.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f897c3b127532e6befdcf961c415c97f320d45614daf84deba0a54e64ea2457b"}, + {file = "grpcio-1.60.0-cp310-cp310-win32.whl", hash = "sha256:b87efe4a380887425bb15f220079aa8336276398dc33fce38c64d278164f963d"}, + {file = "grpcio-1.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:a9c7b71211f066908e518a2ef7a5e211670761651039f0d6a80d8d40054047df"}, + {file = "grpcio-1.60.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:fb464479934778d7cc5baf463d959d361954d6533ad34c3a4f1d267e86ee25fd"}, + {file = "grpcio-1.60.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:4b44d7e39964e808b071714666a812049765b26b3ea48c4434a3b317bac82f14"}, + {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:90bdd76b3f04bdb21de5398b8a7c629676c81dfac290f5f19883857e9371d28c"}, + {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91229d7203f1ef0ab420c9b53fe2ca5c1fbeb34f69b3bc1b5089466237a4a134"}, + {file = "grpcio-1.60.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b36a2c6d4920ba88fa98075fdd58ff94ebeb8acc1215ae07d01a418af4c0253"}, + {file = "grpcio-1.60.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:297eef542156d6b15174a1231c2493ea9ea54af8d016b8ca7d5d9cc65cfcc444"}, + {file = "grpcio-1.60.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:87c9224acba0ad8bacddf427a1c2772e17ce50b3042a789547af27099c5f751d"}, + {file = "grpcio-1.60.0-cp311-cp311-win32.whl", hash = "sha256:95ae3e8e2c1b9bf671817f86f155c5da7d49a2289c5cf27a319458c3e025c320"}, + {file = "grpcio-1.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:467a7d31554892eed2aa6c2d47ded1079fc40ea0b9601d9f79204afa8902274b"}, + {file = "grpcio-1.60.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:a7152fa6e597c20cb97923407cf0934e14224af42c2b8d915f48bc3ad2d9ac18"}, + {file = "grpcio-1.60.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:7db16dd4ea1b05ada504f08d0dca1cd9b926bed3770f50e715d087c6f00ad748"}, + {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:b0571a5aef36ba9177e262dc88a9240c866d903a62799e44fd4aae3f9a2ec17e"}, + {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fd9584bf1bccdfff1512719316efa77be235469e1e3295dce64538c4773840b"}, + {file = "grpcio-1.60.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6a478581b1a1a8fdf3318ecb5f4d0cda41cacdffe2b527c23707c9c1b8fdb55"}, + {file = "grpcio-1.60.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:77c8a317f0fd5a0a2be8ed5cbe5341537d5c00bb79b3bb27ba7c5378ba77dbca"}, + {file = "grpcio-1.60.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1c30bb23a41df95109db130a6cc1b974844300ae2e5d68dd4947aacba5985aa5"}, + {file = "grpcio-1.60.0-cp312-cp312-win32.whl", hash = "sha256:2aef56e85901c2397bd557c5ba514f84de1f0ae5dd132f5d5fed042858115951"}, + {file = "grpcio-1.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:e381fe0c2aa6c03b056ad8f52f8efca7be29fb4d9ae2f8873520843b6039612a"}, + {file = "grpcio-1.60.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:92f88ca1b956eb8427a11bb8b4a0c0b2b03377235fc5102cb05e533b8693a415"}, + {file = "grpcio-1.60.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:e278eafb406f7e1b1b637c2cf51d3ad45883bb5bd1ca56bc05e4fc135dfdaa65"}, + {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:a48edde788b99214613e440fce495bbe2b1e142a7f214cce9e0832146c41e324"}, + {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de2ad69c9a094bf37c1102b5744c9aec6cf74d2b635558b779085d0263166454"}, + {file = "grpcio-1.60.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073f959c6f570797272f4ee9464a9997eaf1e98c27cb680225b82b53390d61e6"}, + {file = "grpcio-1.60.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c826f93050c73e7769806f92e601e0efdb83ec8d7c76ddf45d514fee54e8e619"}, + {file = "grpcio-1.60.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9e30be89a75ee66aec7f9e60086fadb37ff8c0ba49a022887c28c134341f7179"}, + {file = "grpcio-1.60.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b0fb2d4801546598ac5cd18e3ec79c1a9af8b8f2a86283c55a5337c5aeca4b1b"}, + {file = "grpcio-1.60.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:9073513ec380434eb8d21970e1ab3161041de121f4018bbed3146839451a6d8e"}, + {file = "grpcio-1.60.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:74d7d9fa97809c5b892449b28a65ec2bfa458a4735ddad46074f9f7d9550ad13"}, + {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:1434ca77d6fed4ea312901122dc8da6c4389738bf5788f43efb19a838ac03ead"}, + {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e61e76020e0c332a98290323ecfec721c9544f5b739fab925b6e8cbe1944cf19"}, + {file = "grpcio-1.60.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675997222f2e2f22928fbba640824aebd43791116034f62006e19730715166c0"}, + {file = "grpcio-1.60.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5208a57eae445ae84a219dfd8b56e04313445d146873117b5fa75f3245bc1390"}, + {file = "grpcio-1.60.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:428d699c8553c27e98f4d29fdc0f0edc50e9a8a7590bfd294d2edb0da7be3629"}, + {file = "grpcio-1.60.0-cp38-cp38-win32.whl", hash = "sha256:83f2292ae292ed5a47cdcb9821039ca8e88902923198f2193f13959360c01860"}, + {file = "grpcio-1.60.0-cp38-cp38-win_amd64.whl", hash = "sha256:705a68a973c4c76db5d369ed573fec3367d7d196673fa86614b33d8c8e9ebb08"}, + {file = "grpcio-1.60.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:c193109ca4070cdcaa6eff00fdb5a56233dc7610216d58fb81638f89f02e4968"}, + {file = "grpcio-1.60.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:676e4a44e740deaba0f4d95ba1d8c5c89a2fcc43d02c39f69450b1fa19d39590"}, + {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5ff21e000ff2f658430bde5288cb1ac440ff15c0d7d18b5fb222f941b46cb0d2"}, + {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c86343cf9ff7b2514dd229bdd88ebba760bd8973dac192ae687ff75e39ebfab"}, + {file = "grpcio-1.60.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fd3b3968ffe7643144580f260f04d39d869fcc2cddb745deef078b09fd2b328"}, + {file = "grpcio-1.60.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:30943b9530fe3620e3b195c03130396cd0ee3a0d10a66c1bee715d1819001eaf"}, + {file = "grpcio-1.60.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b10241250cb77657ab315270b064a6c7f1add58af94befa20687e7c8d8603ae6"}, + {file = "grpcio-1.60.0-cp39-cp39-win32.whl", hash = "sha256:79a050889eb8d57a93ed21d9585bb63fca881666fc709f5d9f7f9372f5e7fd03"}, + {file = "grpcio-1.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:8a97a681e82bc11a42d4372fe57898d270a2707f36c45c6676e49ce0d5c41353"}, + {file = "grpcio-1.60.0.tar.gz", hash = "sha256:2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.59.2)"] +protobuf = ["grpcio-tools (>=1.60.0)"] [[package]] name = "grpcio-status" -version = "1.59.2" +version = "1.60.0" description = "Status proto mapping for gRPC" optional = false python-versions = ">=3.6" files = [ - {file = "grpcio-status-1.59.2.tar.gz", hash = "sha256:a2c2b146e66b73ba80d021ab34fce5db4dd9be67ca4566cda40d36b185ce54f4"}, - {file = "grpcio_status-1.59.2-py3-none-any.whl", hash = "sha256:24bdf3b3b83b9112f43bd0626f82510d12cc1d919a45028ac20eb6919218e508"}, + {file = "grpcio-status-1.60.0.tar.gz", hash = "sha256:f10e0b6db3adc0fdc244b71962814ee982996ef06186446b5695b9fa635aa1ab"}, + {file = "grpcio_status-1.60.0-py3-none-any.whl", hash = "sha256:7d383fa36e59c1e61d380d91350badd4d12ac56e4de2c2b831b050362c3c572e"}, ] [package.dependencies] googleapis-common-protos = ">=1.5.5" -grpcio = ">=1.59.2" +grpcio = ">=1.60.0" protobuf = ">=4.21.6" [[package]] name = "grpcio-tools" -version = "1.59.2" +version = "1.60.0" description = "Protobuf code generator for gRPC" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-tools-1.59.2.tar.gz", hash = "sha256:75905266cf90f1866b322575c2edcd4b36532c33fc512bb1b380dc58d84b1030"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-linux_armv7l.whl", hash = "sha256:9b2885c0e2c9a97bde33497a919032afbd8b5c6dc2f8d4dd4198e77226e0de05"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2f410375830a9bb7140a07da4d75bf380e0958377bed50d77d1dae302de4314e"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:e21fc172522d2dda815223a359b2aca9bc317a1b5e5dea5a58cd5079333af133"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:072a7ce979ea4f7579c3c99fcbde3d1882c3d1942a3b51d159f67af83b714cd8"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b38f8edb2909702c2478b52f6213982c21e4f66f739ac953b91f97863ba2c06a"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:12fdee2de80d83eadb1294e0f8a0cb6cefcd2e4988ed680038ab09cd04361ee4"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a3cb707da722a0b6c4021fc2cc1c005a8d4037d8ad0252f93df318b9b8a6b4f3"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-win32.whl", hash = "sha256:ec2fbb02ebb9f2ae1b1c69cccf913dee8c41f5acad94014d3ce11b53720376e3"}, - {file = "grpcio_tools-1.59.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0dc271a200dbab6547b2c73fcbdb7efe94c31cb633aa20d073f7cf4493493e1"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-linux_armv7l.whl", hash = "sha256:d634b65cc8ee769edccf1647d8a16861a27e0d8cbd787c711168d2c5e9bddbd1"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:b0b712acec00a9cbc2204c271d638062a2cb8ce74f25d158b023ff6e93182659"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:dd5c78f8e7c6e721b9009c92481a0e3b30a9926ef721120723a03b8a34a34fb9"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:724f4f0eecc17fa66216eebfff145631070f04ed7fb4ddf7a7d1c4f954ecc2a1"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77ec33ddee691e60511e2a7c793aad4cf172ae20e08d95c786cbba395f6203a7"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fa1b9dee7811fad081816e884d063c4dd4946dba61aa54243b4c76c311090c48"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ba8dba19e7b2b6f7369004533866f222ba483b9e14d2d152ecf9339c0df1283a"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-win32.whl", hash = "sha256:df35d145bc2f6e5f57b74cb69f66526675a5f2dcf7d54617ce0deff0c82cca0a"}, - {file = "grpcio_tools-1.59.2-cp311-cp311-win_amd64.whl", hash = "sha256:99ddc0f5304071a355c261ae49ea5d29b9e9b6dcf422dfc55ada70a243e27e8f"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:670f5889853215999eb3511a623dd7dff01b1ce1a64610d13366e0fd337f8c79"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:1e949e66d4555ce319fd7acef90df625138078d8729c4dc6f6a9f05925034433"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:09d809ca88999b2578119683f9f0f6a9b42de95ea21550852114a1540b6a642c"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db0925545180223fabd6da9b34513efac83aa16673ef8b1cb0cc678e8cf0923c"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2ccb59dfbf2ebd668a5a7c4b7bb2b859859641d2b199114b557cd045aac6102"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:12cc7698fad48866f68fdef831685cb31ef5814ac605d248c4e5fc964a6fb3f6"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:55c401599d5093c4cfa83b8f0ee9757b4d6d3029b10bd67be2cffeada7a44961"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-win32.whl", hash = "sha256:896f5cdf58f658025a4f7e4ea96c81183b4b6a4b1b4d92ae66d112ac91f062f1"}, - {file = "grpcio_tools-1.59.2-cp312-cp312-win_amd64.whl", hash = "sha256:b53db1523015a3acda75722357df6c94afae37f6023800c608e09a5c05393804"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-linux_armv7l.whl", hash = "sha256:d08b398509ea4d544bcecddd9a21f59dc556396916c3915904cac206af2db72b"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:09749e832e06493841000275248b031f7154665900d1e1b0e42fc17a64bf904d"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:e972746000aa192521715f776fab617a3437bed29e90fe0e0fd0d0d6f498d7d4"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cbeeb3d8ec4cb25c92e17bfbdcef3c3669e85c5ee787a6e581cb942bc0ae2b88"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed8e6632d8d839456332d97b96db10bd2dbf3078e728d063394ac2d54597ad80"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:531f87c8e884c6a2e58f040039dfbfe997a4e33baa58f7c7d9993db37b1f5ad0"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:feca316e17cfead823af6eae0fc20c0d5299a94d71cfb7531a0e92d050a5fb2f"}, - {file = "grpcio_tools-1.59.2-cp37-cp37m-win_amd64.whl", hash = "sha256:41b5dd6a06c2563ac3b3adda6d875b15e63eb7b1629e85fc9af608c3a76c4c82"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-linux_armv7l.whl", hash = "sha256:7ec536cdae870a74080c665cfb1dca8d0784a931aa3c26376ef971a3a51b59d4"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:9c106ebbed0db446f59f0efe5c3fce33a0a21bf75b392966585e4b5934891b92"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:32141ef309543a446337e934f0b7a2565a6fca890ff4e543630a09ef72c8d00b"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f2ce5ecd63c492949b03af73b1dd6d502c567cc2f9c2057137e518b0c702a01"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a9ce2a209871ed1c5ae2229e6f4f5a3ea96d83b7871df5d9773d72a72545683"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7f0e26af7c07bfa906c91ca9f5932514928a7f032f5f20aecad6b5541037de7e"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:48782727c5cff8b8c96e028a8a58614ff6a37eadc0db85866516210c7aafe9ae"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-win32.whl", hash = "sha256:4a1810bc5de51cc162a19ed3c11da8ddc64d8cfcba049ef337c20fcb397f048b"}, - {file = "grpcio_tools-1.59.2-cp38-cp38-win_amd64.whl", hash = "sha256:3cf9949a2aadcece3c1e0dd59249aea53dbfc8cc94f7d707797acd67cf6cf931"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-linux_armv7l.whl", hash = "sha256:f52e0ce8f2dcf1f160c847304016c446075a83ab925d98933d4681bfa8af2962"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:eb597d6bf9f5bfa54d00546e828f0d4e2c69250d1bc17c27903c0c7b66372135"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:17ef468836d7cf0b2419f4d5c7ac84ec2d598a1ae410773585313edacf7c393e"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dee5f7e7a56177234e61a483c70ca2ae34e73128372c801bb7039993870889f1"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f50ff312b88918c5a6461e45c5e03869749a066b1c24a7327e8e13e117efe4fc"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a85da4200295ee17e3c1ae068189a43844420ed7e9d531a042440f52de486dfb"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f518f22a3082de00f0d7a216e96366a87e6973111085ba1603c3bfa7dba2e728"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-win32.whl", hash = "sha256:6e735a26e8ea8bb89dc69343d1d00ea607449c6d81e21f339ee118562f3d1931"}, - {file = "grpcio_tools-1.59.2-cp39-cp39-win_amd64.whl", hash = "sha256:3491cb69c909d586c23d7e6d0ac87844ca22f496f505ce429c0d3301234f2cf3"}, + {file = "grpcio-tools-1.60.0.tar.gz", hash = "sha256:ed30499340228d733ff69fcf4a66590ed7921f94eb5a2bf692258b1280b9dac7"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:6807b7a3f3e6e594566100bd7fe04a2c42ce6d5792652677f1aaf5aa5adaef3d"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:857c5351e9dc33a019700e171163f94fcc7e3ae0f6d2b026b10fda1e3c008ef1"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:ec0e401e9a43d927d216d5169b03c61163fb52b665c5af2fed851357b15aef88"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e68dc4474f30cad11a965f0eb5d37720a032b4720afa0ec19dbcea2de73b5aae"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbf0ed772d2ae7e8e5d7281fcc00123923ab130b94f7a843eee9af405918f924"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c771b19dce2bfe06899247168c077d7ab4e273f6655d8174834f9a6034415096"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e5614cf0960456d21d8a0f4902e3e5e3bcacc4e400bf22f196e5dd8aabb978b7"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-win32.whl", hash = "sha256:87cf439178f3eb45c1a889b2e4a17cbb4c450230d92c18d9c57e11271e239c55"}, + {file = "grpcio_tools-1.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:687f576d7ff6ce483bc9a196d1ceac45144e8733b953620a026daed8e450bc38"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:2a8a758701f3ac07ed85f5a4284c6a9ddefcab7913a8e552497f919349e72438"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:7c1cde49631732356cb916ee1710507967f19913565ed5f9991e6c9cb37e3887"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:d941749bd8dc3f8be58fe37183143412a27bec3df8482d5abd6b4ec3f1ac2924"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ee35234f1da8fba7ddbc544856ff588243f1128ea778d7a1da3039be829a134"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8f7a5094adb49e85db13ea3df5d99a976c2bdfd83b0ba26af20ebb742ac6786"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:24c4ead4a03037beaeb8ef2c90d13d70101e35c9fae057337ed1a9144ef10b53"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:811abb9c4fb6679e0058dfa123fb065d97b158b71959c0e048e7972bbb82ba0f"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-win32.whl", hash = "sha256:bd2a17b0193fbe4793c215d63ce1e01ae00a8183d81d7c04e77e1dfafc4b2b8a"}, + {file = "grpcio_tools-1.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:b22b1299b666eebd5752ba7719da536075eae3053abcf2898b65f763c314d9da"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:74025fdd6d1cb7ba4b5d087995339e9a09f0c16cf15dfe56368b23e41ffeaf7a"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:5a907a4f1ffba86501b2cdb8682346249ea032b922fc69a92f082ba045cca548"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:1fbb9554466d560472f07d906bfc8dcaf52f365c2a407015185993e30372a886"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f10ef47460ce3c6fd400f05fe757b90df63486c9b84d1ecad42dcc5f80c8ac14"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:321b18f42a70813545e416ddcb8bf20defa407a8114906711c9710a69596ceda"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:081336d8258f1a56542aa8a7a5dec99a2b38d902e19fbdd744594783301b0210"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:addc9b23d6ff729d9f83d4a2846292d4c84f5eb2ec38f08489a6a0d66ac2b91e"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-win32.whl", hash = "sha256:e87cabac7969bdde309575edc2456357667a1b28262b2c1f12580ef48315b19d"}, + {file = "grpcio_tools-1.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:e70d867c120d9849093b0ac24d861e378bc88af2552e743d83b9f642d2caa7c2"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:559ce714fe212aaf4abbe1493c5bb8920def00cc77ce0d45266f4fd9d8b3166f"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:7a5263a0f2ddb7b1cfb2349e392cfc4f318722e0f48f886393e06946875d40f3"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:18976684a931ca4bcba65c78afa778683aefaae310f353e198b1823bf09775a0"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5c519a0d4ba1ab44a004fa144089738c59278233e2010b2cf4527dc667ff297"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6170873b1e5b6580ebb99e87fb6e4ea4c48785b910bd7af838cc6e44b2bccb04"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fb4df80868b3e397d5fbccc004c789d2668b622b51a9d2387b4c89c80d31e2c5"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dba6e32c87b4af29b5f475fb2f470f7ee3140bfc128644f17c6c59ddeb670680"}, + {file = "grpcio_tools-1.60.0-cp37-cp37m-win_amd64.whl", hash = "sha256:f610384dee4b1ca705e8da66c5b5fe89a2de3d165c5282c3d1ddf40cb18924e4"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:4041538f55aad5b3ae7e25ab314d7995d689e968bfc8aa169d939a3160b1e4c6"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:2fb4cf74bfe1e707cf10bc9dd38a1ebaa145179453d150febb121c7e9cd749bf"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2fd1671c52f96e79a2302c8b1c1f78b8a561664b8b3d6946f20d8f1cc6b4225a"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd1e68c232fe01dd5312a8dbe52c50ecd2b5991d517d7f7446af4ba6334ba872"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17a32b3da4fc0798cdcec0a9c974ac2a1e98298f151517bf9148294a3b1a5742"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9970d384fb0c084b00945ef57d98d57a8d32be106d8f0bd31387f7cbfe411b5b"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5ce6bbd4936977ec1114f2903eb4342781960d521b0d82f73afedb9335251f6f"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-win32.whl", hash = "sha256:2e00de389729ca8d8d1a63c2038703078a887ff738dc31be640b7da9c26d0d4f"}, + {file = "grpcio_tools-1.60.0-cp38-cp38-win_amd64.whl", hash = "sha256:6192184b1f99372ff1d9594bd4b12264e3ff26440daba7eb043726785200ff77"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:eae27f9b16238e2aaee84c77b5923c6924d6dccb0bdd18435bf42acc8473ae1a"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b96981f3a31b85074b73d97c8234a5ed9053d65a36b18f4a9c45a2120a5b7a0a"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:1748893efd05cf4a59a175d7fa1e4fbb652f4d84ccaa2109f7869a2be48ed25e"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a6fe752205caae534f29fba907e2f59ff79aa42c6205ce9a467e9406cbac68c"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3456df087ea61a0972a5bc165aed132ed6ddcc63f5749e572f9fff84540bdbad"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f3d916606dcf5610d4367918245b3d9d8cd0d2ec0b7043d1bbb8c50fe9815c3a"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fc01bc1079279ec342f0f1b6a107b3f5dc3169c33369cf96ada6e2e171f74e86"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-win32.whl", hash = "sha256:2dd01257e4feff986d256fa0bac9f56de59dc735eceeeb83de1c126e2e91f653"}, + {file = "grpcio_tools-1.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b93ae8ffd18e9af9a965ebca5fa521e89066267de7abdde20721edc04e42721"}, ] [package.dependencies] -grpcio = ">=1.59.2" +grpcio = ">=1.60.0" protobuf = ">=4.21.6,<5.0dev" setuptools = "*" @@ -1317,18 +1307,18 @@ test = ["Cython (>=0.29.24,<0.30.0)"] [[package]] name = "huggingface-hub" -version = "0.17.3" +version = "0.19.4" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.17.3-py3-none-any.whl", hash = "sha256:545eb3665f6ac587add946e73984148f2ea5c7877eac2e845549730570c1933a"}, - {file = "huggingface_hub-0.17.3.tar.gz", hash = "sha256:40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd"}, + {file = "huggingface_hub-0.19.4-py3-none-any.whl", hash = "sha256:dba013f779da16f14b606492828f3760600a1e1801432d09fe1c33e50b825bb5"}, + {file = "huggingface_hub-0.19.4.tar.gz", hash = "sha256:176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22"}, ] [package.dependencies] filelock = "*" -fsspec = "*" +fsspec = ">=2023.5.0" packaging = ">=20.9" pyyaml = ">=5.1" requests = "*" @@ -1336,17 +1326,17 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] -docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)", "watchdog"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)", "watchdog"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] -inference = ["aiohttp", "pydantic (<2.0)"] -quality = ["black (==23.7)", "mypy (==1.5.1)", "ruff (>=0.0.241)"] +inference = ["aiohttp", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.1.3)"] tensorflow = ["graphviz", "pydot", "tensorflow"] -testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] torch = ["torch"] -typing = ["pydantic (<2.0)", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] [[package]] name = "humanfriendly" @@ -1364,24 +1354,24 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] name = "importlib-resources" -version = "6.1.0" +version = "6.1.1" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.1.0-py3-none-any.whl", hash = "sha256:aa50258bbfa56d4e33fbd8aa3ef48ded10d1735f11532b8df95388cc6bdb7e83"}, - {file = "importlib_resources-6.1.0.tar.gz", hash = "sha256:9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9"}, + {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"}, + {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"}, ] [package.extras] @@ -1390,24 +1380,23 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", [[package]] name = "ipython" -version = "8.17.2" +version = "8.18.1" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.9" files = [ - {file = "ipython-8.17.2-py3-none-any.whl", hash = "sha256:1e4d1d666a023e3c93585ba0d8e962867f7a111af322efff6b9c58062b3e5444"}, - {file = "ipython-8.17.2.tar.gz", hash = "sha256:126bb57e1895594bb0d91ea3090bbd39384f6fe87c3d57fd558d0670f50339bb"}, + {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, + {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, ] [package.dependencies] -appnope = {version = "*", markers = "sys_platform == \"darwin\""} colorama = {version = "*", markers = "sys_platform == \"win32\""} decorator = "*" exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} jedi = ">=0.16" matplotlib-inline = "*" pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} -prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0" +prompt-toolkit = ">=3.0.41,<3.1.0" pygments = ">=2.4.0" stack-data = "*" traitlets = ">=5" @@ -1427,21 +1416,15 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa [[package]] name = "isort" -version = "5.12.0" +version = "5.13.1" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" files = [ - {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, - {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, + {file = "isort-5.13.1-py3-none-any.whl", hash = "sha256:56a51732c25f94ca96f6721be206dd96a95f42950502eb26c1015d333bc6edb7"}, + {file = "isort-5.13.1.tar.gz", hash = "sha256:aaed790b463e8703fb1eddb831dfa8e8616bacde2c083bd557ef73c8189b7263"}, ] -[package.extras] -colors = ["colorama (>=0.4.3)"] -pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] - [[package]] name = "itsdangerous" version = "2.1.2" @@ -1455,13 +1438,13 @@ files = [ [[package]] name = "jax" -version = "0.4.20" +version = "0.4.21" description = "Differentiate, compile, and transform Numpy code." optional = false python-versions = ">=3.9" files = [ - {file = "jax-0.4.20-py3-none-any.whl", hash = "sha256:3d5952197adca548d99310f1c326bf00548f1cc8652b89edb369166482c2aec2"}, - {file = "jax-0.4.20.tar.gz", hash = "sha256:ea96a763a8b1a9374639d1159ab4de163461d01cd022f67c34c09581b71ed2ac"}, + {file = "jax-0.4.21-py3-none-any.whl", hash = "sha256:caa82aaf4e58741126f645f2c46822ebf526cc793fbfdb3732b805f955950b32"}, + {file = "jax-0.4.21.tar.gz", hash = "sha256:c97fd0d2751d6e1eb15aa2052ff7cfdc129f8fafc2c14cd779720658926a587b"}, ] [package.dependencies] @@ -1475,44 +1458,44 @@ scipy = ">=1.9" [package.extras] australis = ["protobuf (>=3.13,<4)"] -ci = ["jaxlib (==0.4.19)"] -cpu = ["jaxlib (==0.4.20)"] -cuda = ["jaxlib (==0.4.20+cuda11.cudnn86)"] -cuda11-cudnn86 = ["jaxlib (==0.4.20+cuda11.cudnn86)"] -cuda11-local = ["jaxlib (==0.4.20+cuda11.cudnn86)"] -cuda11-pip = ["jaxlib (==0.4.20+cuda11.cudnn86)", "nvidia-cublas-cu11 (>=11.11)", "nvidia-cuda-cupti-cu11 (>=11.8)", "nvidia-cuda-nvcc-cu11 (>=11.8)", "nvidia-cuda-runtime-cu11 (>=11.8)", "nvidia-cudnn-cu11 (>=8.8)", "nvidia-cufft-cu11 (>=10.9)", "nvidia-cusolver-cu11 (>=11.4)", "nvidia-cusparse-cu11 (>=11.7)", "nvidia-nccl-cu11 (>=2.18.3)"] -cuda12-local = ["jaxlib (==0.4.20+cuda12.cudnn89)"] -cuda12-pip = ["jaxlib (==0.4.20+cuda12.cudnn89)", "nvidia-cublas-cu12 (>=12.2.5.6)", "nvidia-cuda-cupti-cu12 (>=12.2.142)", "nvidia-cuda-nvcc-cu12 (>=12.2.140)", "nvidia-cuda-runtime-cu12 (>=12.2.140)", "nvidia-cudnn-cu12 (>=8.9)", "nvidia-cufft-cu12 (>=11.0.8.103)", "nvidia-cusolver-cu12 (>=11.5.2)", "nvidia-cusparse-cu12 (>=12.1.2.141)", "nvidia-nccl-cu12 (>=2.18.3)", "nvidia-nvjitlink-cu12 (>=12.2)"] -minimum-jaxlib = ["jaxlib (==0.4.14)"] -tpu = ["jaxlib (==0.4.20)", "libtpu-nightly (==0.1.dev20231102)", "requests"] +ci = ["jaxlib (==0.4.20)"] +cpu = ["jaxlib (==0.4.21)"] +cuda = ["jaxlib (==0.4.21+cuda11.cudnn86)"] +cuda11-cudnn86 = ["jaxlib (==0.4.21+cuda11.cudnn86)"] +cuda11-local = ["jaxlib (==0.4.21+cuda11.cudnn86)"] +cuda11-pip = ["jaxlib (==0.4.21+cuda11.cudnn86)", "nvidia-cublas-cu11 (>=11.11)", "nvidia-cuda-cupti-cu11 (>=11.8)", "nvidia-cuda-nvcc-cu11 (>=11.8)", "nvidia-cuda-runtime-cu11 (>=11.8)", "nvidia-cudnn-cu11 (>=8.8)", "nvidia-cufft-cu11 (>=10.9)", "nvidia-cusolver-cu11 (>=11.4)", "nvidia-cusparse-cu11 (>=11.7)", "nvidia-nccl-cu11 (>=2.18.3)"] +cuda12-local = ["jaxlib (==0.4.21+cuda12.cudnn89)"] +cuda12-pip = ["jaxlib (==0.4.21+cuda12.cudnn89)", "nvidia-cublas-cu12 (>=12.2.5.6)", "nvidia-cuda-cupti-cu12 (>=12.2.142)", "nvidia-cuda-nvcc-cu12 (>=12.2.140)", "nvidia-cuda-runtime-cu12 (>=12.2.140)", "nvidia-cudnn-cu12 (>=8.9)", "nvidia-cufft-cu12 (>=11.0.8.103)", "nvidia-cusolver-cu12 (>=11.5.2)", "nvidia-cusparse-cu12 (>=12.1.2.141)", "nvidia-nccl-cu12 (>=2.18.3)", "nvidia-nvjitlink-cu12 (>=12.2)"] +minimum-jaxlib = ["jaxlib (==0.4.19)"] +tpu = ["jaxlib (==0.4.21)", "libtpu-nightly (==0.1.dev20231204)", "requests"] [[package]] name = "jaxlib" -version = "0.4.20" +version = "0.4.21" description = "XLA library for JAX" optional = false python-versions = ">=3.9" files = [ - {file = "jaxlib-0.4.20-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:8414ab610c8e18c9f405ec515902989c97446189731d45ae5861e68d54f5d131"}, - {file = "jaxlib-0.4.20-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b9f03f002138b3847f162ab948ded3e3849510dd59e4e7e427ff7c94ac51166a"}, - {file = "jaxlib-0.4.20-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:13f1d86f6ec327a17881f29c22bb54d92946d2fc006d93cd2657bc102accec96"}, - {file = "jaxlib-0.4.20-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:628d936279087a5cb2e2f6f9fa70bfc98f128d5df88bf8c9bc27bf551429a66a"}, - {file = "jaxlib-0.4.20-cp310-cp310-win_amd64.whl", hash = "sha256:50030842851afcf72c510b4656aa3a50963ffb722d3c80910b949d1e7c1a3bce"}, - {file = "jaxlib-0.4.20-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:9d39f26b0538360abd55313aa03b847d1ea224f472f84fd52edf7c714e9e5b83"}, - {file = "jaxlib-0.4.20-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f5dc1afae1c29ed21161fdc3016ce32e4d7a9ab80bd2284f8acc498ded4e910"}, - {file = "jaxlib-0.4.20-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:3149d7ad3a4c660a5e83f98ee546b3b4780a6ca5c3adc13b5de12e3abdfb289d"}, - {file = "jaxlib-0.4.20-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:e4dd278214c1aec6bb77c92df21642da086a97108d0bb53c0290f43c6ec31e7f"}, - {file = "jaxlib-0.4.20-cp311-cp311-win_amd64.whl", hash = "sha256:019ff27da77f071e198c86703421a7365b57d2a7348b74f29d026fb5a1dd8707"}, - {file = "jaxlib-0.4.20-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:d45f7c25edab30924aae4b08fc4540b17f67f9d3a99837a151e01a32afc163ba"}, - {file = "jaxlib-0.4.20-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56a4c2e5e8031da0c8bf055adec01cf5276d7740b01057178c353f8b9e21f38e"}, - {file = "jaxlib-0.4.20-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:67701a1fa4cb65a170c312e1a9149d78bb383870d1a77cc537154611689db012"}, - {file = "jaxlib-0.4.20-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:a8f3286bb72ca3b0d1056b82250a22384ccb3cbde6efa30f659318999523e34d"}, - {file = "jaxlib-0.4.20-cp312-cp312-win_amd64.whl", hash = "sha256:1816b0e5710558e354a6458dfb9cfe032025a6ccb50ed3d6c29b5e84e5f21ad2"}, - {file = "jaxlib-0.4.20-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:c2f6ba2e44a89041cdf9640b09a9dc542ed8048c5f2263ec4290752f315ccaa3"}, - {file = "jaxlib-0.4.20-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:771227bfcfda4221ec37b0e949cb996a8d99c870e317401a4ea503034aaa83f3"}, - {file = "jaxlib-0.4.20-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:4d732a2d44e35684eba4ad0507f6e4ab68a81ed56e90b3948a303fd355e2587f"}, - {file = "jaxlib-0.4.20-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:78813eaf3e71e411243bce739dc21613ca7fc033f157c6e75497478a49d2f7df"}, - {file = "jaxlib-0.4.20-cp39-cp39-win_amd64.whl", hash = "sha256:5153aa83bc737d008df66d0378140f3c82548fefc474bd084384745cd3f54cab"}, + {file = "jaxlib-0.4.21-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:05a3104077481ad44a0c3be369c60b843ee5074e7c43c658568e89724563cb11"}, + {file = "jaxlib-0.4.21-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff3125da39bd0398b010b3cf69278b96e6da17222483074d17308c29a2ef2b60"}, + {file = "jaxlib-0.4.21-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:1f0a8fc51ff67c2d99f5c30d452baa73df980db35f7d9a338aa8ba8727d30e93"}, + {file = "jaxlib-0.4.21-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:8dde3e1d63ed1ade312c269b55683df4c3fe1766f0ae130027f0405df4662191"}, + {file = "jaxlib-0.4.21-cp310-cp310-win_amd64.whl", hash = "sha256:81af156425cdd040a16940eefbf83f7079e57f9cf2c7443a6752ddd32cee36e9"}, + {file = "jaxlib-0.4.21-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:19a9deb9021f11160070742d43a3b02fcef4f7c412fa1f06ad939f99e7f46bbd"}, + {file = "jaxlib-0.4.21-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81837bedb75d901598408ccf597bac37ec70a606b8ef348015d438a61a7e0193"}, + {file = "jaxlib-0.4.21-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:67a907949b15086eb210b9fe229dd539582e53c70e9cbff4802ed74404b988e8"}, + {file = "jaxlib-0.4.21-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:fcde35a72bf500e15e8025d41ff5e639489a01f1f9fe4ff2753f096851aaf9b3"}, + {file = "jaxlib-0.4.21-cp311-cp311-win_amd64.whl", hash = "sha256:0c11155a05cd31c4e1a2aa8e6d75b55574767a8cff6dd5963de82489afdd16fc"}, + {file = "jaxlib-0.4.21-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:7980d4ade9da1f1942bc161bb75dabd9530b06904153aa3fdde9328fd2e5f801"}, + {file = "jaxlib-0.4.21-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a86c6255d1cd0a14b958e6d6f23f44e86fe811af4538b458d3fc68c10367b346"}, + {file = "jaxlib-0.4.21-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:54c7852fe145c5f38a98774f00356dcf917fc4de72b7bc1a76f433cdfd5763b9"}, + {file = "jaxlib-0.4.21-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:024c85d3b5064df9101c9fea3769477b4922d45875b89664906418464893222b"}, + {file = "jaxlib-0.4.21-cp312-cp312-win_amd64.whl", hash = "sha256:d597e80a1601bce6f5716ead8fa4aa5a46046ea4f644da6386d8856fd4e3aff2"}, + {file = "jaxlib-0.4.21-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:9bc541a2d2b8b6fac4822f146f97621e34eff0a5390b7f38b2b952211717e74a"}, + {file = "jaxlib-0.4.21-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a711493ca97b2eac11a4bd2ee77cc09a9d57bc528f5efd2d4ff8a8437105fc2b"}, + {file = "jaxlib-0.4.21-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:036e81ba70e4298c140f9fd6f646ed607a9e1c127121944acbc79b64a384e927"}, + {file = "jaxlib-0.4.21-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:98503f652965b83cbde83cbb133e4cc95fe89f25ce5dfc2bfafe18049f1800a3"}, + {file = "jaxlib-0.4.21-cp39-cp39-win_amd64.whl", hash = "sha256:705a6f2103493d781ca3ddce8b1b972ef8fa60c10343de2f74ea7b4df7f36142"}, ] [package.dependencies] @@ -2021,43 +2004,188 @@ twitter = ["twython"] [[package]] name = "numpy" -version = "1.26.1" +version = "1.26.2" description = "Fundamental package for array computing in Python" optional = false -python-versions = "<3.13,>=3.9" -files = [ - {file = "numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af"}, - {file = "numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575"}, - {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244"}, - {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67"}, - {file = "numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2"}, - {file = "numpy-1.26.1-cp310-cp310-win32.whl", hash = "sha256:d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297"}, - {file = "numpy-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab"}, - {file = "numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a"}, - {file = "numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9"}, - {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3"}, - {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974"}, - {file = "numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c"}, - {file = "numpy-1.26.1-cp311-cp311-win32.whl", hash = "sha256:b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b"}, - {file = "numpy-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53"}, - {file = "numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f"}, - {file = "numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24"}, - {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e"}, - {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124"}, - {file = "numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c"}, - {file = "numpy-1.26.1-cp312-cp312-win32.whl", hash = "sha256:af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66"}, - {file = "numpy-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7"}, - {file = "numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e"}, - {file = "numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617"}, - {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e"}, - {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908"}, - {file = "numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5"}, - {file = "numpy-1.26.1-cp39-cp39-win32.whl", hash = "sha256:d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104"}, - {file = "numpy-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f"}, - {file = "numpy-1.26.1.tar.gz", hash = "sha256:c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"}, +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f"}, + {file = "numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440"}, + {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75"}, + {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00"}, + {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe"}, + {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523"}, + {file = "numpy-1.26.2-cp310-cp310-win32.whl", hash = "sha256:22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9"}, + {file = "numpy-1.26.2-cp310-cp310-win_amd64.whl", hash = "sha256:26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919"}, + {file = "numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841"}, + {file = "numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1"}, + {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a"}, + {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b"}, + {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7"}, + {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8"}, + {file = "numpy-1.26.2-cp311-cp311-win32.whl", hash = "sha256:a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186"}, + {file = "numpy-1.26.2-cp311-cp311-win_amd64.whl", hash = "sha256:2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d"}, + {file = "numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0"}, + {file = "numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75"}, + {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7"}, + {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6"}, + {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6"}, + {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec"}, + {file = "numpy-1.26.2-cp312-cp312-win32.whl", hash = "sha256:4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167"}, + {file = "numpy-1.26.2-cp312-cp312-win_amd64.whl", hash = "sha256:b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e"}, + {file = "numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef"}, + {file = "numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2"}, + {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3"}, + {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818"}, + {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210"}, + {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36"}, + {file = "numpy-1.26.2-cp39-cp39-win32.whl", hash = "sha256:bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80"}, + {file = "numpy-1.26.2-cp39-cp39-win_amd64.whl", hash = "sha256:2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841"}, + {file = "numpy-1.26.2.tar.gz", hash = "sha256:f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"}, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.1.3.1" +description = "CUBLAS native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728"}, + {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-win_amd64.whl", hash = "sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906"}, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.1.105" +description = "CUDA profiling tools runtime libs." +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e"}, + {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:bea8236d13a0ac7190bd2919c3e8e6ce1e402104276e6f9694479e48bb0eb2a4"}, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.1.105" +description = "NVRTC native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2"}, + {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:0a98a522d9ff138b96c010a65e145dc1b4850e9ecb75a0172371793752fd46ed"}, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.1.105" +description = "CUDA Runtime native Libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40"}, + {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:dfb46ef84d73fababab44cf03e3b83f80700d27ca300e537f85f636fac474344"}, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "8.9.2.26" +description = "cuDNN runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl", hash = "sha256:5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.0.2.54" +description = "CUFFT native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56"}, + {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-win_amd64.whl", hash = "sha256:d9ac353f78ff89951da4af698f80870b1534ed69993f10a4cf1d96f21357e253"}, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.2.106" +description = "CURAND native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0"}, + {file = "nvidia_curand_cu12-10.3.2.106-py3-none-win_amd64.whl", hash = "sha256:75b6b0c574c0037839121317e17fd01f8a69fd2ef8e25853d826fec30bdba74a"}, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.4.5.107" +description = "CUDA solver native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd"}, + {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-win_amd64.whl", hash = "sha256:74e0c3a24c78612192a74fcd90dd117f1cf21dea4822e66d89e8ea80e3cd2da5"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" +nvidia-cusparse-cu12 = "*" +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.1.0.106" +description = "CUSPARSE native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c"}, + {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-win_amd64.whl", hash = "sha256:b798237e81b9719373e8fae8d4f091b70a0cf09d9d85c95a557e11df2d8e9a5a"}, +] + +[package.dependencies] +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.18.1" +description = "NVIDIA Collective Communication Library (NCCL) Runtime" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nccl_cu12-2.18.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:1a6c4acefcbebfa6de320f412bf7866de856e786e0462326ba1bac40de0b5e71"}, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.3.101" +description = "Nvidia JIT LTO Library" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl", hash = "sha256:64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c"}, + {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-win_amd64.whl", hash = "sha256:1b2e317e437433753530792f13eece58f0aec21a2b05903be7bffe58a606cbd1"}, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.1.105" +description = "NVIDIA Tools Extension" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5"}, + {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, ] [[package]] @@ -2078,35 +2206,35 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] [[package]] name = "onnxruntime" -version = "1.16.1" +version = "1.16.3" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" optional = false python-versions = "*" files = [ - {file = "onnxruntime-1.16.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:28b2c7f444b4119950b69370801cd66067f403d19cbaf2a444735d7c269cce4a"}, - {file = "onnxruntime-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c24e04f33e7899f6aebb03ed51e51d346c1f906b05c5569d58ac9a12d38a2f58"}, - {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fa93b166f2d97063dc9f33c5118c5729a4a5dd5617296b6dbef42f9047b3e81"}, - {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:042dd9201b3016ee18f8f8bc4609baf11ff34ca1ff489c0a46bcd30919bf883d"}, - {file = "onnxruntime-1.16.1-cp310-cp310-win32.whl", hash = "sha256:c20aa0591f305012f1b21aad607ed96917c86ae7aede4a4dd95824b3d124ceb7"}, - {file = "onnxruntime-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:5581873e578917bea76d6434ee7337e28195d03488dcf72d161d08e9398c6249"}, - {file = "onnxruntime-1.16.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:ef8c0c8abf5f309aa1caf35941380839dc5f7a2fa53da533be4a3f254993f120"}, - {file = "onnxruntime-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e680380bea35a137cbc3efd67a17486e96972901192ad3026ee79c8d8fe264f7"}, - {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e62cc38ce1a669013d0a596d984762dc9c67c56f60ecfeee0d5ad36da5863f6"}, - {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:025c7a4d57bd2e63b8a0f84ad3df53e419e3df1cc72d63184f2aae807b17c13c"}, - {file = "onnxruntime-1.16.1-cp311-cp311-win32.whl", hash = "sha256:9ad074057fa8d028df248b5668514088cb0937b6ac5954073b7fb9b2891ffc8c"}, - {file = "onnxruntime-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:d5e43a3478bffc01f817ecf826de7b25a2ca1bca8547d70888594ab80a77ad24"}, - {file = "onnxruntime-1.16.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3aef4d70b0930e29a8943eab248cd1565664458d3a62b2276bd11181f28fd0a3"}, - {file = "onnxruntime-1.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:55a7b843a57c8ca0c8ff169428137958146081d5d76f1a6dd444c4ffcd37c3c2"}, - {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c631af1941bf3b5f7d063d24c04aacce8cff0794e157c497e315e89ac5ad7b"}, - {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671f296c3d5c233f601e97a10ab5a1dd8e65ba35c7b7b0c253332aba9dff330"}, - {file = "onnxruntime-1.16.1-cp38-cp38-win32.whl", hash = "sha256:eb3802305023dd05e16848d4e22b41f8147247894309c0c27122aaa08793b3d2"}, - {file = "onnxruntime-1.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:fecfb07443d09d271b1487f401fbdf1ba0c829af6fd4fe8f6af25f71190e7eb9"}, - {file = "onnxruntime-1.16.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:de3e12094234db6545c67adbf801874b4eb91e9f299bda34c62967ef0050960f"}, - {file = "onnxruntime-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff723c2a5621b5e7103f3be84d5aae1e03a20621e72219dddceae81f65f240af"}, - {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14a7fb3073aaf6b462e3d7fb433320f7700558a8892e5021780522dc4574292a"}, - {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:963159f1f699b0454cd72fcef3276c8a1aab9389a7b301bcd8e320fb9d9e8597"}, - {file = "onnxruntime-1.16.1-cp39-cp39-win32.whl", hash = "sha256:85771adb75190db9364b25ddec353ebf07635b83eb94b64ed014f1f6d57a3857"}, - {file = "onnxruntime-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:d32d2b30799c1f950123c60ae8390818381fd5f88bdf3627eeca10071c155dc5"}, + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3bc41f323ac77acfed190be8ffdc47a6a75e4beeb3473fbf55eeb075ccca8df2"}, + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:212741b519ee61a4822c79c47147d63a8b0ffde25cd33988d3d7be9fbd51005d"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f91f5497fe3df4ceee2f9e66c6148d9bfeb320cd6a71df361c66c5b8bac985a"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b1fc269cabd27f129fb9058917d6fdc89b188c49ed8700f300b945c81f889"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win32.whl", hash = "sha256:f36b56a593b49a3c430be008c2aea6658d91a3030115729609ec1d5ffbaab1b6"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win_amd64.whl", hash = "sha256:3c467eaa3d2429c026b10c3d17b78b7f311f718ef9d2a0d6938e5c3c2611b0cf"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a225bb683991001d111f75323d355b3590e75e16b5e0f07a0401e741a0143ea1"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9aded21fe3d898edd86be8aa2eb995aa375e800ad3dfe4be9f618a20b8ee3630"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00cccc37a5195c8fca5011b9690b349db435986bd508eb44c9fce432da9228a4"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e253e572021563226a86f1c024f8f70cdae28f2fb1cc8c3a9221e8b1ce37db5"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win32.whl", hash = "sha256:a82a8f0b4c978d08f9f5c7a6019ae51151bced9fd91e5aaa0c20a9e4ac7a60b6"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:78d81d9af457a1dc90db9a7da0d09f3ccb1288ea1236c6ab19f0ca61f3eee2d3"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:04ebcd29c20473596a1412e471524b2fb88d55e6301c40b98dd2407b5911595f"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9996bab0f202a6435ab867bc55598f15210d0b72794d5de83712b53d564084ae"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b8f5083f903408238883821dd8c775f8120cb4a604166dbdabe97f4715256d5"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c2dcf1b70f8434abb1116fe0975c00e740722aaf321997195ea3618cc00558e"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win32.whl", hash = "sha256:d4a0151e1accd04da6711f6fd89024509602f82c65a754498e960b032359b02d"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win_amd64.whl", hash = "sha256:e8aa5bba78afbd4d8a2654b14ec7462ff3ce4a6aad312a3c2d2c2b65009f2541"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:6829dc2a79d48c911fedaf4c0f01e03c86297d32718a3fdee7a282766dfd282a"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:76f876c53bfa912c6c242fc38213a6f13f47612d4360bc9d599bd23753e53161"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4137e5d443e2dccebe5e156a47f1d6d66f8077b03587c35f11ee0c7eda98b533"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c56695c1a343c7c008b647fff3df44da63741fbe7b6003ef576758640719be7b"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win32.whl", hash = "sha256:985a029798744ce4743fcf8442240fed35c8e4d4d30ec7d0c2cdf1388cd44408"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win_amd64.whl", hash = "sha256:28ff758b17ce3ca6bcad3d936ec53bd7f5482e7630a13f6dcae518eba8f71d85"}, ] [package.dependencies] @@ -2161,13 +2289,13 @@ test = ["dm-haiku (>=0.0.3)", "dm-tree (>=0.1.7)", "flax (==0.5.3)"] [[package]] name = "orbax-checkpoint" -version = "0.4.1" +version = "0.4.7" description = "Orbax Checkpoint" optional = false python-versions = ">=3.9" files = [ - {file = "orbax_checkpoint-0.4.1-py3-none-any.whl", hash = "sha256:309e6bbbffa0c90bb58121360d829e34607eaf28b70fc3e16469344307c24352"}, - {file = "orbax_checkpoint-0.4.1.tar.gz", hash = "sha256:9ed87757966e1d3bf1f20ac9ab39645a7a00263ee0a3a455ab73b0e635a25617"}, + {file = "orbax_checkpoint-0.4.7-py3-none-any.whl", hash = "sha256:0dc4792ba35cdeafc6bd8730e8f121f70e91910b88879d654cf22890ce3abc37"}, + {file = "orbax_checkpoint-0.4.7.tar.gz", hash = "sha256:1734ecbe2d95a3711f12ce2ccbf7168b1b5879acacce0c451c7ecff96f5e6c2a"}, ] [package.dependencies] @@ -2180,7 +2308,7 @@ nest_asyncio = "*" numpy = "*" protobuf = "*" pyyaml = "*" -tensorstore = ">=0.1.35" +tensorstore = ">=0.1.51" typing_extensions = "*" [package.extras] @@ -2225,24 +2353,24 @@ testing = ["docopt", "pytest (<6.0.0)"] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pexpect" -version = "4.8.0" +version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" files = [ - {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, - {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, ] [package.dependencies] @@ -2317,13 +2445,13 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.1.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, + {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, ] [package.extras] @@ -2332,13 +2460,13 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co [[package]] name = "posthog" -version = "3.0.2" +version = "3.1.0" description = "Integrate PostHog into any python application." optional = false python-versions = "*" files = [ - {file = "posthog-3.0.2-py2.py3-none-any.whl", hash = "sha256:a8c0af6f2401fbe50f90e68c4143d0824b54e872de036b1c2f23b5abb39d88ce"}, - {file = "posthog-3.0.2.tar.gz", hash = "sha256:701fba6e446a4de687c6e861b587e7b7741955ad624bf34fe013c06a0fec6fb3"}, + {file = "posthog-3.1.0-py2.py3-none-any.whl", hash = "sha256:acd033530bdfc275dce5587f205f62378991ecb9b7cd5479e79c7f4ac575d319"}, + {file = "posthog-3.1.0.tar.gz", hash = "sha256:db17a2c511e18757aec12b6632ddcc1fa318743dad88a4666010467a3d9468da"}, ] [package.dependencies] @@ -2351,7 +2479,7 @@ six = ">=1.5" [package.extras] dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] sentry = ["django", "sentry-sdk"] -test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest"] +test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] [[package]] name = "promise" @@ -2371,13 +2499,13 @@ test = ["coveralls", "futures", "mock", "pytest (>=2.7.3)", "pytest-benchmark", [[package]] name = "prompt-toolkit" -version = "3.0.39" +version = "3.0.43" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, - {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, + {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, + {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, ] [package.dependencies] @@ -2385,13 +2513,13 @@ wcwidth = "*" [[package]] name = "proto-plus" -version = "1.22.3" +version = "1.23.0" description = "Beautiful, Pythonic protocol buffers." optional = false python-versions = ">=3.6" files = [ - {file = "proto-plus-1.22.3.tar.gz", hash = "sha256:fdcd09713cbd42480740d2fe29c990f7fbd885a67efc328aa8be6ee3e9f76a6b"}, - {file = "proto_plus-1.22.3-py3-none-any.whl", hash = "sha256:a49cd903bc0b6ab41f76bf65510439d56ca76f868adf0274e738bfdd096894df"}, + {file = "proto-plus-1.23.0.tar.gz", hash = "sha256:89075171ef11988b3fa157f5dbd8b9cf09d65fffee97e29ce403cd8defba19d2"}, + {file = "proto_plus-1.23.0-py3-none-any.whl", hash = "sha256:a829c79e619e1cf632de091013a4173deed13a55f326ef84f05af6f50ff4c82c"}, ] [package.dependencies] @@ -2402,22 +2530,22 @@ testing = ["google-api-core[grpc] (>=1.31.5)"] [[package]] name = "protobuf" -version = "4.25.0" +version = "4.25.1" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.0-cp310-abi3-win32.whl", hash = "sha256:5c1203ac9f50e4853b0a0bfffd32c67118ef552a33942982eeab543f5c634395"}, - {file = "protobuf-4.25.0-cp310-abi3-win_amd64.whl", hash = "sha256:c40ff8f00aa737938c5378d461637d15c442a12275a81019cc2fef06d81c9419"}, - {file = "protobuf-4.25.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:cf21faba64cd2c9a3ed92b7a67f226296b10159dbb8fbc5e854fc90657d908e4"}, - {file = "protobuf-4.25.0-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:32ac2100b0e23412413d948c03060184d34a7c50b3e5d7524ee96ac2b10acf51"}, - {file = "protobuf-4.25.0-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:683dc44c61f2620b32ce4927de2108f3ebe8ccf2fd716e1e684e5a50da154054"}, - {file = "protobuf-4.25.0-cp38-cp38-win32.whl", hash = "sha256:1a3ba712877e6d37013cdc3476040ea1e313a6c2e1580836a94f76b3c176d575"}, - {file = "protobuf-4.25.0-cp38-cp38-win_amd64.whl", hash = "sha256:b2cf8b5d381f9378afe84618288b239e75665fe58d0f3fd5db400959274296e9"}, - {file = "protobuf-4.25.0-cp39-cp39-win32.whl", hash = "sha256:63714e79b761a37048c9701a37438aa29945cd2417a97076048232c1df07b701"}, - {file = "protobuf-4.25.0-cp39-cp39-win_amd64.whl", hash = "sha256:d94a33db8b7ddbd0af7c467475fb9fde0c705fb315a8433c0e2020942b863a1f"}, - {file = "protobuf-4.25.0-py3-none-any.whl", hash = "sha256:1a53d6f64b00eecf53b65ff4a8c23dc95df1fa1e97bb06b8122e5a64f49fc90a"}, - {file = "protobuf-4.25.0.tar.gz", hash = "sha256:68f7caf0d4f012fd194a301420cf6aa258366144d814f358c5b32558228afa7c"}, + {file = "protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, + {file = "protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, + {file = "protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, + {file = "protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, + {file = "protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, + {file = "protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, + {file = "protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, + {file = "protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, + {file = "protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, ] [[package]] @@ -2522,13 +2650,13 @@ tests = ["pytest"] [[package]] name = "pyasn1" -version = "0.5.0" +version = "0.5.1" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, - {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, + {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, + {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, ] [[package]] @@ -2547,18 +2675,18 @@ pyasn1 = ">=0.4.6,<0.6.0" [[package]] name = "pydantic" -version = "2.4.2" +version = "2.5.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-2.4.2-py3-none-any.whl", hash = "sha256:bc3ddf669d234f4220e6e1c4d96b061abe0998185a8d7855c0126782b7abc8c1"}, - {file = "pydantic-2.4.2.tar.gz", hash = "sha256:94f336138093a5d7f426aac732dcfe7ab4eb4da243c88f891d65deb4a2556ee7"}, + {file = "pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0"}, + {file = "pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.10.1" +pydantic-core = "2.14.5" typing-extensions = ">=4.6.1" [package.extras] @@ -2566,117 +2694,116 @@ email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.10.1" +version = "2.14.5" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic_core-2.10.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:d64728ee14e667ba27c66314b7d880b8eeb050e58ffc5fec3b7a109f8cddbd63"}, - {file = "pydantic_core-2.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:48525933fea744a3e7464c19bfede85df4aba79ce90c60b94d8b6e1eddd67096"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef337945bbd76cce390d1b2496ccf9f90b1c1242a3a7bc242ca4a9fc5993427a"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1392e0638af203cee360495fd2cfdd6054711f2db5175b6e9c3c461b76f5175"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0675ba5d22de54d07bccde38997e780044dcfa9a71aac9fd7d4d7a1d2e3e65f7"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:128552af70a64660f21cb0eb4876cbdadf1a1f9d5de820fed6421fa8de07c893"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f6e6aed5818c264412ac0598b581a002a9f050cb2637a84979859e70197aa9e"}, - {file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ecaac27da855b8d73f92123e5f03612b04c5632fd0a476e469dfc47cd37d6b2e"}, - {file = "pydantic_core-2.10.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b3c01c2fb081fced3bbb3da78510693dc7121bb893a1f0f5f4b48013201f362e"}, - {file = "pydantic_core-2.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:92f675fefa977625105708492850bcbc1182bfc3e997f8eecb866d1927c98ae6"}, - {file = "pydantic_core-2.10.1-cp310-none-win32.whl", hash = "sha256:420a692b547736a8d8703c39ea935ab5d8f0d2573f8f123b0a294e49a73f214b"}, - {file = "pydantic_core-2.10.1-cp310-none-win_amd64.whl", hash = "sha256:0880e239827b4b5b3e2ce05e6b766a7414e5f5aedc4523be6b68cfbc7f61c5d0"}, - {file = "pydantic_core-2.10.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:073d4a470b195d2b2245d0343569aac7e979d3a0dcce6c7d2af6d8a920ad0bea"}, - {file = "pydantic_core-2.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:600d04a7b342363058b9190d4e929a8e2e715c5682a70cc37d5ded1e0dd370b4"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39215d809470f4c8d1881758575b2abfb80174a9e8daf8f33b1d4379357e417c"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eeb3d3d6b399ffe55f9a04e09e635554012f1980696d6b0aca3e6cf42a17a03b"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a7902bf75779bc12ccfc508bfb7a4c47063f748ea3de87135d433a4cca7a2f"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3625578b6010c65964d177626fde80cf60d7f2e297d56b925cb5cdeda6e9925a"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa48fc31fc7243e50188197b5f0c4228956f97b954f76da157aae7f67269ae8"}, - {file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:07ec6d7d929ae9c68f716195ce15e745b3e8fa122fc67698ac6498d802ed0fa4"}, - {file = "pydantic_core-2.10.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e6f31a17acede6a8cd1ae2d123ce04d8cca74056c9d456075f4f6f85de055607"}, - {file = "pydantic_core-2.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d8f1ebca515a03e5654f88411420fea6380fc841d1bea08effb28184e3d4899f"}, - {file = "pydantic_core-2.10.1-cp311-none-win32.whl", hash = "sha256:6db2eb9654a85ada248afa5a6db5ff1cf0f7b16043a6b070adc4a5be68c716d6"}, - {file = "pydantic_core-2.10.1-cp311-none-win_amd64.whl", hash = "sha256:4a5be350f922430997f240d25f8219f93b0c81e15f7b30b868b2fddfc2d05f27"}, - {file = "pydantic_core-2.10.1-cp311-none-win_arm64.whl", hash = "sha256:5fdb39f67c779b183b0c853cd6b45f7db84b84e0571b3ef1c89cdb1dfc367325"}, - {file = "pydantic_core-2.10.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1f22a9ab44de5f082216270552aa54259db20189e68fc12484873d926426921"}, - {file = "pydantic_core-2.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8572cadbf4cfa95fb4187775b5ade2eaa93511f07947b38f4cd67cf10783b118"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db9a28c063c7c00844ae42a80203eb6d2d6bbb97070cfa00194dff40e6f545ab"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0e2a35baa428181cb2270a15864ec6286822d3576f2ed0f4cd7f0c1708472aff"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05560ab976012bf40f25d5225a58bfa649bb897b87192a36c6fef1ab132540d7"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6495008733c7521a89422d7a68efa0a0122c99a5861f06020ef5b1f51f9ba7c"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ac492c686defc8e6133e3a2d9eaf5261b3df26b8ae97450c1647286750b901"}, - {file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8282bab177a9a3081fd3d0a0175a07a1e2bfb7fcbbd949519ea0980f8a07144d"}, - {file = "pydantic_core-2.10.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:aafdb89fdeb5fe165043896817eccd6434aee124d5ee9b354f92cd574ba5e78f"}, - {file = "pydantic_core-2.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f6defd966ca3b187ec6c366604e9296f585021d922e666b99c47e78738b5666c"}, - {file = "pydantic_core-2.10.1-cp312-none-win32.whl", hash = "sha256:7c4d1894fe112b0864c1fa75dffa045720a194b227bed12f4be7f6045b25209f"}, - {file = "pydantic_core-2.10.1-cp312-none-win_amd64.whl", hash = "sha256:5994985da903d0b8a08e4935c46ed8daf5be1cf217489e673910951dc533d430"}, - {file = "pydantic_core-2.10.1-cp312-none-win_arm64.whl", hash = "sha256:0d8a8adef23d86d8eceed3e32e9cca8879c7481c183f84ed1a8edc7df073af94"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:9badf8d45171d92387410b04639d73811b785b5161ecadabf056ea14d62d4ede"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:ebedb45b9feb7258fac0a268a3f6bec0a2ea4d9558f3d6f813f02ff3a6dc6698"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfe1090245c078720d250d19cb05d67e21a9cd7c257698ef139bc41cf6c27b4f"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e357571bb0efd65fd55f18db0a2fb0ed89d0bb1d41d906b138f088933ae618bb"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b3dcd587b69bbf54fc04ca157c2323b8911033e827fffaecf0cafa5a892a0904"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c120c9ce3b163b985a3b966bb701114beb1da4b0468b9b236fc754783d85aa3"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15d6bca84ffc966cc9976b09a18cf9543ed4d4ecbd97e7086f9ce9327ea48891"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5cabb9710f09d5d2e9e2748c3e3e20d991a4c5f96ed8f1132518f54ab2967221"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:82f55187a5bebae7d81d35b1e9aaea5e169d44819789837cdd4720d768c55d15"}, - {file = "pydantic_core-2.10.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1d40f55222b233e98e3921df7811c27567f0e1a4411b93d4c5c0f4ce131bc42f"}, - {file = "pydantic_core-2.10.1-cp37-none-win32.whl", hash = "sha256:14e09ff0b8fe6e46b93d36a878f6e4a3a98ba5303c76bb8e716f4878a3bee92c"}, - {file = "pydantic_core-2.10.1-cp37-none-win_amd64.whl", hash = "sha256:1396e81b83516b9d5c9e26a924fa69164156c148c717131f54f586485ac3c15e"}, - {file = "pydantic_core-2.10.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6835451b57c1b467b95ffb03a38bb75b52fb4dc2762bb1d9dbed8de31ea7d0fc"}, - {file = "pydantic_core-2.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b00bc4619f60c853556b35f83731bd817f989cba3e97dc792bb8c97941b8053a"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fa467fd300a6f046bdb248d40cd015b21b7576c168a6bb20aa22e595c8ffcdd"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d99277877daf2efe074eae6338453a4ed54a2d93fb4678ddfe1209a0c93a2468"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa7db7558607afeccb33c0e4bf1c9a9a835e26599e76af6fe2fcea45904083a6"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aad7bd686363d1ce4ee930ad39f14e1673248373f4a9d74d2b9554f06199fb58"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:443fed67d33aa85357464f297e3d26e570267d1af6fef1c21ca50921d2976302"}, - {file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:042462d8d6ba707fd3ce9649e7bf268633a41018d6a998fb5fbacb7e928a183e"}, - {file = "pydantic_core-2.10.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ecdbde46235f3d560b18be0cb706c8e8ad1b965e5c13bbba7450c86064e96561"}, - {file = "pydantic_core-2.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ed550ed05540c03f0e69e6d74ad58d026de61b9eaebebbaaf8873e585cbb18de"}, - {file = "pydantic_core-2.10.1-cp38-none-win32.whl", hash = "sha256:8cdbbd92154db2fec4ec973d45c565e767ddc20aa6dbaf50142676484cbff8ee"}, - {file = "pydantic_core-2.10.1-cp38-none-win_amd64.whl", hash = "sha256:9f6f3e2598604956480f6c8aa24a3384dbf6509fe995d97f6ca6103bb8c2534e"}, - {file = "pydantic_core-2.10.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:655f8f4c8d6a5963c9a0687793da37b9b681d9ad06f29438a3b2326d4e6b7970"}, - {file = "pydantic_core-2.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e570ffeb2170e116a5b17e83f19911020ac79d19c96f320cbfa1fa96b470185b"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64322bfa13e44c6c30c518729ef08fda6026b96d5c0be724b3c4ae4da939f875"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:485a91abe3a07c3a8d1e082ba29254eea3e2bb13cbbd4351ea4e5a21912cc9b0"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7c2b8eb9fc872e68b46eeaf835e86bccc3a58ba57d0eedc109cbb14177be531"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5cb87bdc2e5f620693148b5f8f842d293cae46c5f15a1b1bf7ceeed324a740c"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25bd966103890ccfa028841a8f30cebcf5875eeac8c4bde4fe221364c92f0c9a"}, - {file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f323306d0556351735b54acbf82904fe30a27b6a7147153cbe6e19aaaa2aa429"}, - {file = "pydantic_core-2.10.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0c27f38dc4fbf07b358b2bc90edf35e82d1703e22ff2efa4af4ad5de1b3833e7"}, - {file = "pydantic_core-2.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f1365e032a477c1430cfe0cf2856679529a2331426f8081172c4a74186f1d595"}, - {file = "pydantic_core-2.10.1-cp39-none-win32.whl", hash = "sha256:a1c311fd06ab3b10805abb72109f01a134019739bd3286b8ae1bc2fc4e50c07a"}, - {file = "pydantic_core-2.10.1-cp39-none-win_amd64.whl", hash = "sha256:ae8a8843b11dc0b03b57b52793e391f0122e740de3df1474814c700d2622950a"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d43002441932f9a9ea5d6f9efaa2e21458221a3a4b417a14027a1d530201ef1b"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fcb83175cc4936a5425dde3356f079ae03c0802bbdf8ff82c035f8a54b333521"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:962ed72424bf1f72334e2f1e61b68f16c0e596f024ca7ac5daf229f7c26e4208"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cf5bb4dd67f20f3bbc1209ef572a259027c49e5ff694fa56bed62959b41e1f9"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e544246b859f17373bed915182ab841b80849ed9cf23f1f07b73b7c58baee5fb"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c0877239307b7e69d025b73774e88e86ce82f6ba6adf98f41069d5b0b78bd1bf"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:53df009d1e1ba40f696f8995683e067e3967101d4bb4ea6f667931b7d4a01357"}, - {file = "pydantic_core-2.10.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1254357f7e4c82e77c348dabf2d55f1d14d19d91ff025004775e70a6ef40ada"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:524ff0ca3baea164d6d93a32c58ac79eca9f6cf713586fdc0adb66a8cdeab96a"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f0ac9fb8608dbc6eaf17956bf623c9119b4db7dbb511650910a82e261e6600f"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:320f14bd4542a04ab23747ff2c8a778bde727158b606e2661349557f0770711e"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:63974d168b6233b4ed6a0046296803cb13c56637a7b8106564ab575926572a55"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:417243bf599ba1f1fef2bb8c543ceb918676954734e2dcb82bf162ae9d7bd514"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:dda81e5ec82485155a19d9624cfcca9be88a405e2857354e5b089c2a982144b2"}, - {file = "pydantic_core-2.10.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:14cfbb00959259e15d684505263d5a21732b31248a5dd4941f73a3be233865b9"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:631cb7415225954fdcc2a024119101946793e5923f6c4d73a5914d27eb3d3a05"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:bec7dd208a4182e99c5b6c501ce0b1f49de2802448d4056091f8e630b28e9a52"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:149b8a07712f45b332faee1a2258d8ef1fb4a36f88c0c17cb687f205c5dc6e7d"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d966c47f9dd73c2d32a809d2be529112d509321c5310ebf54076812e6ecd884"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7eb037106f5c6b3b0b864ad226b0b7ab58157124161d48e4b30c4a43fef8bc4b"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:154ea7c52e32dce13065dbb20a4a6f0cc012b4f667ac90d648d36b12007fa9f7"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e562617a45b5a9da5be4abe72b971d4f00bf8555eb29bb91ec2ef2be348cd132"}, - {file = "pydantic_core-2.10.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f23b55eb5464468f9e0e9a9935ce3ed2a870608d5f534025cd5536bca25b1402"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:e9121b4009339b0f751955baf4543a0bfd6bc3f8188f8056b1a25a2d45099934"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0523aeb76e03f753b58be33b26540880bac5aa54422e4462404c432230543f33"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e0e2959ef5d5b8dc9ef21e1a305a21a36e254e6a34432d00c72a92fdc5ecda5"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da01bec0a26befab4898ed83b362993c844b9a607a86add78604186297eb047e"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f2e9072d71c1f6cfc79a36d4484c82823c560e6f5599c43c1ca6b5cdbd54f881"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f36a3489d9e28fe4b67be9992a23029c3cec0babc3bd9afb39f49844a8c721c5"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f64f82cc3443149292b32387086d02a6c7fb39b8781563e0ca7b8d7d9cf72bd7"}, - {file = "pydantic_core-2.10.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b4a6db486ac8e99ae696e09efc8b2b9fea67b63c8f88ba7a1a16c24a057a0776"}, - {file = "pydantic_core-2.10.1.tar.gz", hash = "sha256:0f8682dbdd2f67f8e1edddcbffcc29f60a6182b4901c367fc8c1c40d30bb0a82"}, + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd"}, + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093"}, + {file = "pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720"}, + {file = "pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda"}, + {file = "pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651"}, + {file = "pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077"}, + {file = "pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d"}, + {file = "pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260"}, + {file = "pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36"}, + {file = "pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:af36f36538418f3806048f3b242a1777e2540ff9efaa667c27da63d2749dbce0"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:45e95333b8418ded64745f14574aa9bfc212cb4fbeed7a687b0c6e53b5e188cd"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e47a76848f92529879ecfc417ff88a2806438f57be4a6a8bf2961e8f9ca9ec7"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d81e6987b27bc7d101c8597e1cd2bcaa2fee5e8e0f356735c7ed34368c471550"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34708cc82c330e303f4ce87758828ef6e457681b58ce0e921b6e97937dd1e2a3"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c1988019752138b974c28f43751528116bcceadad85f33a258869e641d753"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e4d090e73e0725b2904fdbdd8d73b8802ddd691ef9254577b708d413bf3006e"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5c7d5b5005f177764e96bd584d7bf28d6e26e96f2a541fdddb934c486e36fd59"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a71891847f0a73b1b9eb86d089baee301477abef45f7eaf303495cd1473613e4"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a717aef6971208f0851a2420b075338e33083111d92041157bbe0e2713b37325"}, + {file = "pydantic_core-2.14.5-cp37-none-win32.whl", hash = "sha256:de790a3b5aa2124b8b78ae5faa033937a72da8efe74b9231698b5a1dd9be3405"}, + {file = "pydantic_core-2.14.5-cp37-none-win_amd64.whl", hash = "sha256:6c327e9cd849b564b234da821236e6bcbe4f359a42ee05050dc79d8ed2a91588"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:ef98ca7d5995a82f43ec0ab39c4caf6a9b994cb0b53648ff61716370eadc43cf"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6eae413494a1c3f89055da7a5515f32e05ebc1a234c27674a6956755fb2236f"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcf4e6d85614f7a4956c2de5a56531f44efb973d2fe4a444d7251df5d5c4dcfd"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6637560562134b0e17de333d18e69e312e0458ee4455bdad12c37100b7cad706"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77fa384d8e118b3077cccfcaf91bf83c31fe4dc850b5e6ee3dc14dc3d61bdba1"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e29bad40bcf97aac682a58861249ca9dcc57c3f6be22f506501833ddb8939c"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531f4b4252fac6ca476fbe0e6f60f16f5b65d3e6b583bc4d87645e4e5ddde331"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:074f3d86f081ce61414d2dc44901f4f83617329c6f3ab49d2bc6c96948b2c26b"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c2adbe22ab4babbca99c75c5d07aaf74f43c3195384ec07ccbd2f9e3bddaecec"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0f6116a558fd06d1b7c2902d1c4cf64a5bd49d67c3540e61eccca93f41418124"}, + {file = "pydantic_core-2.14.5-cp38-none-win32.whl", hash = "sha256:fe0a5a1025eb797752136ac8b4fa21aa891e3d74fd340f864ff982d649691867"}, + {file = "pydantic_core-2.14.5-cp38-none-win_amd64.whl", hash = "sha256:079206491c435b60778cf2b0ee5fd645e61ffd6e70c47806c9ed51fc75af078d"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209"}, + {file = "pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6"}, + {file = "pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab4ea451082e684198636565224bbb179575efc1658c48281b2c866bfd4ddf04"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ce601907e99ea5b4adb807ded3570ea62186b17f88e271569144e8cca4409c7"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb2ed8b3fe4bf4506d6dab3b93b83bbc22237e230cba03866d561c3577517d18"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70f947628e074bb2526ba1b151cee10e4c3b9670af4dbb4d73bc8a89445916b5"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4bc536201426451f06f044dfbf341c09f540b4ebdb9fd8d2c6164d733de5e634"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4791cf0f8c3104ac668797d8c514afb3431bc3305f5638add0ba1a5a37e0d88"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:038c9f763e650712b899f983076ce783175397c848da04985658e7628cbe873b"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:27548e16c79702f1e03f5628589c6057c9ae17c95b4c449de3c66b589ead0520"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97bee68898f3f4344eb02fec316db93d9700fb1e6a5b760ffa20d71d9a46ce3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b759b77f5337b4ea024f03abc6464c9f35d9718de01cfe6bae9f2e139c397e"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:439c9afe34638ace43a49bf72d201e0ffc1a800295bed8420c2a9ca8d5e3dbb3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ba39688799094c75ea8a16a6b544eb57b5b0f3328697084f3f2790892510d144"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ccd4d5702bb90b84df13bd491be8d900b92016c5a455b7e14630ad7449eb03f8"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:81982d78a45d1e5396819bbb4ece1fadfe5f079335dd28c4ab3427cd95389944"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3"}, + {file = "pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"}, ] [package.dependencies] @@ -2698,17 +2825,18 @@ docstring-parser = ">=0.12" [[package]] name = "pygments" -version = "2.16.1" +version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" @@ -2789,13 +2917,13 @@ cli = ["click (>=5.0)"] [[package]] name = "python-frontmatter" -version = "1.0.0" +version = "1.0.1" description = "Parse and manage posts with YAML (or other) frontmatter" optional = false python-versions = "*" files = [ - {file = "python-frontmatter-1.0.0.tar.gz", hash = "sha256:e98152e977225ddafea6f01f40b4b0f1de175766322004c826ca99842d19a7cd"}, - {file = "python_frontmatter-1.0.0-py3-none-any.whl", hash = "sha256:766ae75f1b301ffc5fe3494339147e0fd80bc3deff3d7590a93991978b579b08"}, + {file = "python-frontmatter-1.0.1.tar.gz", hash = "sha256:a6a082844fc601f34e4dd576bed8fcb5ef19112166e087629e4d6ba9bf4f7c35"}, + {file = "python_frontmatter-1.0.1-py3-none-any.whl", hash = "sha256:0599198cc01b445e5d0be74ff35be0a6c7442dddbdb0803e018be4e055397f6a"}, ] [package.dependencies] @@ -3023,13 +3151,13 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] [[package]] name = "rich" -version = "13.6.0" +version = "13.7.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.6.0-py3-none-any.whl", hash = "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245"}, - {file = "rich-13.6.0.tar.gz", hash = "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"}, + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, ] [package.dependencies] @@ -3055,109 +3183,109 @@ pyasn1 = ">=0.1.3" [[package]] name = "safetensors" -version = "0.4.0" +version = "0.4.1" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "safetensors-0.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2289ae6dbe6d027ecee016b28ced13a2e21a0b3a3a757a23033a2d1c0b1bad55"}, - {file = "safetensors-0.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bf6458959f310f551cbbeef2255527ade5f783f952738e73e4d0136198cc3bfe"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6b60a58a8f7cc7aed3b5b73dce1f5259a53c83d9ba43a76a874e6ad868c1b4d"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:491b3477e4d0d4599bb75d79da4b75af2e6ed9b1f6ec2b715991f0bc927bf09a"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d2e10b7e0cd18bb73ed7c17c624a5957b003b81345e18159591771c26ee428"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f667a4c12fb593f5f66ce966cb1b14a7148898b2b1a7f79e0761040ae1e3c51"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f9909512bcb6f712bdd04c296cdfb0d8ff73d258ffc5af884bb62ea02d221e0"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d33d29e846821f0e4f92614022949b09ccf063cb36fe2f9fe099cde1efbfbb87"}, - {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4d512525a8e05a045ce6698066ba0c5378c174a83e0b3720a8c7799dc1bb06f3"}, - {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0219cea445177f6ad1f9acd3a8d025440c8ff436d70a4a7c7ba9c36066aa9474"}, - {file = "safetensors-0.4.0-cp310-none-win32.whl", hash = "sha256:67ab171eeaad6972d3971c53d29d53353c67f6743284c6d637b59fa3e54c8a94"}, - {file = "safetensors-0.4.0-cp310-none-win_amd64.whl", hash = "sha256:7ffc736039f08a9ca1f09816a7481b8e4469c06e8f8a5ffa8cb67ddd79e6d77f"}, - {file = "safetensors-0.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4fe9e3737b30de458225a23926219ca30b902ee779b6a3df96eaab2b6d625ec2"}, - {file = "safetensors-0.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7916e814a90008de767b1c164a1d83803693c661ffe9af5a697b22e2752edb0"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbc4a4da01143472323c145f3c289e5f6fabde0ac0a3414dabf912a21692fff4"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a54c21654a47669b38e359e8f852af754b786c9da884bb61ad5e9af12bd71ccb"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25cd407955bad5340ba17f9f8ac789a0d751601a311e2f7b2733f9384478c95e"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82e8fc4e3503cd738fd40718a430fe0e5ce6e7ff91a73d6ce628bbb89c41e8ce"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b92059b1a4ad163024d4f526e0e73ebe2bb3ae70537e15e347820b4de5dc27"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5daa05058f7dce85b5f9f60c4eab483ed7859d63978f08a76e52e78859ff20ca"}, - {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a86565a5c112dd855909e20144947b4f53abb78c4de207f36ca71ee63ba5b90d"}, - {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38032078ed9fea52d06584e441bccc73fb475c4581600c6d6166de2fe2deb3d1"}, - {file = "safetensors-0.4.0-cp311-none-win32.whl", hash = "sha256:2f99d90c91b7c76b40a862acd9085bc77f7974a27dee7cfcebe46149af5a99a1"}, - {file = "safetensors-0.4.0-cp311-none-win_amd64.whl", hash = "sha256:74e2a448ffe19be188b457b130168190ee73b5a75e45ba96796320c1f5ae35d2"}, - {file = "safetensors-0.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:1e2f9c69b41d03b4826ffb96b29e07444bb6b34a78a7bafd0b88d59e8ec75b8a"}, - {file = "safetensors-0.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3910fb5bf747413b59f1a34e6d2a993b589fa7d919709518823c70efaaa350bd"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8fdca709b2470a35a59b1e6dffea75cbe1214b22612b5dd4c93947697aea8b"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f27b8ef814c5fb43456caeb7f3cbb889b76115180aad1f42402839c14a47c5b"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b2d6101eccc43c7be0cb052f13ceda64288b3d8b344b988ed08d7133cbce2f3"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdc34027b545a69be3d4220c140b276129523e4e46db06ad1a0b60d6a4cf9214"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db7bb48ca9e90bb9526c71b388d38d8de160c0354f4c5126df23e8701a870dcb"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a78ffc0795d3595cd9e4d453502e35f764276c49e434b25556a15a337db4dafc"}, - {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8e735b0f79090f6855b55e205e820b7b595502ffca0009a5c13eef3661ce465b"}, - {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f8d2416734e850d5392afffbcb2b8985ea29fb171f1cb197e2ae51b8e35d6438"}, - {file = "safetensors-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:e853e189ba7d47eaf561094586692ba2bbdd258c096f1755805cac098de0e6ab"}, - {file = "safetensors-0.4.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4b2aa57b5a4d576f3d1dd6e56980026340f156f8a13c13016bfac4e25295b53f"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b6c1316ffde6cb4bf22c7445bc9fd224b4d1b9dd7320695f5611c89e802e4b6"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:003077ec85261d00061058fa12e3c1d2055366b02ce8f2938929359ffbaff2b8"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd63d83a92f1437a8b0431779320376030ae43ace980bea5686d515de0784100"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2077801800b4b13301d8d6290c7fb5bd60737320001717153ebc4371776643b5"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7abe0e157a49a75aeeccfbc4f3dac38d8f98512d3cdb35c200f8e628dc5773cf"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bfed574f6b1e7e7fe1f17213278875ef6c6e8b1582ab6eda93947db1178cae6"}, - {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:964ef166a286ce3b023d0d0bd0e21d440a1c8028981c8abdb136bc7872ba9b3d"}, - {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:44f84373e42183bd56a13a1f2d8acb1db7fedaeffbd83e79cec861477eee1af4"}, - {file = "safetensors-0.4.0-cp37-none-win32.whl", hash = "sha256:c68132727dd86fb641102e494d445f705efe402f4d5e24b278183a15499ab400"}, - {file = "safetensors-0.4.0-cp37-none-win_amd64.whl", hash = "sha256:1db87155454c168aef118d5657a403aee48a4cb08d8851a981157f07351ea317"}, - {file = "safetensors-0.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9e583fa68e5a07cc859c4e13c1ebff12029904aa2e27185cf04a1f57fe9a81c4"}, - {file = "safetensors-0.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73e7696dcf3f72f99545eb1abe6106ad65ff1f62381d6ce4b34be3272552897a"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4936096a57c62e84e200f92620a536be067fc5effe46ecc7f230ebb496ecd579"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87b328ee1591adac332543e1f5fc2c2d7f149b745ebb0d58d7850818ff9cee27"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b69554c143336256260eceff1d3c0969172a641b54d4668489a711b05f92a2c0"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ebf6bcece5d5d1bd6416472f94604d2c834ca752ac60ed42dba7157e595a990"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6686ce01b8602d55a7d9903c90d4a6e6f90aeb6ddced7cf4605892d0ba94bcb8"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b8fd6cc2f3bda444a048b541c843c7b7fefc89c4120d7898ea7d5b026e93891"}, - {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8a6abfe67692f81b8bdb99c837f28351c17e624ebf136970c850ee989c720446"}, - {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27a24ca8822c469ee452db4c13418ba983315a0d863c018a9af15f2305eac38c"}, - {file = "safetensors-0.4.0-cp38-none-win32.whl", hash = "sha256:c4a0a47c8640167792d8261ee21b26430bbc39130a7edaad7f4c0bc05669d00e"}, - {file = "safetensors-0.4.0-cp38-none-win_amd64.whl", hash = "sha256:a738970a367f39249e2abb900d9441a8a86d7ff50083e5eaa6e7760a9f216014"}, - {file = "safetensors-0.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:806379f37e1abd5d302288c4b2f4186dd7ea7143d4c7811f90a8077f0ae8967b"}, - {file = "safetensors-0.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b9b94133ed2ae9dda0e95dcace7b7556eba023ffa4c4ae6df8f99377f571d6a"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b563a14c43614815a6b524d2e4edeaace50b717f7e7487bb227dd5b68350f5a"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00a9b157be660fb7ba88fa2eedd05ec93793a5b61e43e783e10cb0b995372802"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8f194f45ab6aa767993c24f0aeb950af169dbc5d611b94c9021a1d13b8a1a34"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:469360b9451db10bfed3881378d5a71b347ecb1ab4f42367d77b8164a13af70b"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5f75fa97ccf32a3c7af476c6a0e851023197d3c078f6de3612008fff94735f9"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acf0180283c2efae72f1d8c0a4a7974662091df01be3aa43b5237b1e52ed0a01"}, - {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cd02b495ba0814619f40bda46771bb06dbbf1d42524b66fa03b2a736c77e4515"}, - {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c42bdea183dbaa99e2f0e6120dc524df79cf4289a6f90f30a534444ef20f49fa"}, - {file = "safetensors-0.4.0-cp39-none-win32.whl", hash = "sha256:cef7bb5d9feae7146c3c3c7b3aef7d2c8b39ba7f5ff4252d368eb69462a47076"}, - {file = "safetensors-0.4.0-cp39-none-win_amd64.whl", hash = "sha256:79dd46fb1f19282fd12f544471efb97823ede927cedbf9cf35550d92b349fdd2"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:002301c1afa32909f83745b0c124d002e7ae07e15671f3b43cbebd0ffc5e6037"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:67762d36ae088c73d4a3c96bfc4ea8d31233554f35b6cace3a18533238d462ea"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f45230f20a206e5e4c7f7bbf9342178410c6f8b0af889843aa99045a76f7691"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f2ca939bbd8fb2f4dfa28e39a146dad03bc9325e9fc831b68f7b98f69a5a2f1"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61a00f281391fae5ce91df70918bb61c12d2d514a493fd8056e12114be729911"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:435fd136a42492b280cb55126f9ce9535b35dd49df2c5d572a5945455a439448"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f0daa788273d683258fb1e4a5e16bef4486b2fca536451a2591bc0f4a6488895"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0620ab0d41e390ccb1c4ea8f63dc00cb5f0b96a5cdd3cd0d64c21765720c074a"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1fa8d067733cb67f22926689ee808f08afacf7700d2ffb44efae90a0693eb1"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaa40bc363edda145db75cd030f3b1822e5478d550c3500a42502ecef32c959"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b561fbc044db7beff2ece0ec219a291809d45a38d30c6b38e7cc46482582f4ba"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:79a983b09782dacf9a1adb19bb98f4a8f6c3144108939f572c047b5797e43cf5"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:10b65cd3ad79f5d0daf281523b4146bc271a34bb7430d4e03212e0de8622dab8"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:114decacc475a6a9e2f9102a00c171d113ddb5d35cb0bda0db2c0c82b2eaa9ce"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:72ddb741dd5fe42521db76a70e012f76995516a12e7e0ef26be03ea9be77802a"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c5556c2ec75f5a6134866eddd7341cb36062e6edaea343478a279591b63ddba"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed50f239b0ce7ae85b078395593b4a351ede7e6f73af25f4873e3392336f64c9"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495dcaea8fbab70b927d2274e2547824462737acbf98ccd851a71124f779a5c6"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3f4d90c79a65ba2fe2ff0876f6140748f0a3ce6a21e27a35190f4f96321803f8"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7a524382b5c55b5fbb168e0e9d3f502450c8cf3fb81b93e880018437c206a482"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:9849ea60c7e840bfdd6030ad454d4a6ba837b3398c902f15a30460dd6961c28c"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:6c42623ae7045615d9eaa6877b9df1db4e9cc71ecc14bcc721ea1e475dddd595"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80cb8342f00f3c41b3b93b1a599b84723280d3ac90829bc62262efc03ab28793"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c4f5ed4ede384dea8c99bae76b0718a828dbf7b2c8ced1f44e3b9b1a124475"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40d7cf03493bfe75ef62e2c716314474b28d9ba5bf4909763e4b8dd14330c01a"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:232029f0a9fa6fa1f737324eda98a700409811186888536a2333cbbf64e41741"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9ed55f4a20c78ff3e8477efb63c8303c2152cdfb3bfea4d025a80f54d38fd628"}, - {file = "safetensors-0.4.0.tar.gz", hash = "sha256:b985953c3cf11e942eac4317ef3db3da713e274109cf7cfb6076d877054f013e"}, + {file = "safetensors-0.4.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cba01c6b76e01ec453933b3b3c0157c59b52881c83eaa0f7666244e71aa75fd1"}, + {file = "safetensors-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a8f6f679d97ea0135c7935c202feefbd042c149aa70ee759855e890c01c7814"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbc2ce1f5ae5143a7fb72b71fa71db6a42b4f6cf912aa3acdc6b914084778e68"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2d87d993eaefe6611a9c241a8bd364a5f1ffed5771c74840363a6c4ed8d868f6"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:097e9af2efa8778cd2f0cba451784253e62fa7cc9fc73c0744d27212f7294e25"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d10a9f7bae608ccfdc009351f01dc3d8535ff57f9488a58a4c38e45bf954fe93"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:270b99885ec14abfd56c1d7f28ada81740a9220b4bae960c3de1c6fe84af9e4d"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:285b52a481e7ba93e29ad4ec5841ef2c4479ef0a6c633c4e2629e0508453577b"}, + {file = "safetensors-0.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c3c9f0ca510e0de95abd6424789dcbc879942a3a4e29b0dfa99d9427bf1da75c"}, + {file = "safetensors-0.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:88b4653059c903015284a9722f9a46838c654257173b279c8f6f46dbe80b612d"}, + {file = "safetensors-0.4.1-cp310-none-win32.whl", hash = "sha256:2fe6926110e3d425c4b684a4379b7796fdc26ad7d16922ea1696c8e6ea7e920f"}, + {file = "safetensors-0.4.1-cp310-none-win_amd64.whl", hash = "sha256:a79e16222106b2f5edbca1b8185661477d8971b659a3c814cc6f15181a9b34c8"}, + {file = "safetensors-0.4.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:d93321eea0dd7e81b283e47a1d20dee6069165cc158286316d0d06d340de8fe8"}, + {file = "safetensors-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8ff8e41c8037db17de0ea2a23bc684f43eaf623be7d34906fe1ac10985b8365e"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39d36f1d88468a87c437a1bc27c502e71b6ca44c385a9117a9f9ba03a75cc9c6"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7ef010e9afcb4057fb6be3d0a0cfa07aac04fe97ef73fe4a23138d8522ba7c17"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b287304f2b2220d51ccb51fd857761e78bcffbeabe7b0238f8dc36f2edfd9542"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e09000b2599e1836314430f81a3884c66a5cbabdff5d9f175b5d560d4de38d78"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9c80ce0001efa16066358d2dd77993adc25f5a6c61850e4ad096a2232930bce"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:413e1f6ac248f7d1b755199a06635e70c3515493d3b41ba46063dec33aa2ebb7"}, + {file = "safetensors-0.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3ac139377cfe71ba04573f1cda66e663b7c3e95be850e9e6c2dd4b5984bd513"}, + {file = "safetensors-0.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:04157d008385bea66d12fe90844a80d4a76dc25ec5230b5bd9a630496d1b7c03"}, + {file = "safetensors-0.4.1-cp311-none-win32.whl", hash = "sha256:5f25297148ec665f0deb8bd67e9564634d8d6841041ab5393ccfe203379ea88b"}, + {file = "safetensors-0.4.1-cp311-none-win_amd64.whl", hash = "sha256:b2f8877990a72ff595507b80f4b69036a9a1986a641f8681adf3425d97d3d2a5"}, + {file = "safetensors-0.4.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:eb2c1da1cc39509d1a55620a5f4d14f8911c47a89c926a96e6f4876e864375a3"}, + {file = "safetensors-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:303d2c0415cf15a28f8d7f17379ea3c34c2b466119118a34edd9965983a1a8a6"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb4cb3e37a9b961ddd68e873b29fe9ab4a081e3703412e34aedd2b7a8e9cafd9"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae5497adc68669db2fed7cb2dad81e6a6106e79c9a132da3efdb6af1db1014fa"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b30abd0cddfe959d1daedf92edcd1b445521ebf7ddefc20860ed01486b33c90"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d784a98c492c751f228a4a894c3b8a092ff08b24e73b5568938c28b8c0e8f8df"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57a5ab08b0ec7a7caf30d2ac79bb30c89168431aca4f8854464bb9461686925"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:edcf3121890b5f0616aa5a54683b1a5d2332037b970e507d6bb7841a3a596556"}, + {file = "safetensors-0.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fdb58dee173ef33634c3016c459d671ca12d11e6acf9db008261cbe58107e579"}, + {file = "safetensors-0.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:780dc21eb3fd32ddd0e8c904bdb0290f2454f4ac21ae71e94f9ce72db1900a5a"}, + {file = "safetensors-0.4.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:48901bd540f8a3c1791314bc5c8a170927bf7f6acddb75bf0a263d081a3637d4"}, + {file = "safetensors-0.4.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:3b0b7b2d5976fbed8a05e2bbdce5816a59e6902e9e7c7e07dc723637ed539787"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f69903ff49cb30b9227fb5d029bea276ea20d04b06803877a420c5b1b74c689"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0ddd050e01f3e843aa8c1c27bf68675b8a08e385d0045487af4d70418c3cb356"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a82bc2bd7a9a0e08239bdd6d7774d64121f136add93dfa344a2f1a6d7ef35fa"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ace9e66a40f98a216ad661245782483cf79cf56eb2b112650bb904b0baa9db5"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82cbb8f4d022f2e94498cbefca900698b8ded3d4f85212f47da614001ff06652"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:791edc10a3c359a2f5f52d5cddab0df8a45107d91027d86c3d44e57162e5d934"}, + {file = "safetensors-0.4.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:83c2cfbe8c6304f0891e7bb378d56f66d2148972eeb5f747cd8a2246886f0d8c"}, + {file = "safetensors-0.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:04dd14f53f5500eb4c4149674216ba1000670efbcf4b1b5c2643eb244e7882ea"}, + {file = "safetensors-0.4.1-cp37-none-win32.whl", hash = "sha256:d5b3defa74f3723a388bfde2f5d488742bc4879682bd93267c09a3bcdf8f869b"}, + {file = "safetensors-0.4.1-cp37-none-win_amd64.whl", hash = "sha256:25a043cbb59d4f75e9dd87fdf5c009dd8830105a2c57ace49b72167dd9808111"}, + {file = "safetensors-0.4.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:3f6a520af7f2717c5ecba112041f2c8af1ca6480b97bf957aba81ed9642e654c"}, + {file = "safetensors-0.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c3807ac3b16288dffebb3474b555b56fe466baa677dfc16290dcd02dca1ab228"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b58ba13a9e82b4bc3fc221914f6ef237fe6c2adb13cede3ace64d1aacf49610"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dac4bb42f8679aadc59bd91a4c5a1784a758ad49d0912995945cd674089f628e"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:911b48dc09e321a194def3a7431662ff4f03646832f3a8915bbf0f449b8a5fcb"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82571d20288c975c1b30b08deb9b1c3550f36b31191e1e81fae87669a92217d0"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da52ee0dc8ba03348ffceab767bd8230842fdf78f8a996e2a16445747143a778"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2536b11ce665834201072e9397404170f93f3be10cca9995b909f023a04501ee"}, + {file = "safetensors-0.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:998fbac99ca956c3a09fe07cc0b35fac26a521fa8865a690686d889f0ff4e4a6"}, + {file = "safetensors-0.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:845be0aafabf2a60c2d482d4e93023fecffe5e5443d801d7a7741bae9de41233"}, + {file = "safetensors-0.4.1-cp38-none-win32.whl", hash = "sha256:ce7a28bc8af685a69d7e869d09d3e180a275e3281e29cf5f1c7319e231932cc7"}, + {file = "safetensors-0.4.1-cp38-none-win_amd64.whl", hash = "sha256:e056fb9e22d118cc546107f97dc28b449d88274207dd28872bd668c86216e4f6"}, + {file = "safetensors-0.4.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:bdc0d039e44a727824639824090bd8869535f729878fa248addd3dc01db30eae"}, + {file = "safetensors-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c1b1d510c7aba71504ece87bf393ea82638df56303e371e5e2cf09d18977dd7"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd0afd95c1e497f520e680ea01e0397c0868a3a3030e128438cf6e9e3fcd671"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f603bdd8deac6726d39f41688ed353c532dd53935234405d79e9eb53f152fbfb"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8a85e3e47e0d4eebfaf9a58b40aa94f977a56050cb5598ad5396a9ee7c087c6"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0ccb5aa0f3be2727117e5631200fbb3a5b3a2b3757545a92647d6dd8be6658f"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d784938534e255473155e4d9f276ee69eb85455b6af1292172c731409bf9adee"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a257de175c254d39ccd6a21341cd62eb7373b05c1e618a78096a56a857e0c316"}, + {file = "safetensors-0.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6fd80f7794554091836d4d613d33a7d006e2b8d6ba014d06f97cebdfda744f64"}, + {file = "safetensors-0.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:35803201d980efcf964b75a0a2aee97fe5e9ecc5f3ad676b38fafdfe98e0620d"}, + {file = "safetensors-0.4.1-cp39-none-win32.whl", hash = "sha256:7ff8a36e0396776d3ed9a106fc9a9d7c55d4439ca9a056a24bf66d343041d3e6"}, + {file = "safetensors-0.4.1-cp39-none-win_amd64.whl", hash = "sha256:bfa2e20342b81921b98edba52f8deb68843fa9c95250739a56b52ceda5ea5c61"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ae2d5a31cfb8a973a318f7c4d2cffe0bd1fe753cdf7bb41a1939d45a0a06f964"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a45dbf03e8334d3a5dc93687d98b6dc422f5d04c7d519dac09b84a3c87dd7c6"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297b359d91126c0f9d4fd17bae3cfa2fe3a048a6971b8db07db746ad92f850c"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bda3d98e2bcece388232cfc551ebf063b55bdb98f65ab54df397da30efc7dcc5"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8934bdfd202ebd0697040a3dff40dd77bc4c5bbf3527ede0532f5e7fb4d970f"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:42c3710cec7e5c764c7999697516370bee39067de0aa089b7e2cfb97ac8c6b20"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:53134226053e56bd56e73f7db42596e7908ed79f3c9a1016e4c1dade593ac8e5"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:257d59e40a1b367cb544122e7451243d65b33c3f34d822a347f4eea6fdf97fdf"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d54c2f1826e790d1eb2d2512bfd0ee443f0206b423d6f27095057c7f18a0687"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:645b3f1138fce6e818e79d4128afa28f0657430764cc045419c1d069ff93f732"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9a7ffb1e551c6df51d267f5a751f042b183df22690f6feceac8d27364fd51d7"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:44e230fbbe120de564b64f63ef3a8e6ff02840fa02849d9c443d56252a1646d4"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9d16b3b2fcc6fca012c74bd01b5619c655194d3e3c13e4d4d0e446eefa39a463"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:5d95ea4d8b32233910734a904123bdd3979c137c461b905a5ed32511defc075f"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:dab431699b5d45e0ca043bc580651ce9583dda594e62e245b7497adb32e99809"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d8bbb7344e39cb9d4762e85c21df94ebeb03edac923dd94bb9ed8c10eac070"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1faf5111c66a6ba91f85dff2e36edaaf36e6966172703159daeef330de4ddc7b"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:660ca1d8bff6c7bc7c6b30b9b32df74ef3ab668f5df42cefd7588f0d40feadcb"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ae2f67f04ed0bb2e56fd380a8bd3eef03f609df53f88b6f5c7e89c08e52aae00"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c8ed5d2c04cdc1afc6b3c28d59580448ac07732c50d94c15e14670f9c473a2ce"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2b6a2814278b6660261aa9a9aae524616de9f1ec364e3716d219b6ed8f91801f"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3cfd1ca35eacc635f0eaa894e5c5ed83ffebd0f95cac298fd430014fa7323631"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4177b456c6b0c722d82429127b5beebdaf07149d265748e97e0a34ff0b3694c8"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:313e8472197bde54e3ec54a62df184c414582979da8f3916981b6a7954910a1b"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fdb4adb76e21bad318210310590de61c9f4adcef77ee49b4a234f9dc48867869"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:1d568628e9c43ca15eb96c217da73737c9ccb07520fafd8a1eba3f2750614105"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:573b6023a55a2f28085fc0a84e196c779b6cbef4d9e73acea14c8094fee7686f"}, + {file = "safetensors-0.4.1.tar.gz", hash = "sha256:2304658e6ada81a5223225b4efe84748e760c46079bffedf7e321763cafb36c9"}, ] [package.extras] @@ -3221,36 +3349,36 @@ tests = ["black (>=23.3.0)", "matplotlib (>=3.1.3)", "mypy (>=1.3)", "numpydoc ( [[package]] name = "scipy" -version = "1.11.3" +version = "1.11.4" description = "Fundamental algorithms for scientific computing in Python" optional = false -python-versions = "<3.13,>=3.9" -files = [ - {file = "scipy-1.11.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:370f569c57e1d888304052c18e58f4a927338eafdaef78613c685ca2ea0d1fa0"}, - {file = "scipy-1.11.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:9885e3e4f13b2bd44aaf2a1a6390a11add9f48d5295f7a592393ceb8991577a3"}, - {file = "scipy-1.11.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e04aa19acc324a1a076abb4035dabe9b64badb19f76ad9c798bde39d41025cdc"}, - {file = "scipy-1.11.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1a8a4657673bfae1e05e1e1d6e94b0cabe5ed0c7c144c8aa7b7dbb774ce5c1"}, - {file = "scipy-1.11.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7abda0e62ef00cde826d441485e2e32fe737bdddee3324e35c0e01dee65e2a88"}, - {file = "scipy-1.11.3-cp310-cp310-win_amd64.whl", hash = "sha256:033c3fd95d55012dd1148b201b72ae854d5086d25e7c316ec9850de4fe776929"}, - {file = "scipy-1.11.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:925c6f09d0053b1c0f90b2d92d03b261e889b20d1c9b08a3a51f61afc5f58165"}, - {file = "scipy-1.11.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5664e364f90be8219283eeb844323ff8cd79d7acbd64e15eb9c46b9bc7f6a42a"}, - {file = "scipy-1.11.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00f325434b6424952fbb636506f0567898dca7b0f7654d48f1c382ea338ce9a3"}, - {file = "scipy-1.11.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f290cf561a4b4edfe8d1001ee4be6da60c1c4ea712985b58bf6bc62badee221"}, - {file = "scipy-1.11.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:91770cb3b1e81ae19463b3c235bf1e0e330767dca9eb4cd73ba3ded6c4151e4d"}, - {file = "scipy-1.11.3-cp311-cp311-win_amd64.whl", hash = "sha256:e1f97cd89c0fe1a0685f8f89d85fa305deb3067d0668151571ba50913e445820"}, - {file = "scipy-1.11.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dfcc1552add7cb7c13fb70efcb2389d0624d571aaf2c80b04117e2755a0c5d15"}, - {file = "scipy-1.11.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0d3a136ae1ff0883fffbb1b05b0b2fea251cb1046a5077d0b435a1839b3e52b7"}, - {file = "scipy-1.11.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bae66a2d7d5768eaa33008fa5a974389f167183c87bf39160d3fefe6664f8ddc"}, - {file = "scipy-1.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2f6dee6cbb0e263b8142ed587bc93e3ed5e777f1f75448d24fb923d9fd4dce6"}, - {file = "scipy-1.11.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:74e89dc5e00201e71dd94f5f382ab1c6a9f3ff806c7d24e4e90928bb1aafb280"}, - {file = "scipy-1.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:90271dbde4be191522b3903fc97334e3956d7cfb9cce3f0718d0ab4fd7d8bfd6"}, - {file = "scipy-1.11.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a63d1ec9cadecce838467ce0631c17c15c7197ae61e49429434ba01d618caa83"}, - {file = "scipy-1.11.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:5305792c7110e32ff155aed0df46aa60a60fc6e52cd4ee02cdeb67eaccd5356e"}, - {file = "scipy-1.11.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ea7f579182d83d00fed0e5c11a4aa5ffe01460444219dedc448a36adf0c3917"}, - {file = "scipy-1.11.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c77da50c9a91e23beb63c2a711ef9e9ca9a2060442757dffee34ea41847d8156"}, - {file = "scipy-1.11.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:15f237e890c24aef6891c7d008f9ff7e758c6ef39a2b5df264650eb7900403c0"}, - {file = "scipy-1.11.3-cp39-cp39-win_amd64.whl", hash = "sha256:4b4bb134c7aa457e26cc6ea482b016fef45db71417d55cc6d8f43d799cdf9ef2"}, - {file = "scipy-1.11.3.tar.gz", hash = "sha256:bba4d955f54edd61899776bad459bf7326e14b9fa1c552181f0479cc60a568cd"}, +python-versions = ">=3.9" +files = [ + {file = "scipy-1.11.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc9a714581f561af0848e6b69947fda0614915f072dfd14142ed1bfe1b806710"}, + {file = "scipy-1.11.4-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:cf00bd2b1b0211888d4dc75656c0412213a8b25e80d73898083f402b50f47e41"}, + {file = "scipy-1.11.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9999c008ccf00e8fbcce1236f85ade5c569d13144f77a1946bef8863e8f6eb4"}, + {file = "scipy-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:933baf588daa8dc9a92c20a0be32f56d43faf3d1a60ab11b3f08c356430f6e56"}, + {file = "scipy-1.11.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8fce70f39076a5aa62e92e69a7f62349f9574d8405c0a5de6ed3ef72de07f446"}, + {file = "scipy-1.11.4-cp310-cp310-win_amd64.whl", hash = "sha256:6550466fbeec7453d7465e74d4f4b19f905642c89a7525571ee91dd7adabb5a3"}, + {file = "scipy-1.11.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f313b39a7e94f296025e3cffc2c567618174c0b1dde173960cf23808f9fae4be"}, + {file = "scipy-1.11.4-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1b7c3dca977f30a739e0409fb001056484661cb2541a01aba0bb0029f7b68db8"}, + {file = "scipy-1.11.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00150c5eae7b610c32589dda259eacc7c4f1665aedf25d921907f4d08a951b1c"}, + {file = "scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:530f9ad26440e85766509dbf78edcfe13ffd0ab7fec2560ee5c36ff74d6269ff"}, + {file = "scipy-1.11.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5e347b14fe01003d3b78e196e84bd3f48ffe4c8a7b8a1afbcb8f5505cb710993"}, + {file = "scipy-1.11.4-cp311-cp311-win_amd64.whl", hash = "sha256:acf8ed278cc03f5aff035e69cb511741e0418681d25fbbb86ca65429c4f4d9cd"}, + {file = "scipy-1.11.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:028eccd22e654b3ea01ee63705681ee79933652b2d8f873e7949898dda6d11b6"}, + {file = "scipy-1.11.4-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c6ff6ef9cc27f9b3db93a6f8b38f97387e6e0591600369a297a50a8e96e835d"}, + {file = "scipy-1.11.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b030c6674b9230d37c5c60ab456e2cf12f6784596d15ce8da9365e70896effc4"}, + {file = "scipy-1.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad669df80528aeca5f557712102538f4f37e503f0c5b9541655016dd0932ca79"}, + {file = "scipy-1.11.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce7fff2e23ab2cc81ff452a9444c215c28e6305f396b2ba88343a567feec9660"}, + {file = "scipy-1.11.4-cp312-cp312-win_amd64.whl", hash = "sha256:36750b7733d960d7994888f0d148d31ea3017ac15eef664194b4ef68d36a4a97"}, + {file = "scipy-1.11.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e619aba2df228a9b34718efb023966da781e89dd3d21637b27f2e54db0410d7"}, + {file = "scipy-1.11.4-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f3cd9e7b3c2c1ec26364856f9fbe78695fe631150f94cd1c22228456404cf1ec"}, + {file = "scipy-1.11.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d10e45a6c50211fe256da61a11c34927c68f277e03138777bdebedd933712fea"}, + {file = "scipy-1.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91af76a68eeae0064887a48e25c4e616fa519fa0d38602eda7e0f97d65d57937"}, + {file = "scipy-1.11.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6df1468153a31cf55ed5ed39647279beb9cfb5d3f84369453b49e4b8502394fd"}, + {file = "scipy-1.11.4-cp39-cp39-win_amd64.whl", hash = "sha256:ee410e6de8f88fd5cf6eadd73c135020bfbbbdfcd0f6162c36a7638a1ea8cc65"}, + {file = "scipy-1.11.4.tar.gz", hash = "sha256:90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa"}, ] [package.dependencies] @@ -3368,17 +3496,17 @@ test = ["pytest"] [[package]] name = "setuptools" -version = "68.2.2" +version = "69.0.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, + {file = "setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] @@ -3701,24 +3829,28 @@ tests = ["absl-py", "pytest", "tensorflow-datasets (>=3.2.0)"] [[package]] name = "tensorstore" -version = "0.1.47" +version = "0.1.51" description = "Read and write large, multi-dimensional arrays" optional = false python-versions = ">=3.9" files = [ - {file = "tensorstore-0.1.47-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:1e03526d3b1580bbae5380e7d0584f3155d400ff2cf41b05daa5cd64de091b20"}, - {file = "tensorstore-0.1.47-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:471e395c568d5250f13adbe0d0504b0a0a31c54ea0ef2c1eef0bf33416f60258"}, - {file = "tensorstore-0.1.47-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59d5836bb9c718a90a6eb3b224789c9c7b6711d587ee934d85e523bf7dea747b"}, - {file = "tensorstore-0.1.47-cp310-cp310-win_amd64.whl", hash = "sha256:a92d7f38da523705b1b2112ee401747e6863b1b468b86b196498f74a69611844"}, - {file = "tensorstore-0.1.47-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:0a83f5f61a093d0305b22806dadc0a6dc7d76bb7f54a993289488c04d70cae74"}, - {file = "tensorstore-0.1.47-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b0c718636f096a4bd7ecba1d3c77d536e7e22d5f9910a58928312efa4192bdc"}, - {file = "tensorstore-0.1.47-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1c7f5b06a901bd971641e22e1a652021def05ddd9964a5cb9b042cdde66899e"}, - {file = "tensorstore-0.1.47-cp311-cp311-win_amd64.whl", hash = "sha256:58b276f94130afc7cc457f5dd999a9c950805cc2452b5596b601976b747cb207"}, - {file = "tensorstore-0.1.47-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:8f5b8ef58d6c9290b068404e6f86998b0aa9a069ccb6f191f18ae2be6ff83919"}, - {file = "tensorstore-0.1.47-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe89552f24e78137c2b98b750b29433fee4fd3c84c1074c6cb5504adbf8761ee"}, - {file = "tensorstore-0.1.47-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c50fcf83ec2e586b0f1df2bb9cfd36182222a79df486c80ab957f4c94656b5db"}, - {file = "tensorstore-0.1.47-cp39-cp39-win_amd64.whl", hash = "sha256:16ba3522b18a7141c0255065f88003646f07f7554b481fdf1bc50d2de0aba256"}, - {file = "tensorstore-0.1.47.tar.gz", hash = "sha256:734c8bdf63ced1d0d45ef008da4f4b54cebcedcac1a20cf255d5cf7679abd3ee"}, + {file = "tensorstore-0.1.51-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:66bd61a819fb36a238fed24c0bcbb04e945e8185e15bc8e052904be9543cc3b9"}, + {file = "tensorstore-0.1.51-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:23d56d71150a0eb1631b0217b590d1ffba310b5afdebe902fc104eb80d5cb975"}, + {file = "tensorstore-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1269855bb59ec1d67a542382c3ab362e4c2343995a05ba4aa7e10470d10ccae2"}, + {file = "tensorstore-0.1.51-cp310-cp310-win_amd64.whl", hash = "sha256:60c0d797e0ccf3ad9a9277310715ad2ab40d014bcd6fc0885d6e89f05f21e5c7"}, + {file = "tensorstore-0.1.51-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:7996aa605d743ddabde84ca24fb0891beb45e0b4bf7cd64fe9d9f340e137146f"}, + {file = "tensorstore-0.1.51-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:03bea83d2dc78599611f32e4c86a2bf9e5b797fd2868a15ee438f0d2596f2230"}, + {file = "tensorstore-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a6a7d1622cce46019e8b9a36668031c9f817b5b1f78fe47e71a920e36692fde"}, + {file = "tensorstore-0.1.51-cp311-cp311-win_amd64.whl", hash = "sha256:ee8900136b00ac11b253a824f3bc8b8b25a0d37704e117aa6a8d5c84218309e6"}, + {file = "tensorstore-0.1.51-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:4c834f91d7ce91837737dbe2babd53e3e60b161e8bdcf4b3c4450c1bb02356e6"}, + {file = "tensorstore-0.1.51-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db34ec518e8e6dc542359d370631567775f90fbbdd2943d455de27a53b82c3e0"}, + {file = "tensorstore-0.1.51-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0beab1a0e50c1db760cb8eb93ce4c51e9c4954b01fa99b73276712cdc238e58b"}, + {file = "tensorstore-0.1.51-cp312-cp312-win_amd64.whl", hash = "sha256:d64ba3b6a7485beebea8f1ea03d6e95752e32f94b03a708361d2d6ed58032feb"}, + {file = "tensorstore-0.1.51-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:39bebfc68163831aa1c1a35d7840e0aab155b80cd450947499041ebbdb3bc35a"}, + {file = "tensorstore-0.1.51-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:20425519d1b9f18e56e6dc954bfe1753179cb21522bb211d275e33f60cd1a79c"}, + {file = "tensorstore-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cc93cf2336ab7125ee09c2a521d6b078d27ce3f405369318fdf452e387b6b1a"}, + {file = "tensorstore-0.1.51-cp39-cp39-win_amd64.whl", hash = "sha256:dbb56354d80ac4e88d5d8df562e27b73b91ce08412ad217f35b58660a2798b40"}, + {file = "tensorstore-0.1.51.tar.gz", hash = "sha256:8a7610c0cc5263593dd8865160f7a1c51d8380706008cd0f866150b36550bd31"}, ] [package.dependencies] @@ -3727,13 +3859,13 @@ numpy = ">=1.16.0" [[package]] name = "termcolor" -version = "2.3.0" +version = "2.4.0" description = "ANSI color formatting for output in terminal" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "termcolor-2.3.0-py3-none-any.whl", hash = "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475"}, - {file = "termcolor-2.3.0.tar.gz", hash = "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"}, + {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"}, + {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"}, ] [package.extras] @@ -3741,17 +3873,18 @@ tests = ["pytest", "pytest-cov"] [[package]] name = "tfds-nightly" -version = "4.9.3.dev202310060044" +version = "4.9.3.dev202312070044" description = "tensorflow/datasets is a library of datasets ready to use with TensorFlow." optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "tfds_nightly-4.9.3.dev202310060044-py3-none-any.whl", hash = "sha256:7fd508aa4ccee45a2a8ec9885c01db00b244411495e8d07ed06fc35e9542cacd"}, + {file = "tfds-nightly-4.9.3.dev202312070044.tar.gz", hash = "sha256:80323fca768011f0680c11ebf2c0a109f092c697a85aec7d317e3c221f579fc4"}, + {file = "tfds_nightly-4.9.3.dev202312070044-py3-none-any.whl", hash = "sha256:2fe4c1d01d1a90a6d6a4588c22c1fed5eb18ef0ff223e390b0ac3f5c9354d085"}, ] [package.dependencies] absl-py = "*" -array-record = "*" +array-record = {version = ">=0.5.0", markers = "platform_system == \"Linux\""} click = "*" dm-tree = "*" etils = {version = ">=0.9.0", extras = ["enp", "epath", "etree"]} @@ -3775,7 +3908,7 @@ c4-wsrs = ["apache-beam"] cats-vs-dogs = ["matplotlib"] colorectal-histology = ["Pillow"] common-voice = ["pydub"] -dev = ["apache-beam", "conllu", "datasets", "dill", "jax[cpu]", "jupyter", "pandas", "pydub", "pylint (>=2.6.0)", "pytest", "pytest-shard", "pytest-xdist", "pyyaml", "tensorflow-io[tensorflow]", "yapf"] +dev = ["apache-beam", "conllu", "dill", "jax[cpu]", "jupyter", "pandas", "pydub", "pylint (>=2.6.0)", "pytest", "pytest-shard", "pytest-xdist", "pyyaml", "tensorflow-io[tensorflow]", "yapf"] duke-ultrasound = ["scipy"] eurosat = ["imagecodecs", "scikit-image", "tifffile"] groove = ["pretty-midi", "pydub"] @@ -3795,7 +3928,7 @@ smartwatch-gestures = ["pandas"] svhn = ["scipy"] tensorflow = ["tensorflow (>=2.1)"] tensorflow-data-validation = ["tensorflow-data-validation"] -tests-all = ["Pillow", "apache-beam", "bs4", "conllu", "datasets", "dill", "envlogger", "gcld3", "gcsfs", "h5py", "imagecodecs", "jax[cpu]", "jupyter", "langdetect", "lxml", "matplotlib", "mwparserfromhell", "mwxml", "networkx", "nltk", "opencv-python", "pandas", "pretty-midi", "pycocotools", "pydub", "pytest", "pytest-shard", "pytest-xdist", "pyyaml", "scikit-image", "scipy", "tensorflow-io[tensorflow]", "tifffile", "tldextract", "zarr"] +tests-all = ["Pillow", "apache-beam", "bs4", "conllu", "dill", "envlogger", "gcld3", "gcsfs", "h5py", "imagecodecs", "jax[cpu]", "jupyter", "langdetect", "lxml", "matplotlib", "mwparserfromhell", "mwxml", "networkx", "nltk", "opencv-python", "pandas", "pretty-midi", "pycocotools", "pydub", "pytest", "pytest-shard", "pytest-xdist", "pyyaml", "scikit-image", "scipy", "tensorflow-io[tensorflow]", "tifffile", "tldextract", "zarr"] tf-nightly = ["tf-nightly"] the300w-lp = ["scipy"] wider-face = ["Pillow"] @@ -3817,113 +3950,113 @@ files = [ [[package]] name = "tokenizers" -version = "0.14.1" +version = "0.15.0" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "tokenizers-0.14.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:04ec1134a18ede355a05641cdc7700f17280e01f69f2f315769f02f7e295cf1e"}, - {file = "tokenizers-0.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:638abedb39375f0ddce2de536fc9c976639b2d1b7202d715c2e7a25f0ebfd091"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:901635098565773a44f74068639d265f19deaaca47ea77b428fd9bee13a61d87"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e95184bf5b9a4c08153ed07c16c130ff174835c9a1e6ee2b311be758c8b3ef"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebefbc26ccff5e96ae7d40772172e7310174f9aa3683d2870a1882313ec3a4d5"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3a6330c9f1deda22873e8b4ac849cc06d3ff33d60b3217ac0bb397b541e1509"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6cba7483ba45600346a35c466bde32327b108575022f73c35a0f7170b5a71ae2"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60fec380778d75cbb492f14ca974f11f37b41d53c057b9c8ba213315b86e1f84"}, - {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:930c19b699dd7e1077eac98967adc2fe5f0b104bd96cc1f26778ab82b31ceb24"}, - {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1e30a13376db5329570e09b14c8eb36c017909ed7e88591ca3aa81f3c7d6f32"}, - {file = "tokenizers-0.14.1-cp310-none-win32.whl", hash = "sha256:370b5b86da9bddbe65fa08711f0e8ffdf8b0036558178d1a31dfcb44efcde72a"}, - {file = "tokenizers-0.14.1-cp310-none-win_amd64.whl", hash = "sha256:c2c659f2106b6d154f118ad1b700e68148c46c59b720f04867b1fc5f26a85060"}, - {file = "tokenizers-0.14.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:00df4c5bf25c153b432b98689609b426ae701a44f3d8074dcb619f410bc2a870"}, - {file = "tokenizers-0.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fee553657dcdb7e73df8823c49e8611457ba46e9d7026b7e9c44820c08c327c3"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a480bd902e327dfcaa52b7dd14fdc71e7aa45d73a3d6e41e028a75891d2823cf"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e448b2be0430ab839cf7954715c39d6f34ff6cf2b49393f336283b7a59f485af"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c11444984aecd342f0cf160c3320288edeb1763871fbb560ed466654b2a7016c"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe164a1c72c6be3c5c26753c6c412f81412f4dae0d7d06371e0b396a9cc0fc9"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72d9967fb1f927542cfb5347207fde01b29f25c9bb8cbc7ced280decfa015983"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37cc955c84ec67c2d11183d372044399342b20a1fa447b7a33040f4889bba318"}, - {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:db96cf092d86d4cb543daa9148e299011e0a40770380bb78333b9fd700586fcb"}, - {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c84d3cb1349936c2b96ca6175b50f5a9518170bffd76464219ee0ea6022a64a7"}, - {file = "tokenizers-0.14.1-cp311-none-win32.whl", hash = "sha256:8db3a6f3d430ac3dc3793c53fa8e5e665c23ba359484d365a191027ad8b65a30"}, - {file = "tokenizers-0.14.1-cp311-none-win_amd64.whl", hash = "sha256:c65d76052561c60e17cb4fa289885ed00a9995d59e97019fac2138bd45142057"}, - {file = "tokenizers-0.14.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c375161b588982be381c43eb7158c250f430793d0f708ce379a0f196164c6778"}, - {file = "tokenizers-0.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50f03d2330a153a9114c2429061137bd323736059f384de8348d7cb1ca1baa15"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0c8ee283b249c3c3c201c41bc23adc3be2514ae4121eacdb5c5250a461eaa8c6"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9f27399b8d50c5d3f08f0aae961bcc66a1dead1cd0ae9401e4c2a43a623322a"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:89cbeec7e9d5d8773ec4779c64e3cbcbff53d234ca6ad7b1a3736588003bba48"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:08e55920b453c30b46d58accc68a38e8e7488d0c03babfdb29c55d3f39dd2052"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91d32bd1056c0e83a0f90e4ffa213c25096b2d8b9f0e2d172a45f138c7d8c081"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44f1748035c36c939848c935715bde41734d9249ab7b844ff9bfbe984be8952c"}, - {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1ff516d129f01bb7a4aa95bc6aae88e4d86dd63bfc2d57db9302c2624d1be7cb"}, - {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:acfc8db61c6e919d932448cc7985b85e330c8d745528e12fce6e62d40d268bce"}, - {file = "tokenizers-0.14.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:ba336bc9107acbc1da2ad30967df7b2db93448ca66538ad86aa1fbb91116f631"}, - {file = "tokenizers-0.14.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:f77371b5030e53f8bf92197640af437539e3bba1bc8342b97888c8e26567bfdc"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d72d25c57a9c814240802d188ff0a808b701e2dd2bf1c64721c7088ceeeb1ed7"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caf0df8657277e32671aa8a4d3cc05f2050ab19d9b49447f2265304168e9032c"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb3c6bc6e599e46a26ad559ad5dec260ffdf705663cc9b894033d64a69314e86"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8cf2fcdc2368df4317e05571e33810eeed24cd594acc9dfc9788b21dac6b3a8"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f475d5eda41d2ed51ca775a07c80529a923dd759fcff7abf03ccdd83d9f7564e"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cce4d1a97a7eb2253b5d3f29f4a478d8c37ba0303ea34024eb9e65506d4209f8"}, - {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ff66577ae55114f7d0f6aa0d4d335f27cae96bf245962a745b718ec887bbe7eb"}, - {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a687099e085f5162e5b88b3402adb6c2b41046180c015c5075c9504440b6e971"}, - {file = "tokenizers-0.14.1-cp37-none-win32.whl", hash = "sha256:49f5336b82e315a33bef1025d247ca08d95719715b29e33f0e9e8cf15ff1dfb6"}, - {file = "tokenizers-0.14.1-cp37-none-win_amd64.whl", hash = "sha256:117c8da60d1bd95a6df2692926f36de7971baa1d89ff702fae47b6689a4465ad"}, - {file = "tokenizers-0.14.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:01d2bd5935642de22a6c6778bb2307f9949cd6eaeeb5c77f9b98f0060b69f0db"}, - {file = "tokenizers-0.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b05ec04132394c20bd6bcb692d557a8eb8ab1bac1646d28e49c67c00907d17c8"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7d9025b185465d9d18679406f6f394850347d5ed2681efc203539d800f36f459"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2539831838ab5393f78a893d7bbf27d5c36e43baf77e91dc9992922b2b97e09d"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec8f46d533092d8e20bc742c47918cbe24b8641dbfbbcb83177c5de3c9d4decb"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b019c4810903fdea3b230f358b9d27377c0f38454778b607676c9e1b57d14b7"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8984114fd83ed3913d89526c992395920930c9620a2feee61faf035f41d7b9a"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11284b32f0036fe7ef4b8b00201dda79c00f3fcea173bc0e5c599e09c937ab0f"}, - {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:53614f44f36917282a583180e402105bc63d61d1aca067d51cb7f051eb489901"}, - {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e3b6082e9532309727273443c8943bb9558d52e36788b246aa278bda7c642116"}, - {file = "tokenizers-0.14.1-cp38-none-win32.whl", hash = "sha256:7560fca3e17a6bc876d20cd825d7721c101fa2b1cd0bfa0abf9a2e781e49b37b"}, - {file = "tokenizers-0.14.1-cp38-none-win_amd64.whl", hash = "sha256:c318a5acb429ca38f632577754235140bbb8c5a27faca1c51b43fbf575596e34"}, - {file = "tokenizers-0.14.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:b886e0f5c72aa4249c609c24b9610a9ca83fd963cbb5066b19302723ea505279"}, - {file = "tokenizers-0.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f522f28c88a0d5b2f9e895cf405dd594cd518e99d61905406aec74d30eb6383b"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bef76c4d9329913cef2fe79ce1f4dab98f77fa4887e5f0420ffc9386941de32"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59c7df2103052b30b7c76d4fa8251326c9f82689578a912698a127dc1737f43e"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:232445e7b85255ccfe68dfd42185db8a3f3349b34ad7068404856c4a5f67c355"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e63781da85aa8948864970e529af10abc4084a990d30850c41bbdb5f83eee45"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5760a831c0f3c6d3229b50ef3fafa4c164ec99d7e8c2237fe144e67a9d33b120"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c84b456ff8525ec3ff09762e32ccc27888d036dcd0ba2883e1db491e164dd725"}, - {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:463ee5f3afbfec29cbf5652752c9d1032bdad63daf48bb8cb9970064cc81d5f9"}, - {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ee6b63aecf929a7bcf885bdc8a8aec96c43bc4442f63fe8c6d48f24fc992b05b"}, - {file = "tokenizers-0.14.1-cp39-none-win32.whl", hash = "sha256:aae42798ba1da3bc1572b2048fe42e61dd6bacced2b424cb0f5572c5432f79c2"}, - {file = "tokenizers-0.14.1-cp39-none-win_amd64.whl", hash = "sha256:68c4699147dded6926a3d2c2f948d435d54d027f69909e0ef3c6587933723ed2"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:5f9afdcf701a1aa3c41e0e748c152d2162434d61639a1e5d8523ecf60ae35aea"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6859d81243cd09854be9054aca3ecab14a2dee5b3c9f6d7ef12061d478ca0c57"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7975178f9478ccedcf613332d5d6f37b67c74ef4e2e47e0c965597506b921f04"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce2f0ff2e5f12ac5bebaa690606395725239265d7ffa35f35c243a379316297"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7cfc3d42e81cda802f93aa9e92caf79feaa1711426e28ce620560b8aaf5e4d"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:67d3adff654dc7f7c7091dd259b3b847fe119c08d0bda61db91e2ea2b61c38c0"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:956729b7dd599020e57133fb95b777e4f81ee069ff0a70e80f6eeac82658972f"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:fe2ea1177146a7ab345ab61e90a490eeea25d5f063e1cb9d4eb1425b169b64d7"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9930f31f603ecc6ea54d5c6dfa299f926ab3e921f72f94babcb02598c32b57c6"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d49567a2754e9991c05c2b5a7e6650b56e24365b7cab504558e58033dcf0edc4"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3678be5db330726f19c1949d8ae1b845a02eeb2a2e1d5a8bb8eaa82087ae25c1"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:42b180ed1bec58ab9bdc65d406577e0c0fb7241b74b8c032846073c7743c9f86"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:319e4367596fb0d52be645b3de1616faf0fadaf28507ce1c7595bebd9b4c402c"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2cda65b689aec63b7c76a77f43a08044fa90bbc6ad9849267cedfee9795913f3"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:ca0bfc79b27d84fcb7fa09339b2ee39077896738d9a30ff99c0332376e985072"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a7093767e070269e22e2c5f845e46510304f124c32d2cd249633c0f27eb29d86"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad759ba39cd32c2c2247864d02c84ea5883b5f6cc6a4ee0c95602a3dde52268f"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26fee36a6d8f2bd9464f3566b95e3e3fb7fd7dad723f775c500aac8204ec98c6"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d091c62cb7abbd32e527a85c41f7c8eb4526a926251891fc4ecbe5f974142ffb"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ca304402ea66d58f99c05aa3d7a6052faea61e5a8313b94f6bc36fbf27960e2d"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:102f118fa9b720b93c3217c1e239ed7bc1ae1e8dbfe9b4983a4f2d7b4ce6f2ec"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:df4f058e96e8b467b7742e5dba7564255cd482d3c1e6cf81f8cb683bb0433340"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:040ee44efc1806900de72b13c1c3036154077d9cde189c9a7e7a50bbbdcbf39f"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7618b84118ae704f7fa23c4a190bd80fc605671841a4427d5ca14b9b8d9ec1a3"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ecdfe9736c4a73343f629586016a137a10faed1a29c6dc699d8ab20c2d3cf64"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:92c34de04fec7f4ff95f7667d4eb085c4e4db46c31ef44c3d35c38df128430da"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:628b654ba555b2ba9111c0936d558b14bfc9d5f57b8c323b02fc846036b38b2f"}, - {file = "tokenizers-0.14.1.tar.gz", hash = "sha256:ea3b3f8908a9a5b9d6fc632b5f012ece7240031c44c6d4764809f33736534166"}, + {file = "tokenizers-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cd3cd0299aaa312cd2988957598f80becd04d5a07338741eca076057a2b37d6e"}, + {file = "tokenizers-0.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a922c492c721744ee175f15b91704be2d305569d25f0547c77cd6c9f210f9dc"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:331dd786d02fc38698f835fff61c99480f98b73ce75a4c65bd110c9af5e4609a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88dd0961c437d413ab027f8b115350c121d49902cfbadf08bb8f634b15fa1814"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6fdcc55339df7761cd52e1fbe8185d3b3963bc9e3f3545faa6c84f9e8818259a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1480b0051d8ab5408e8e4db2dc832f7082ea24aa0722c427bde2418c6f3bd07"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9855e6c258918f9cf62792d4f6ddfa6c56dccd8c8118640f867f6393ecaf8bd7"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9529fe75efcd54ba8d516aa725e1851df9199f0669b665c55e90df08f5af86"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8edcc90a36eab0705fe9121d6c77c6e42eeef25c7399864fd57dfb27173060bf"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae17884aafb3e94f34fb7cfedc29054f5f54e142475ebf8a265a4e388fee3f8b"}, + {file = "tokenizers-0.15.0-cp310-none-win32.whl", hash = "sha256:9a3241acdc9b44cff6e95c4a55b9be943ef3658f8edb3686034d353734adba05"}, + {file = "tokenizers-0.15.0-cp310-none-win_amd64.whl", hash = "sha256:4b31807cb393d6ea31926b307911c89a1209d5e27629aa79553d1599c8ffdefe"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:af7e9be8c05d30bb137b9fd20f9d99354816599e5fd3d58a4b1e28ba3b36171f"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c3d7343fa562ea29661783344a2d83662db0d3d17a6fa6a403cac8e512d2d9fd"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:32371008788aeeb0309a9244809a23e4c0259625e6b74a103700f6421373f395"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9db64c7c9954fbae698884c5bb089764edc549731e5f9b7fa1dd4e4d78d77f"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbed5944c31195514669cf6381a0d8d47f164943000d10f93d6d02f0d45c25e0"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aab16c4a26d351d63e965b0c792f5da7227a37b69a6dc6d922ff70aa595b1b0c"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c2b60b12fdd310bf85ce5d7d3f823456b9b65eed30f5438dd7761879c495983"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0344d6602740e44054a9e5bbe9775a5e149c4dddaff15959bb07dcce95a5a859"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4525f6997d81d9b6d9140088f4f5131f6627e4c960c2c87d0695ae7304233fc3"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65975094fef8cc68919644936764efd2ce98cf1bacbe8db2687155d2b0625bee"}, + {file = "tokenizers-0.15.0-cp311-none-win32.whl", hash = "sha256:ff5d2159c5d93015f5a4542aac6c315506df31853123aa39042672031768c301"}, + {file = "tokenizers-0.15.0-cp311-none-win_amd64.whl", hash = "sha256:2dd681b53cf615e60a31a115a3fda3980e543d25ca183797f797a6c3600788a3"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c9cce6ee149a3d703f86877bc2a6d997e34874b2d5a2d7839e36b2273f31d3d9"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a0a94bc3370e6f1cc8a07a8ae867ce13b7c1b4291432a773931a61f256d44ea"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:309cfcccfc7e502cb1f1de2c9c1c94680082a65bfd3a912d5a5b2c90c677eb60"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8413e994dd7d875ab13009127fc85633916c71213917daf64962bafd488f15dc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0ebf9430f901dbdc3dcb06b493ff24a3644c9f88c08e6a1d6d0ae2228b9b818"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10361e9c7864b22dd791ec5126327f6c9292fb1d23481d4895780688d5e298ac"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:babe42635b8a604c594bdc56d205755f73414fce17ba8479d142a963a6c25cbc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3768829861e964c7a4556f5f23307fce6a23872c2ebf030eb9822dbbbf7e9b2a"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9c91588a630adc88065e1c03ac6831e3e2112558869b9ebcb2b8afd8a14c944d"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77606994e793ca54ecf3a3619adc8a906a28ca223d9354b38df41cb8766a0ed6"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6fe143939f3b596681922b2df12a591a5b010e7dcfbee2202482cd0c1c2f2459"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:b7bee0f1795e3e3561e9a557061b1539e5255b8221e3f928f58100282407e090"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5d37e7f4439b4c46192ab4f2ff38ab815e4420f153caa13dec9272ef14403d34"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caadf255cf7f951b38d10097836d1f3bcff4aeaaffadfdf748bab780bf5bff95"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05accb9162bf711a941b1460b743d62fec61c160daf25e53c5eea52c74d77814"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26a2ef890740127cb115ee5260878f4a677e36a12831795fd7e85887c53b430b"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e54c5f26df14913620046b33e822cb3bcd091a332a55230c0e63cc77135e2169"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669b8ed653a578bcff919566631156f5da3aab84c66f3c0b11a6281e8b4731c7"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0ea480d943297df26f06f508dab6e012b07f42bf3dffdd36e70799368a5f5229"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bc80a0a565ebfc7cd89de7dd581da8c2b3238addfca6280572d27d763f135f2f"}, + {file = "tokenizers-0.15.0-cp37-none-win32.whl", hash = "sha256:cdd945e678bbdf4517d5d8de66578a5030aeefecdb46f5320b034de9cad8d4dd"}, + {file = "tokenizers-0.15.0-cp37-none-win_amd64.whl", hash = "sha256:1ab96ab7dc706e002c32b2ea211a94c1c04b4f4de48354728c3a6e22401af322"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:f21c9eb71c9a671e2a42f18b456a3d118e50c7f0fc4dd9fa8f4eb727fea529bf"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a5f4543a35889679fc3052086e69e81880b2a5a28ff2a52c5a604be94b77a3f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f8aa81afec893e952bd39692b2d9ef60575ed8c86fce1fd876a06d2e73e82dca"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1574a5a4af22c3def93fe8fe4adcc90a39bf5797ed01686a4c46d1c3bc677d2f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7982fd0ec9e9122d03b209dac48cebfea3de0479335100ef379a9a959b9a5a"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d16b647032df2ce2c1f9097236e046ea9fedd969b25637b9d5d734d78aa53b"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3cdf29e6f9653da330515dc8fa414be5a93aae79e57f8acc50d4028dd843edf"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7286f3df10de840867372e3e64b99ef58c677210e3ceb653cd0e740a5c53fe78"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aabc83028baa5a36ce7a94e7659250f0309c47fa4a639e5c2c38e6d5ea0de564"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:72f78b0e0e276b1fc14a672fa73f3acca034ba8db4e782124a2996734a9ba9cf"}, + {file = "tokenizers-0.15.0-cp38-none-win32.whl", hash = "sha256:9680b0ecc26e7e42f16680c1aa62e924d58d1c2dd992707081cc10a374896ea2"}, + {file = "tokenizers-0.15.0-cp38-none-win_amd64.whl", hash = "sha256:f17cbd88dab695911cbdd385a5a7e3709cc61dff982351f5d1b5939f074a2466"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:3661862df7382c5eb23ac4fbf7c75e69b02dc4f5784e4c5a734db406b5b24596"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3045d191dad49647f5a5039738ecf1c77087945c7a295f7bcf051c37067e883"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9fcaad9ab0801f14457d7c820d9f246b5ab590c407fc6b073819b1573097aa7"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79f17027f24fe9485701c8dbb269b9c713954ec3bdc1e7075a66086c0c0cd3c"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:01a3aa332abc4bee7640563949fcfedca4de8f52691b3b70f2fc6ca71bfc0f4e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05b83896a893cdfedad8785250daa3ba9f0504848323471524d4783d7291661e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbbf2489fcf25d809731ba2744ff278dd07d9eb3f8b7482726bd6cae607073a4"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab806ad521a5e9de38078b7add97589c313915f6f5fec6b2f9f289d14d607bd6"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a522612d5c88a41563e3463226af64e2fa00629f65cdcc501d1995dd25d23f5"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e58a38c4e6075810bdfb861d9c005236a72a152ebc7005941cc90d1bbf16aca9"}, + {file = "tokenizers-0.15.0-cp39-none-win32.whl", hash = "sha256:b8034f1041fd2bd2b84ff9f4dc4ae2e1c3b71606820a9cd5c562ebd291a396d1"}, + {file = "tokenizers-0.15.0-cp39-none-win_amd64.whl", hash = "sha256:edde9aa964145d528d0e0dbf14f244b8a85ebf276fb76869bc02e2530fa37a96"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:309445d10d442b7521b98083dc9f0b5df14eca69dbbfebeb98d781ee2cef5d30"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d3125a6499226d4d48efc54f7498886b94c418e93a205b673bc59364eecf0804"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed56ddf0d54877bb9c6d885177db79b41576e61b5ef6defeb579dcb803c04ad5"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b22cd714706cc5b18992a232b023f736e539495f5cc61d2d28d176e55046f6c"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2719b1e9bc8e8e7f6599b99d0a8e24f33d023eb8ef644c0366a596f0aa926"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:85ddae17570ec7e5bfaf51ffa78d044f444a8693e1316e1087ee6150596897ee"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76f1bed992e396bf6f83e3df97b64ff47885e45e8365f8983afed8556a0bc51f"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3bb0f4df6dce41a1c7482087b60d18c372ef4463cb99aa8195100fcd41e0fd64"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:22c27672c27a059a5f39ff4e49feed8c7f2e1525577c8a7e3978bd428eb5869d"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78104f5d035c9991f92831fc0efe9e64a05d4032194f2a69f67aaa05a4d75bbb"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a40b73dc19d82c3e3ffb40abdaacca8fbc95eeb26c66b7f9f860aebc07a73998"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d801d1368188c74552cd779b1286e67cb9fd96f4c57a9f9a2a09b6def9e1ab37"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82641ffb13a4da1293fcc9f437d457647e60ed0385a9216cd135953778b3f0a1"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:160f9d1810f2c18fffa94aa98bf17632f6bd2dabc67fcb01a698ca80c37d52ee"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:8d7d6eea831ed435fdeeb9bcd26476226401d7309d115a710c65da4088841948"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f6456bec6c557d63d8ec0023758c32f589e1889ed03c055702e84ce275488bed"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eef39a502fad3bf104b9e1906b4fb0cee20e44e755e51df9a98f8922c3bf6d4"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1e4664c5b797e093c19b794bbecc19d2367e782b4a577d8b7c1821db5dc150d"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ca003fb5f3995ff5cf676db6681b8ea5d54d3b30bea36af1120e78ee1a4a4cdf"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7f17363141eb0c53752c89e10650b85ef059a52765d0802ba9613dbd2d21d425"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8a765db05581c7d7e1280170f2888cda351760d196cc059c37ea96f121125799"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2a0dd641a72604486cd7302dd8f87a12c8a9b45e1755e47d2682733f097c1af5"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a1a3c973e4dc97797fc19e9f11546c95278ffc55c4492acb742f69e035490bc"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4fab75642aae4e604e729d6f78e0addb9d7e7d49e28c8f4d16b24da278e5263"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65f80be77f6327a86d8fd35a4467adcfe6174c159b4ab52a1a8dd4c6f2d7d9e1"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a8da7533dbe66b88afd430c56a2f2ce1fd82e2681868f857da38eeb3191d7498"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa8eb4584fc6cbe6a84d7a7864be3ed28e23e9fd2146aa8ef1814d579df91958"}, + {file = "tokenizers-0.15.0.tar.gz", hash = "sha256:10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e"}, ] [package.dependencies] -huggingface_hub = ">=0.16.4,<0.18" +huggingface_hub = ">=0.16.4,<1.0" [package.extras] dev = ["tokenizers[testing]"] @@ -3954,13 +4087,13 @@ files = [ [[package]] name = "tomlkit" -version = "0.12.2" +version = "0.12.3" description = "Style preserving TOML library" optional = false python-versions = ">=3.7" files = [ - {file = "tomlkit-0.12.2-py3-none-any.whl", hash = "sha256:eeea7ac7563faeab0a1ed8fe12c2e5a51c61f933f2502f7e9db0241a65163ad0"}, - {file = "tomlkit-0.12.2.tar.gz", hash = "sha256:df32fab589a81f0d7dc525a4267b6d7a64ee99619cbd1eeb0fae32c1dd426977"}, + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, ] [[package]] @@ -3976,31 +4109,31 @@ files = [ [[package]] name = "torch" -version = "2.1.0" +version = "2.1.1" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" optional = false python-versions = ">=3.8.0" files = [ - {file = "torch-2.1.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:bf57f8184b2c317ef81fb33dc233ce4d850cd98ef3f4a38be59c7c1572d175db"}, - {file = "torch-2.1.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a04a0296d47f28960f51c18c5489a8c3472f624ec3b5bcc8e2096314df8c3342"}, - {file = "torch-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0bd691efea319b14ef239ede16d8a45c246916456fa3ed4f217d8af679433cc6"}, - {file = "torch-2.1.0-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:101c139152959cb20ab370fc192672c50093747906ee4ceace44d8dd703f29af"}, - {file = "torch-2.1.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a6b7438a90a870e4cdeb15301519ae6c043c883fcd224d303c5b118082814767"}, - {file = "torch-2.1.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:2224622407ca52611cbc5b628106fde22ed8e679031f5a99ce286629fc696128"}, - {file = "torch-2.1.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:8132efb782cd181cc2dcca5e58effbe4217cdb2581206ac71466d535bf778867"}, - {file = "torch-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:5c3bfa91ce25ba10116c224c59d5b64cdcce07161321d978bd5a1f15e1ebce72"}, - {file = "torch-2.1.0-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:601b0a2a9d9233fb4b81f7d47dca9680d4f3a78ca3f781078b6ad1ced8a90523"}, - {file = "torch-2.1.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:3cd1dedff13884d890f18eea620184fb4cd8fd3c68ce3300498f427ae93aa962"}, - {file = "torch-2.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fb7bf0cc1a3db484eb5d713942a93172f3bac026fcb377a0cd107093d2eba777"}, - {file = "torch-2.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:761822761fffaa1c18a62c5deb13abaa780862577d3eadc428f1daa632536905"}, - {file = "torch-2.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:458a6d6d8f7d2ccc348ac4d62ea661b39a3592ad15be385bebd0a31ced7e00f4"}, - {file = "torch-2.1.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:c8bf7eaf9514465e5d9101e05195183470a6215bb50295c61b52302a04edb690"}, - {file = "torch-2.1.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:05661c32ec14bc3a157193d0f19a7b19d8e61eb787b33353cad30202c295e83b"}, - {file = "torch-2.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:556d8dd3e0c290ed9d4d7de598a213fb9f7c59135b4fee144364a8a887016a55"}, - {file = "torch-2.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:de7d63c6ecece118684415a3dbd4805af4a4c1ee1490cccf7405d8c240a481b4"}, - {file = "torch-2.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:2419cf49aaf3b2336c7aa7a54a1b949fa295b1ae36f77e2aecb3a74e3a947255"}, - {file = "torch-2.1.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:6ad491e70dbe4288d17fdbfc7fbfa766d66cbe219bc4871c7a8096f4a37c98df"}, - {file = "torch-2.1.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:421739685eba5e0beba42cb649740b15d44b0d565c04e6ed667b41148734a75b"}, + {file = "torch-2.1.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:5ebc43f5355a9b7be813392b3fb0133991f0380f6f0fcc8218d5468dc45d1071"}, + {file = "torch-2.1.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:84fefd63356416c0cd20578637ccdbb82164993400ed17b57c951dd6376dcee8"}, + {file = "torch-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:0a7a9da0c324409bcb5a7bdad1b4e94e936d21c2590aaa7ac2f63968da8c62f7"}, + {file = "torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:1e1e5faddd43a8f2c0e0e22beacd1e235a2e447794d807483c94a9e31b54a758"}, + {file = "torch-2.1.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:e76bf3c5c354874f1da465c852a2fb60ee6cbce306e935337885760f080f9baa"}, + {file = "torch-2.1.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:98fea993639b0bb432dfceb7b538f07c0f1c33386d63f635219f49254968c80f"}, + {file = "torch-2.1.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:61b51b33c61737c287058b0c3061e6a9d3c363863e4a094f804bc486888a188a"}, + {file = "torch-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:1d70920da827e2276bf07f7ec46958621cad18d228c97da8f9c19638474dbd52"}, + {file = "torch-2.1.1-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:a70593806f1d7e6b53657d96810518da0f88ef2608c98a402955765b8c79d52c"}, + {file = "torch-2.1.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:e312f7e82e49565f7667b0bbf9559ab0c597063d93044740781c02acd5a87978"}, + {file = "torch-2.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1e3cbecfa5a7314d828f4a37b0c286714dc9aa2e69beb7a22f7aca76567ed9f4"}, + {file = "torch-2.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:9ca0fcbf3d5ba644d6a8572c83a9abbdf5f7ff575bc38529ef6c185a3a71bde9"}, + {file = "torch-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:2dc9f312fc1fa0d61a565a0292ad73119d4b74c9f8b5031b55f8b4722abca079"}, + {file = "torch-2.1.1-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:d56b032176458e2af4709627bbd2c20fe2917eff8cd087a7fe313acccf5ce2f1"}, + {file = "torch-2.1.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:29e3b90a8c281f6660804a939d1f4218604c80162e521e1e6d8c8557325902a0"}, + {file = "torch-2.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:bd95cee8511584b67ddc0ba465c3f1edeb5708d833ee02af1206b4486f1d9096"}, + {file = "torch-2.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b31230bd058424e56dba7f899280dbc6ac8b9948e43902e0c84a44666b1ec151"}, + {file = "torch-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:403f1095e665e4f35971b43797a920725b8b205723aa68254a4050c6beca29b6"}, + {file = "torch-2.1.1-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:715b50d8c1de5da5524a68287eb000f73e026e74d5f6b12bc450ef6995fcf5f9"}, + {file = "torch-2.1.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:db67e8725c76f4c7f4f02e7551bb16e81ba1a1912867bc35d7bb96d2be8c78b4"}, ] [package.dependencies] @@ -4008,46 +4141,59 @@ filelock = "*" fsspec = "*" jinja2 = "*" networkx = "*" +nvidia-cublas-cu12 = {version = "12.1.3.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-cupti-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-nvrtc-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-runtime-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cudnn-cu12 = {version = "8.9.2.26", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cufft-cu12 = {version = "11.0.2.54", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-curand-cu12 = {version = "10.3.2.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusolver-cu12 = {version = "11.4.5.107", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusparse-cu12 = {version = "12.1.0.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nccl-cu12 = {version = "2.18.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nvtx-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} sympy = "*" +triton = {version = "2.1.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} typing-extensions = "*" [package.extras] +dynamo = ["jinja2"] opt-einsum = ["opt-einsum (>=3.3)"] [[package]] name = "torchvision" -version = "0.16.0" +version = "0.16.1" description = "image and video datasets and models for torch deep learning" optional = false python-versions = ">=3.8" files = [ - {file = "torchvision-0.16.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:16c300fdbbe91469f5e9feef8d24c6acabd8849db502a06160dd76ba68e897a0"}, - {file = "torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ef5dec6c48b715353781b83749efcdea03835720a71b377684453ee117aab3c7"}, - {file = "torchvision-0.16.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:9e3a2012e463f498de21f6598cc7a266b9a8c6fe15788472fdc419233ea6f3f2"}, - {file = "torchvision-0.16.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:e4327e082b703921ae52caeee4f7839f7e6c73cfc5eedea468ecb5c1487ecdbf"}, - {file = "torchvision-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:62f01513687cce3480df8928fcc6c09b4aa0433d05ac75e82877acc773f6a568"}, - {file = "torchvision-0.16.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:31fdf289bdfb2976f65a14f79f6ddd1ee60113db34622674918e61521c2dc41f"}, - {file = "torchvision-0.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2294a6514a31a6fda562288b28cf6db57877237f4b56ff693262f237a7ed4035"}, - {file = "torchvision-0.16.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:6a24a1e83e4bc7a31b39ef05d2ca4cd2182e95ff10f525edffe1473f7ce16ca1"}, - {file = "torchvision-0.16.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9ed5f21e5a56e466667c6f9f6f93dba2a75e29921108bd70043eaf8e9ba0a7cc"}, - {file = "torchvision-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:9ee3d4df7d4a84f883f8ad11fb6510549f40f68dd5469eae601d7e02fb4809b2"}, - {file = "torchvision-0.16.0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:0c6f36d00b9ce412e367ad6f42e9054cbc890cd9ddd0d200ed9b3b52dd9c225b"}, - {file = "torchvision-0.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:597f60cb03e6f758a00b36b38506f6f38b6c3f1fdfd3921bb9abd60b72d522fd"}, - {file = "torchvision-0.16.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:eddd91da4603f1dbb340d9aca82344df64605a0897b17014ac8e0b54dd6e5716"}, - {file = "torchvision-0.16.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:79875f5247337723ec363762c2716bcfc13b78b3045e4e58847c696f03d9ed4d"}, - {file = "torchvision-0.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:550c9793637c5369fbcb4e4b6b0e6d53a4f6cc22389f0563ad60ab90e4f1c8ba"}, - {file = "torchvision-0.16.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:de7c7302fa2f67a2a151e595a8e7dc3865a445d952e99d5c682ba78f312fedc3"}, - {file = "torchvision-0.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f044cffd252fd293b6df46f38d7eeb2fd4fe931e0114c5263735e3b8c9c60a4f"}, - {file = "torchvision-0.16.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8cb501061f6654da494dd975acc1fa301c4b8aacf96bdbcf1553f51a53ebfd1f"}, - {file = "torchvision-0.16.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5a47108ae6a8effdf09fe35fd0c4d5414e69ca8d2334e87339de497b7b64b0c9"}, - {file = "torchvision-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b8f06e6a2f80576007b88846f74b680a1ad3b59d2e22b075587b430180e9cfa"}, + {file = "torchvision-0.16.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:987132795e5c037cb74e7be35a693999fdb2f603152266ee15b80206e83a5b0c"}, + {file = "torchvision-0.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:25da6a7b22ea0348f62c45ec0daf157731096babcae65d222404081af96e085c"}, + {file = "torchvision-0.16.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c82e291e674a18b67f92ddb476ae18498fb46d7032ae914f3fda90c955e7d86f"}, + {file = "torchvision-0.16.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:632887b22e67ce32a3ede806b868bba4057601e46d680de14b32a391eac1b483"}, + {file = "torchvision-0.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:92c76a5092b4033efdb183b11fa4854a7630e23c46f4a1c3ffd70c30cb5be4fc"}, + {file = "torchvision-0.16.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:4aea5cf491c6c21b1cbdbb1bf2a3838a59d4db93ad5f49019a6564d3ca7127c7"}, + {file = "torchvision-0.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3391757167637ace3ef33a67c9d5ef86b1f8cbd93eaa5bad45eebcf266ea6089"}, + {file = "torchvision-0.16.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:4f9d5b192b336982e6dbe32c070b05606f0b53e87d722ae332a02909fbf988ed"}, + {file = "torchvision-0.16.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:3d34601614958c4e30f53ec0eb7bf3f282ee72bb747734be2d75422831a43384"}, + {file = "torchvision-0.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:e11af530585574eb5ca837b8f151bcdd57c10e35c3af56c76a10f3281d2a2f2c"}, + {file = "torchvision-0.16.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:4f2cad621fb96cf10e29af93e16c98b3226bdd53ae712b57e873c3deaf061617"}, + {file = "torchvision-0.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1d614b3c9e2de9cd75cc0e4e1923fcfbbcd9fdb9f08a0bbbbf7e135e4a0a1cfa"}, + {file = "torchvision-0.16.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:73271e930501a008fe24ba38945b2a75b25a6098f4c2f4402e39a9d0dd305ca6"}, + {file = "torchvision-0.16.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fab67ddc4809fcc2a04610b13cac5193b9d3be2896b77538bfdff401b13022e5"}, + {file = "torchvision-0.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:13782d574033efec6646d1a2f5d85f4c59fcf3f403367bb407b15df07adc87e0"}, + {file = "torchvision-0.16.1-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:f14d201c37176dc4106eec76b229d6585a1505266b8cea99d3366fd38897b7c0"}, + {file = "torchvision-0.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a15e88a93a7501cc75b761a2dcd07aaedaaf9cbfaf48c8affa8c98989ecbb19d"}, + {file = "torchvision-0.16.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:72fde5fdb462e66ebe25ae42d2ee11434cbc395f74cad0d3b22cf60524345cc5"}, + {file = "torchvision-0.16.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:153f753f14eba58969cdc86360893a57f8bf63f8136c7d1cd4388108560b5446"}, + {file = "torchvision-0.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:75e33b198b1265f61d822aa66d646ec3df67a712470ffec1e0c37ff46d4103c1"}, ] [package.dependencies] numpy = "*" pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" requests = "*" -torch = "2.1.0" +torch = "2.1.1" [package.extras] scipy = ["scipy"] @@ -4074,67 +4220,67 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.13.0" +version = "5.14.0" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.13.0-py3-none-any.whl", hash = "sha256:baf991e61542da48fe8aef8b779a9ea0aa38d8a54166ee250d5af5ecf4486619"}, - {file = "traitlets-5.13.0.tar.gz", hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"}, + {file = "traitlets-5.14.0-py3-none-any.whl", hash = "sha256:f14949d23829023013c47df20b4a76ccd1a85effb786dc060f34de7948361b33"}, + {file = "traitlets-5.14.0.tar.gz", hash = "sha256:fcdaa8ac49c04dfa0ed3ee3384ef6dfdb5d6f3741502be247279407679296772"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.6.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "transformers" -version = "4.35.0" +version = "4.36.0" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = false python-versions = ">=3.8.0" files = [ - {file = "transformers-4.35.0-py3-none-any.whl", hash = "sha256:45aa9370d7d9ba1c43e6bfa04d7f8b61238497d4b646e573fd95e597fe4040ff"}, - {file = "transformers-4.35.0.tar.gz", hash = "sha256:e4b41763f651282fc979348d3aa148244387ddc9165f4b18455798c770ae23b9"}, + {file = "transformers-4.36.0-py3-none-any.whl", hash = "sha256:e5a9d9424bcbc5008782ddd79ecbc3a50991e168cc730a14c4c89e80c61f419d"}, + {file = "transformers-4.36.0.tar.gz", hash = "sha256:64e120d252db4bdcd355288d19e857dac9d89886f9d0ac20244cb9af3142bb50"}, ] [package.dependencies] filelock = "*" -huggingface-hub = ">=0.16.4,<1.0" +huggingface-hub = ">=0.19.3,<1.0" numpy = ">=1.17" packaging = ">=20.0" pyyaml = ">=5.1" regex = "!=2019.12.17" requests = "*" safetensors = ">=0.3.1" -tokenizers = ">=0.14,<0.15" +tokenizers = ">=0.14,<0.19" tqdm = ">=4.27" [package.extras] -accelerate = ["accelerate (>=0.20.3)"] -agents = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.10,!=1.12.0)"] -all = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +accelerate = ["accelerate (>=0.21.0)"] +agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.10,!=1.12.0)"] +all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] codecarbon = ["codecarbon (==1.2.0)"] -deepspeed = ["accelerate (>=0.20.3)", "deepspeed (>=0.9.3)"] -deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] -dev = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.14,<0.15)", "urllib3 (<2.0.0)"] -dev-torch = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -docs = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "hf-doc-builder", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +deepspeed = ["accelerate (>=0.21.0)", "deepspeed (>=0.9.3)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.21.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.14,<0.19)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +docs = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "hf-doc-builder", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] docs-specific = ["hf-doc-builder"] flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)"] flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] ftfy = ["ftfy"] -integrations = ["optuna", "ray[tune]", "sigopt"] +integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] modelcreation = ["cookiecutter (==1.7.3)"] natten = ["natten (>=0.14.6)"] onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] optuna = ["optuna"] -quality = ["GitPython (<3.1.19)", "black (>=23.1,<24.0)", "datasets (!=2.5.0)", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "urllib3 (<2.0.0)"] -ray = ["ray[tune]"] +quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "ruff (==0.1.5)", "urllib3 (<2.0.0)"] +ray = ["ray[tune] (>=2.7.0)"] retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] sagemaker = ["sagemaker (>=2.31.0)"] sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] @@ -4142,18 +4288,43 @@ serving = ["fastapi", "pydantic (<2)", "starlette", "uvicorn"] sigopt = ["sigopt"] sklearn = ["scikit-learn"] speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -testing = ["GitPython (<3.1.19)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "tensorboard", "timeout-decorator"] -tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] -tf-cpu = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "parameterized", "protobuf", "psutil", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "tensorboard", "timeout-decorator"] +tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-cpu = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] timm = ["timm"] -tokenizers = ["tokenizers (>=0.14,<0.15)"] -torch = ["accelerate (>=0.20.3)", "torch (>=1.10,!=1.12.0)"] +tokenizers = ["tokenizers (>=0.14,<0.19)"] +torch = ["accelerate (>=0.21.0)", "torch (>=1.10,!=1.12.0)"] torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -torch-vision = ["Pillow (<10.0.0)", "torchvision"] -torchhub = ["filelock", "huggingface-hub (>=0.16.4,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "tqdm (>=4.27)"] +torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] +torchhub = ["filelock", "huggingface-hub (>=0.19.3,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.14,<0.19)", "torch (>=1.10,!=1.12.0)", "tqdm (>=4.27)"] video = ["av (==9.2.0)", "decord (==0.6.0)"] -vision = ["Pillow (<10.0.0)"] +vision = ["Pillow (>=10.0.1,<=15.0)"] + +[[package]] +name = "triton" +version = "2.1.0" +description = "A language and compiler for custom Deep Learning operations" +optional = false +python-versions = "*" +files = [ + {file = "triton-2.1.0-0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:66439923a30d5d48399b08a9eae10370f6c261a5ec864a64983bae63152d39d7"}, + {file = "triton-2.1.0-0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:919b06453f0033ea52c13eaf7833de0e57db3178d23d4e04f9fc71c4f2c32bf8"}, + {file = "triton-2.1.0-0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae4bb8a91de790e1866405211c4d618379781188f40d5c4c399766914e84cd94"}, + {file = "triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39f6fb6bdccb3e98f3152e3fbea724f1aeae7d749412bbb1fa9c441d474eba26"}, + {file = "triton-2.1.0-0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21544e522c02005a626c8ad63d39bdff2f31d41069592919ef281e964ed26446"}, + {file = "triton-2.1.0-0-pp37-pypy37_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:143582ca31dd89cd982bd3bf53666bab1c7527d41e185f9e3d8a3051ce1b663b"}, + {file = "triton-2.1.0-0-pp38-pypy38_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82fc5aeeedf6e36be4e4530cbdcba81a09d65c18e02f52dc298696d45721f3bd"}, + {file = "triton-2.1.0-0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:81a96d110a738ff63339fc892ded095b31bd0d205e3aace262af8400d40b6fa8"}, +] + +[package.dependencies] +filelock = "*" + +[package.extras] +build = ["cmake (>=3.18)", "lit"] +tests = ["autopep8", "flake8", "isort", "numpy", "pytest", "scipy (>=1.7.1)"] +tutorials = ["matplotlib", "pandas", "tabulate"] [[package]] name = "typer" @@ -4178,29 +4349,28 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6. [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] [[package]] name = "urllib3" -version = "2.0.7" +version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -4216,13 +4386,13 @@ files = [ [[package]] name = "uvicorn" -version = "0.23.2" +version = "0.24.0.post1" description = "The lightning-fast ASGI server." optional = false python-versions = ">=3.8" files = [ - {file = "uvicorn-0.23.2-py3-none-any.whl", hash = "sha256:1f9be6558f01239d4fdf22ef8126c39cb1ad0addf76c40e760549d2c2f43ab53"}, - {file = "uvicorn-0.23.2.tar.gz", hash = "sha256:4d3cc12d7727ba72b64d12d3cc7743124074c0a69f7b201512fc50c3e3f1569a"}, + {file = "uvicorn-0.24.0.post1-py3-none-any.whl", hash = "sha256:7c84fea70c619d4a710153482c0d230929af7bcf76c7bfa6de151f0a3a80121e"}, + {file = "uvicorn-0.24.0.post1.tar.gz", hash = "sha256:09c8e5a79dc466bdf28dead50093957db184de356fcdc48697bad3bde4c2588e"}, ] [package.dependencies] @@ -4373,13 +4543,13 @@ anyio = ">=3.0.0" [[package]] name = "wcwidth" -version = "0.2.9" +version = "0.2.12" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, - {file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, + {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, + {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, ] [[package]] @@ -4482,13 +4652,13 @@ watchdog = ["watchdog (>=2.3)"] [[package]] name = "wheel" -version = "0.41.3" +version = "0.42.0" description = "A built-package format for Python" optional = false python-versions = ">=3.7" files = [ - {file = "wheel-0.41.3-py3-none-any.whl", hash = "sha256:488609bc63a29322326e05560731bf7bfea8e48ad646e1f5e40d366607de0942"}, - {file = "wheel-0.41.3.tar.gz", hash = "sha256:4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841"}, + {file = "wheel-0.42.0-py3-none-any.whl", hash = "sha256:177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d"}, + {file = "wheel-0.42.0.tar.gz", hash = "sha256:c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8"}, ] [package.extras] @@ -4496,86 +4666,81 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "wrapt" -version = "1.15.0" +version = "1.16.0" description = "Module for decorators, wrappers and monkey patching." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, +python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] [[package]] @@ -4596,4 +4761,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.12" -content-hash = "575c224dcde69946e594ebea13703ffd9ea07179c428b7ee408034409ec21972" +content-hash = "df8d0d17566f4524ed9f8a71de6ca133c75676d54a8da5adc8db59022c17484d" diff --git a/demos/palm/python/docs-agent/pyproject.toml b/demos/palm/python/docs-agent/pyproject.toml index 42da764e5..4806f0170 100644 --- a/demos/palm/python/docs-agent/pyproject.toml +++ b/demos/palm/python/docs-agent/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "docs-agent" -version = "0.1.6" +version = "0.2.0" description = "" authors = ["Docs Agent contributors"] readme = "README.md" @@ -17,7 +17,7 @@ ratelimit = "^2.2.1" absl-py = "^1.4.0" python-frontmatter = "^1.0.0" flatdict = "^4.0.1" -google-generativeai = "^0.1.0" +google-generativeai = "^0.3.1" grpcio = "^1.57.0" grpcio-tools = "^1.57.0" uuid = "^1.30" diff --git a/demos/palm/python/docs-agent/scripts/populate_vector_database.py b/demos/palm/python/docs-agent/scripts/populate_vector_database.py index 27ee767aa..24e26602f 100644 --- a/demos/palm/python/docs-agent/scripts/populate_vector_database.py +++ b/demos/palm/python/docs-agent/scripts/populate_vector_database.py @@ -101,7 +101,10 @@ palm.configure(api_key=API_KEY, client_options={"api_endpoint": PALM_API_ENDPOINT}) # Scan the list of PaLM models. models = [ - m for m in palm.list_models() if "embedText" in m.supported_generation_methods + m + for m in palm.list_models() + if "embedText" in m.supported_generation_methods + or "embedContent" in m.supported_generation_methods ] if EMBEDDING_MODEL != None: # If `embedding_model` is specified in the `config.yaml` file, select that model. @@ -132,9 +135,16 @@ @limits(calls=API_CALLS, period=API_CALL_PERIOD) def embed_function(texts: Documents) -> Embeddings: # Embed the documents using any supported method - return [ - palm.generate_embeddings(model=MODEL, text=text)["embedding"] for text in texts - ] + if str(MODEL.name) == "models/embedding-001": + # Use the new `embed_content()` method if it's the new Gemini embedding model. + return [ + palm.embed_content(model=MODEL, content=text)["embedding"] for text in texts + ] + else: + return [ + palm.generate_embeddings(model=MODEL, text=text)["embedding"] + for text in texts + ] if EMBEDDINGS_TYPE == "PALM": diff --git a/demos/palm/python/docs-agent/scripts/test_vector_database.py b/demos/palm/python/docs-agent/scripts/test_vector_database.py index 075bda6e3..0509ca102 100644 --- a/demos/palm/python/docs-agent/scripts/test_vector_database.py +++ b/demos/palm/python/docs-agent/scripts/test_vector_database.py @@ -34,12 +34,14 @@ # Set the directory path to locate the Chroma vector database LOCAL_VECTOR_DB_DIR = os.path.join(BASE_DIR, "vector_stores/chroma") COLLECTION_NAME = "docs_collection" +EMBEDDING_MODEL = None IS_CONFIG_FILE = True if IS_CONFIG_FILE: config_values = read_config.ReadConfig() LOCAL_VECTOR_DB_DIR = config_values.returnConfigValue("vector_db_dir") COLLECTION_NAME = config_values.returnConfigValue("collection_name") + EMBEDDING_MODEL = config_values.returnConfigValue("embedding_model") # Set a test question QUESTION = "What are some differences between apples and oranges?" @@ -71,7 +73,13 @@ @sleep_and_retry @limits(calls=API_CALLS, period=API_CALL_PERIOD) def embed_palm_api_call(text: Document) -> Embedding: - return palm.generate_embeddings(model=PALM_EMBEDDING_MODEL, text=text)["embedding"] + if PALM_EMBEDDING_MODEL == "models/embedding-001": + # Use the `embed_content()` method if it's the new Gemini embedding model. + return palm.embed_content(model=PALM_EMBEDDING_MODEL, content=text)["embedding"] + else: + return palm.generate_embeddings(model=PALM_EMBEDDING_MODEL, text=text)[ + "embedding" + ] def embed_palm(texts: Documents) -> Embeddings: @@ -86,7 +94,10 @@ def embed_palm(texts: Documents) -> Embeddings: chroma_client = chromadb.PersistentClient(path=LOCAL_VECTOR_DB_DIR) if EMBEDDINGS_TYPE == "PALM": - PALM_EMBEDDING_MODEL = "models/embedding-gecko-001" + if EMBEDDING_MODEL is None: + PALM_EMBEDDING_MODEL = "models/embedding-gecko-001" + else: + PALM_EMBEDDING_MODEL = EMBEDDING_MODEL emb_fn = embed_palm elif EMBEDDINGS_TYPE == "LOCAL": emb_fn = embedding_functions.SentenceTransformerEmbeddingFunction( From 65965b30356bab28cac5f84e81abb7b7c5c6b940 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 00:38:39 +0000 Subject: [PATCH 5/5] Bump follow-redirects from 1.15.2 to 1.15.4 in /demos/palm/web/mood-food Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- demos/palm/web/mood-food/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/demos/palm/web/mood-food/yarn.lock b/demos/palm/web/mood-food/yarn.lock index 40427ced0..fcc8f4959 100644 --- a/demos/palm/web/mood-food/yarn.lock +++ b/demos/palm/web/mood-food/yarn.lock @@ -4759,9 +4759,9 @@ flatted@^3.1.0: integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + version "1.15.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" + integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw== for-each@^0.3.3: version "0.3.3"