Coverage for fastapi/utils.py: 100%
91 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-13 13:38 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-13 13:38 +0000
1import re 1abcde
2import warnings 1abcde
3from dataclasses import is_dataclass 1abcde
4from typing import ( 1abcde
5 TYPE_CHECKING,
6 Any,
7 Dict,
8 MutableMapping,
9 Optional,
10 Set,
11 Type,
12 Union,
13 cast,
14)
15from weakref import WeakKeyDictionary 1abcde
17import fastapi 1abcde
18from fastapi._compat import ( 1abcde
19 PYDANTIC_V2,
20 BaseConfig,
21 ModelField,
22 PydanticSchemaGenerationError,
23 Undefined,
24 UndefinedType,
25 Validator,
26 lenient_issubclass,
27)
28from fastapi.datastructures import DefaultPlaceholder, DefaultType 1abcde
29from pydantic import BaseModel, create_model 1abcde
30from pydantic.fields import FieldInfo 1abcde
31from typing_extensions import Literal 1abcde
33if TYPE_CHECKING: # pragma: nocover 1abcde
34 from .routing import APIRoute
36# Cache for `create_cloned_field`
37_CLONED_TYPES_CACHE: MutableMapping[Type[BaseModel], Type[BaseModel]] = ( 1abcde
38 WeakKeyDictionary()
39)
42def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool: 1abcde
43 if status_code is None: 2a dieifigi6d7d8d9d!d#dhir6iis6t6jiu6EhFhv6GhkiliminiHhoipiqiri7bsi8b9bw6tiui8hvi!bwithxiyizix6y6AiBi#bJ IbCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i,iz6-i.i/i:i;i=i?i$d%d'd(d)d@i[i]i^i_i9h!h`iA6{iB6|i}iC6~iajbjD6cjdjE6ejF6fjgjhjijjjG6kjK L M N O k f 1dljH6mjI6njojpjIhqjrjsjtjujvjwjxjyjzjJ6TfUfK6AjBjL6CjDjM6EjFjGjN6HjJhIjKhm P Q ybzbR JjO6KjLjMjP6NjOjPjQjRjQ6SjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j`jR6{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokJbS pkqkS6rkT6sktkU6ukvkwkV6xkykzkAkBkCkDkEkFkGkLhHkrhLcIkJkKkLkMkNkOkPkQkRkW6SkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.kKbMcLbNcMh/k:k;k=k+ , - ?kobpb$b8cX6@k[kY6]k^kZ6_k`k06{k|k16}k~k26albl36cldl46elfl56glhl66iljl76klll86mlnl96olplqlrl!6sltlulvl#6wlxlylzl$6AlBlCl%6DlElFl'6GlHlIl(6JlKlLl)6MlNlOl*6PlQlRl+6SlTlUlVlWlXl,6YlZl0l-61l.62l3l4l5l/66l7l8l9l!l#l:6$l%l'l;6(l=6)l*l+l?6,l-l.l@6/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqm[6rmsmtmumvm]6wmxm^6ymzmNhAmuhBmvhCmwhDmEmFmGmHmImJmKmLm_6Mm`6Nm{6Om|6PmQmRmSmTmUmVmOhWmXmYmZm0m1m2m3m4m5m6m7m}68m9m!m#m$m%m~6a7'm(m)mb7*m+m,mc7-md7.me7/m:mf7g7;m:fVfWf=m?m@m[m]m^mh7_m`mi7{mj7|mk7}m~manbncndnenfngnhnl7m7n7ino7p7jnknlnmnq7nnonr7pns7t7qnrnu7snv7tnw7unx7vnwnxny7ynznAnz7BnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnA7VnWnXnYnZn0nB71nC72nD73nE74nF75nG76nH77n8nI79nJ7!nK7#nL7$nM7%n'n(n)nN7*n+nO7,nP7-nQ7R7.n/n:nS7;n=n?nT7@n[nU7]nV7^nW7_nX7`nY7{nZ7|n07}n17~n2737aobo47co57do67eo77fo8797gohoPhQhioRhjokoloShmonooopoqo!7#7$7ro%7soto'7uovowoxo(7)7yozoAo*7BoCoDo+7Eo,7-7FoGoHo.7IoJoKoLo/7MoNo:7OoPoQo;7RoSo=7To?7UoVo@7WoXoYo[7Zo0o]7^71o2o3o_74o5o6o7o`78o9o!o#o{7$o%o|7'o(o}7)o*o+o~7,o-oa8.o/ob8:o;oc8=o?od8@oe8[of8]og8^oh8_oi8`oj8{ok8|ol8}om8~oapbpcpn8dpo8epp8q8Ocfpr8gps8t8hpipu8jpkpv8lpw8mpx8npy8opz8ppA8qprpspB8tpupvpC8wpxpypzpApBpCpDpD8EpFpGpHpIpJpKpLpE8MpNpOpPpQpRpSpF8TpUpVpWpXpYpZp0p1p2p3p4p5p6p7pG88p9p!p#p$p%p'p(p)pH8*p+p,p-pI8.p/p:p;p=pJ8?p@pK8[p#hXfYf]pL8^pM8_pN8O8`p{pP8|p}p~pQ8aq%bbq*d+d,d-d.d/dcq:d;d=d?d@d[ddqR8eqfqS8gqhqiqjqE MbT8b kqlqmqnq]d^d_d`d{d|doqU8pqV8W8qqX8ThUhY8VhrqsqtquqWhvqwqxqyq'bzq(b)bZ8AqBq$hCq*bDqxhEqFqGq0818HqIq+bT NbJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q28@q[q]q^q_q`q{q}d~daebece|q}q~qarbr%h'hcr38dr48erfr58grhrir68jrkr78lr88mrnrorprqr98rrU V W X Y l g 2dsr!8tr#8urvrwrXhxryrzrArBrCrDrErFrGr$8Zf0f%8HrIr'8JrKr(8LrMrNr)8OrYhPrZhn Z 0 AbBb1 Qr*8RrSrTr+8UrVrWrXrYr,8Zr0r1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscs-8dsesfsgshsisjskslsmsnsospsqsrssstsusvsOb2 wsxs.8ys/8zsAs:8BsCsDs;8EsFsGsHsIsJsKsLsMsNs0hOsshPcPsQsRsSsTsUsVsWsXsYs=8Zs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[sPbQcQbRc1h]s^s_s`s. / : {sqbrb,b9c?8|s}s@8~sat[8btct]8dtet^8ftgt_8htit`8jtkt{8ltmt|8ntot}8ptqt~8rtsta9ttutb9vtwtxtytc9ztAtBtCtd9DtEtFtGte9HtItJtf9KtLtMtg9NtOtPth9QtRtSti9TtUtVtj9WtXtYtk9Zt0t1t2t3t4tl95t6t7tm98tn99t!t#t$to9%t't(t)t*t+tp9,t-t.tq9/tr9:t;t=ts9?t@t[tt9]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuu9yuzuAuBuCuv9DuEuw9FuGu2hHuyhIuzhJuAhKuLuMuNuOuPuQuRuSux9Tuy9Uuz9VuA9WuXuYuZu0u1u2u3h3u4u5u6u7u8u9u!u#u$u%u'uB9(u)u*u+u,u-uC9D9.u/u:uE9;u=u?uF9@u[u]uG9^uH9_uI9`uJ9{uK9|u}uL9M9~uavN9O9bv;f1f2fcvdvevfvgvhvP9ivjvQ9kvR9lvS9-bT9mvnvovpvqvrvsvtvuvvvU9V9W9wvX9Y9xvyvzvAvZ9BvCv09Dv1929EvFv39Gv49Hv59Iv69Jv79Kv89LvMvNv99OvPvQv!9RvSvTv#9UvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v$9.v/v:v;v=v?v%9@v[v]v^v_v`v'9{v(9|v)9}v*9~v+9aw,9bw-9cw.9dwew/9fw:9gw;9hw=9iw?9jw@9kw[9lwmwnwow]9pwqw^9rw_9sw`9{9twuwvw|9wwxwyw}9zwAw~9Bwa!Cwb!Dwc!Ewd!Fwe!Gwf!Hwg!Iwh!Jwi!Kwj!k!LwMwl!Nwm!Own!Pwo!Qwp!q!RwSw4h5hTw6hUwVwWw7hXwYwZw0w1wr!s!t!2wu!v!3ww!4w5wx!6w7w8w9wy!z!!w#w$wA!%w'w(wB!)wC!D!*w+w,wE!-w.w/wF!:w;w=w?wG!@w[wH!]w^wI!_w`wJ!{w|w}wK!~waxL!bxcxM!dxexN!fxO!gxhxP!ixjxQ!kxlxmxR!nxoxS!T!pxqxrxU!sxtxuxvxV!wxxxyxzxW!AxBxCxDxX!ExFxY!GxHxZ!IxJx0!KxLxMx1!NxOxPx2!QxRx3!SxTx4!UxVx5!WxXx6!YxZx7!0x1x8!2x3x9!4x5x!!6x#!7x$!8x%!9x'!!x(!#x)!$x*!%x+!'x,!(x-!)x.!*x/!+x:!,x;!-x.x/x:x=!;x?!=x@![!Sc?x]!@x^![x_!`!]x^x{!_x`x|!{x}!|x~!}xa#~xb#ayc#byd#cye#dyeyfyf#gyhyiyg#jykylyh#mynyoypyqyrysytyi#uyvywyxyyyzyAyByj#CyDyEyFyGyHyIyJyk#KyLyMyNyOyPyQyl#RySyTyUyVyWyXyYyZy0y1y2y3y4y5ym#6y7y8y9y!y#y$y%y'y(y)y*y+y,y-yn#.y/y:y;y=y?y@y[y]y^y_y`y{y|y}yo#~yazbzczdzezfzgzhzp#izjzkzlzq#mznzozpzqzrzsztzuzr#vzwzs#xzyzt#zzAzu#Bz(h3f4fCzv#Dzw#Ezx#y#FzGzz#HzIzr JzA#Kz.bLzdeeefegeheieMzjekelemeneoeNz/bpeqereseteOzB#PzQzC#RzSzTzUzF RbD#c VzWzXzYzuevewexeyezeZzE#0zF#G#1zH#2z3zI#4z5z6z7z8z9z!z#z$z%z:b'z;b=bJ#(z)z)h*z?b+z*h,z-z.zK#L#/z:z@b3 Sb;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAM#FAGAHAIAJAKALAAeBeCeDeEeMANAOAPAQA+h,hRAN#SAO#TAUAP#VAWAXAQ#YAZAR#0AS#1A2A3A4A5AT#6A; = ? @ [ s h 3d7AU#8AV#9A!A#A$A%A'A(A)A*A+A,A-A.A/AW#5f6fX#:A;AY#=A?AZ#@A[A]A0#^A_A`A{Ao 4 5 CbDb6 |A1#}A~AaB2#bBcBdBeBfB3#gBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUB4#VBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%BTb7 [b!c]b#c^b_b'B(B5#)B6#*B+B7#,B-B.B8#/B:B;B=B?B@B[B]B^B_B`B{BBhTc|B}B~BaCbCcCdCeCfCgC9#hCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCUbUcVbVcLCMCNCOCPC] ^ _ QCsbtb`b$c!#RCSC##TCUC$#VCWC%#XCYC'#ZC0C(#1C2C)#3C4C*#5C6C+#7C8C,#9C!C-##C$C.#%C'C/#(C)C*C+C:#,C-C.C/C;#:C;C=C?C=#@C[C]C?#^C_C`C@#{C|C}C[#~CaDbD]#cDdDeD^#fDgDhD_#iDjDkDlDmDnD`#oDpDqD{#rD|#sDtDuDvD}#wDxDyDzDADBD~#CDDDEDa$FDb$GDHDIDc$JDKDLDd$MDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*De$+D,D-D.D/Df$:D;Dg$=D?D@D[D-h]D.h^D/h_D`D{D|D}D~DaEbEcEh$dEi$eEj$fEk$gEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEl$AEBECEDEEEFEm$n$GEHEIEo$JEKELEp$MENEOEq$PEQEREr$SETEUEs$VEt$WEu$XEv$YEw$ZEx$0Ey$1E2Ez$A$3E4EB$C$5E6ED$E$7E=f7f8f8E9E!E#E$E%EF$'E(EG$)EH$*EI${bJ$|bK$}bL$+E,E-E.E/E:E;E=E?E@EM$N$O$[EP$Q$]E^E_E`ER${E|ES$}ET$U$~EaFV$bFW$cFX$dFY$eFZ$fF0$gF1$hF2$iF3$jF4$kFlFmF5$nFoFpF6$qFrFsF7$tFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTF8$UFVFWFXFYFZF9$0F1F2F3F4F5F!$6F#$7F$$8F%$9F'$!F($#F)$$F*$%F+$'F,$(F)F-$*F+F.$,F/$-F:$.F;$/F=$:F?$;F@$=F?F@F[F[$]F^F]$_F^$`F_$`${F|F}F{$~FaGbG|$cGdG}$eG~$fGa%gGb%hGc%iGd%jGe%kGf%lGg%mGh%nGi%oGj%pGk%qGl%rGm%sGn%tGo%p%uGvGq%wGr%xGs%yGt%zGu%v%AGBGCGDGEGFGGGHGIGJGKGLGMGNGOGw%x%y%PGz%A%QGB%C%RGD%SGTGE%UGVGWGXGF%G%YGZG0GH%1G2G3GI%4GJ%5GK%L%6G7G8GM%9G!G#GN%$G%G'GO%(G)G*GP%+G,G-G.GQ%/G:GR%;G=GS%?G@GT%[G]GU%^G_GV%`G{G|GW%}G~GX%aHbHY%cHdHZ%eH0%fHgH1%hHiH2%jHkHlH3%mHnH4%oHpH5%qHrH6%sHtH7%8%uHvHwH9%xHyHzHAH!%BHCHDHEH#%FHGHHHIH$%JHKHLHMH%%NHOHPHQH'%RHSH(%THUH)%VHWH*%XHYHZH+%0H1H2H,%3H4H-%5H6H.%7H8H/%9H!H:%#H$H;%%H'H=%(H)H?%*H+H@%,H[%-H]%.H^%/H_%:H`%;H{%=H|%?H}%@H~%[Ha']Hb'^Hc'_Hd'`He'{H|H}H~Hf'aIg'bIh'cIi'j'WcXcdIk'eIl'm'fIgIn'hIo'iIp'q'jIkIr'lImIs'nIoIt'pIqIu'rIv'sIw'tIx'uIy'vIz'wIA'xIB'yIC'zID'AIE'BIF'CIG'DIH'EIFIGII'HIIIJIJ'KILIMIK'NIOIPIQIRISITIUIL'VIWIXIYIZI0I1I2IM'3I4I5I6I7I8I9I!IN'#I$I%I'I(I)I*I+IO',I-I.I/I:I;I=I?IP'@I[I]I^I_I`I{IQ'|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJR'mJnJoJpJqJrJsJtJuJvJwJxJyJzJAJS'BJCJDJEJFJGJHJIJJJKJLJMJNJOJPJT'QJRJSJTJUJVJWJXJYJZJ0J1J2J3J4JU'5J6J7J8J9J!J#J$J%J'J(J)J*J+J,JV'-J.J/J:J;J=J?J@J[JW']J^J_J`JX'{J|J}J~JaKbKcKdKeKY'fKgKZ'hKiK0'jKkK1'lKmK2'nKoK3'pK:h9f!fqK4'rK5'sK6'7'tKuK8'vKwKt u v xK9'yK~bzKFeGeHeIeJeKeAKLeMeNeOePeQeBKacReSeTeUeVeCKbcWeXeYeZe0eDKcc1e2e3e4e5eEK` !'FKGK#'HKIKJKKKG Wb$'d LKMKNKOK6e7e8e9e!e#ePK%'QK''('RK)'SKTK*'UKVKWKXKYKZK0K1K2K3Kdc4Kecfc+'5K6K;h7Kgc8K=h9K!K#K,'-'$K%Khc8 Xb'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuL.'vLwLxLyLzLALBL$e%e'e(e)eCLDLELFLGL?h@hHL/'IL:'JLKL;'LLMLNL='OLPL?'QL@'RLSLTLULVL['WL{ | } ~ abw i 4dXL]'YL^'ZL0L1L2L3L4L5L6L7L8L9L!L#L$L_'#f$f`'%L'L{'(L)L|'*L+L,L}'-L.L/L:Lp 9 ! EbFb# ;L~'=L?L@La([L]L^L_L`Lb({L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMc(LMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3MYb$ ic%cjc'ckclc4M5Md(6Me(7M8Mf(9M!M#Mg($M%M'M(M)M*M+M,M-M.M/M:MChYc;M=M?M@M[M]M^M_M`M{Mh(|M}M~MaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANZbZc0b0cBNCNDNENFNbbcbdbGNubvbmc(ci(HNINj(JNKNk(LNMNl(NNONm(PNQNn(RNSNo(TNUNp(VNWNq(XNYNr(ZN0Ns(1N2Nt(3N4Nu(5N6N7N8Nv(9N!N#N$Nw(%N'N(N)Nx(*N+N,Ny(-N.N/Nz(:N;N=NA(?N@N[NB(]N^N_NC(`N{N|ND(}N~NaObOcOdOE(eOfOgOF(hOG(iOjOkOlOH(mOnOoOpOqOrOI(sOtOuOJ(vOK(wOxOyOL(zOAOBOM(CODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7ON(8O9O!O#O$OO(%O'OP((O)O*O+O[h,O]h-O^h.O/O:O;O=O?O@O[O]OQ(^OR(_OS(`OT({O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPU(qPrPsPtPuPvPV(W(wPxPyPX(zPAPBPY(CPDPEPZ(FPGPHP0(IPJPKP1(LP2(MP3(NP4(OP5(PP6(QP7(RPSP8(9(TPUP!(#(VPWP$(%(XP?f%f'fYPZP0P1P2P3P'(4P5P((6P)(7P*(nc+(oc,(pc-(8P9P!P#P$P%P'P(P)P*P.(/(:(+P;(=(,P-P.P/P?(:P;P@(=P[(](?P@P^([P_(]P`(^P{(_P|(`P}({P~(|Pa)}Pb)~Pc)aQbQcQd)dQeQfQe)gQhQiQf)jQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQg)KQLQMQNQOQPQh)QQRQSQTQUQVQi)WQj)XQk)YQl)ZQm)0Qn)1Qo)2Qp)3Qq)4Qr)5Q6Qs)7Q8Qt)9Qu)!Qv)#Qw)$Qx)%Qy)'Qz)(Q)Q*Q+QA),Q-QB).QC)/QD)E):Q;Q=QF)?Q@Q[QG)]Q^QH)_QI)`QJ){QK)|QL)}QM)~QN)aRO)bRP)cRQ)dRR)eRS)fRT)gRU)hRV)iRW)jRX)Y)kRlRZ)mR0)nR1)oR2)pR3)4)qRrRsRtRuRvRwRxRyRzRARBRCRDRER5)6)7)FR8)9)GR!)#)HR$)IRJR%)KRLRMRNR')()ORPRQR))RRSRTR*)UR+)VR,)-)WRXRYR.)ZR0R1R/)2R3R4R:)5R6R7R;)8R9R!R#R=)$R%R?)'R(R@))R*R[)+R,R])-R.R^)/R:R;R_)=R?R`)@R[R{)]R^R|)_R})`R{R~)|R}Ra*~RaSbSb*cSdSc*eSfSd*gShSe*iSjSf*g*kSlSmSh*nSoSpSqSi*rSsStSuSj*vSwSxSySk*zSASBSCSl*DSESFSGSm*HSISn*JSKSo*LSMSp*NSOSPSq*QSRSSSr*TSUSs*VSWSt*XSYSu*ZS0Sv*1S2Sw*3S4Sx*5S6Sy*7S8Sz*9SA*!SB*#SC*$SD*%SE*'SF*(SG*)SH**SI*+SJ*,SK*-SL*.SM*/SN*:S;S=S?SO*@SP*[SQ*]SR*S*1c2c^ST*_SU*V*`S{SW*|SX*}SY*Z*~SaT0*bTcT1*dTeT2*fTgT3*hT4*iT5*jT6*kT7*lT8*mT9*nT!*oT#*pT$*qT%*rT'*sT(*tT)*uTvTwT**xTyTzT+*ATBTCT,*DTETFTGTHTITJTKT-*LTMTNTOTPTQTRTST.*TTUTVTWTXTYTZT0T/*1T2T3T4T5T6T7T8T:*9T!T#T$T%T'T(T)T;**T+T,T-T.T/T:T=*;T=T?T@T[T]T^T_T`T{T|T}T~TaUbU?*cUdUeUfUgUhUiUjUkUlUmUnUoUpUqU@*rUsUtUuUvUwUxUyUzUAUBUCUDUEUFU[*GUHUIUJUKULUMUNUOUPUQURUSUTUUU]*VUWUXUYUZU0U1U2U3U4U5U6U7U8U9U^*!U#U$U%U'U(U)U*U+U_*,U-U.U/U`*:U;U=U?U@U[U]U^U_U{*`U{U|*|U}U}*~UaV~*bVcVa+dVeVb+fV_h(f)fgVc+hVd+iVe+f+jVkVg+lVmVx y z nVh+oVqcpV*e+e,e-e.e/eqV:e;e=e?e@e[erVrc]e^e_e`e{esVsc|e}e~eafbftVtccfdfefffgfuVebi+vVwVj+xVyVzVAVH 1bk+e BVCVDVEVhfifjfkflfmfFVl+GVm+n+HVo+IVJVp+KVLVMVNVOVPVQVRVSVTVucUVvcwcq+VVWV`hXVxcYV{hZV0V1Vr+s+2V3Vyc% 2b4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWt+lWmWnWoWpWqWrWnfofpfqfrfsWtWuWvWwW|h}hxWu+yWv+zWAWw+BWCWDWx+EWFWy+GWz+HWIWJWKWLWA+MWfbgbhbibjbA j 5dNWB+OWC+PWQWRWSWTWUWVWWWXWYWZW0W1W2WD+*f+fE+3W4WF+5W6WG+7W8W9WH+!W#W$W%Wq ' ( GbHb) 'WI+(W)W*WJ++W,W-W.W/WK+:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXL+BXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTX3b* zc)cAc*cBcCcUXVXM+WXN+XXYXO+ZX0X1XP+2X3X4X5X6X7X8X9X!X#X$X%XDh3c'X(X)X*X+X,X-X.X/X:XQ+;X=X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqY4b4c5b5crYsYtYuYvYkblbmbwYwbxbDc+cR+xYyYS+zYAYT+BYCYU+DYEYV+FYGYW+HYIYX+JYKYY+LYMYZ+NYOY0+PYQY1+RYSY2+TYUY3+VYWYXYYY4+ZY0Y1Y2Y5+3Y4Y5Y6Y6+7Y8Y9Y7+!Y#Y$Y8+%Y'Y(Y9+)Y*Y+Y!+,Y-Y.Y#+/Y:Y;Y$+=Y?Y@Y[Y]Y^Y%+_Y`Y{Y'+|Y(+}Y~YaZbZ)+cZdZeZfZgZhZ*+iZjZkZ++lZ,+mZnZoZ-+pZqZrZ.+sZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZ/+YZZZ0Z1Z2Z:+3Z4Z;+5Z6Z7Z8Z~h9Zai!Zbi#Z$Z%Z'Z(Z)Z*Z+Z,Z=+-Z?+.Z@+/Z[+:Z;Z=Z?Z@Z[Z]Z^Z_Z`Z{Z|Z}Z~Za0b0c0d0e0f0]+g0h0i0j0k0l0^+_+m0n0o0`+p0q0r0{+s0t0u0|+v0w0x0}+y0z0A0~+B0a,C0b,D0c,E0d,F0e,G0f,H0I0g,h,J0K0i,j,L0M0k,l,N0@f,f-fO0P0Q0R0S0T0m,U0V0n,W0o,X0p,Ecq,Fcr,Gcs,Y0Z00010203040506070t,u,v,80w,x,90!0#0$0y,%0'0z,(0A,B,)0*0C,+0D,,0E,-0F,.0G,/0H,:0I,;0J,=0K,?0L,@0[0]0M,^0_0`0N,{0|0}0O,~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1P,A1B1C1D1E1F1Q,G1H1I1J1K1L1R,M1S,N1T,O1U,P1V,Q1W,R1X,S1Y,T1Z,U10,V1W11,X1Y12,Z13,014,115,216,317,418,516171819,91!1!,#1#,$1$,%,%1'1(1',)1*1+1(,,1-1),.1*,/1+,:1,,;1-,=1.,?1/,@1:,[1;,]1=,^1?,_1@,`1[,{1],|1^,}1_,~1`,{,a2b2|,c2},d2~,e2a-f2b-c-g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2d-e-f-v2g-h-w2i-j-x2k-y2z2l-A2B2C2D2m-n-E2F2G2o-H2I2J2p-K2q-L2r-s-M2N2O2t-P2Q2R2u-S2T2U2v-V2W2X2w-Y2Z20212x-2232y-4252z-6272A-8292B-!2#2C-$2%2'2D-(2)2E-*2+2F-,2-2G-.2H-/2:2I-;2=2J-?2@2[2K-]2^2L-_2`2M-{2|2N-}2~2O-P-a3b3c3Q-d3e3f3g3R-h3i3j3k3S-l3m3n3o3T-p3q3r3s3U-t3u3v3w3V-x3y3W-z3A3X-B3C3Y-D3E3F3Z-G3H3I30-J3K31-L3M32-N3O33-P3Q34-R3S35-T3U36-V3W37-X3Y38-Z39-03!-13#-23$-33%-43'-53(-63)-73*-83+-93,-!3--#3.-$3/-%3'3(3)3:-*3;-+3=-,3?-@-6c7c-3[-.3]-^-/3:3_-;3`-=3{-|-?3@3}-[3]3~-^3_3a.`3{3b.|3c.}3d.~3e.a4f.b4g.c4h.d4i.e4j.f4k.g4l.h4m.i4n.j4o.k4l4m4p.n4o4p4q.q4r4s4r.t4u4v4w4x4y4z4A4s.B4C4D4E4F4G4H4I4t.J4K4L4M4N4O4P4Q4u.R4S4T4U4V4W4X4Y4v.Z404142434445464w.748494!4#4$4%4x.'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4y.]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5z.h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5A.w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5B.L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5C.051525354555657585D.95!5#5$5E.%5'5(5)5*5+5,5-5.5F./5:5G.;5=5H.?5@5I.[5]5J.^5_5K.`5ci.f/f{5L.|5M.}5N.O.~5a6P.b6c6B C D d6Q.e6Hcf6sftfufvfwfxfg6yfzfAfBfCfDfh6IcEfFfGfHfIfi6JcJfKfLfMfNfj6KcOfPfQfRfSfk6nbR.l6m6S.n6o6p6q6I 6bT.
44 return True 2a r6s6t6u6EhFhv6GhHhw68hthx6y6J Ibz6A6B6C6D6E6F6G6K L M N O k f 1dH6I6IhJ6K6L6M6N6JhKhm P Q ybzbR O6P6Q6R6JbS S6T6U6V6LhrhLcW6McNcMh+ , - obpb8cX6Y6Z606162636465666768696!6#6$6%6'6(6)6*6+6,6-6.6/6:6;6=6?6@6[6]6^6Nhuhvhwh_6`6{6|6Oh}6~6a7b7c7d7e7f7g7:fh7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z707172737475767778797PhQhRhSh!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8Ocr8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8E MbT8b U8V8W8X8ThUhY8VhWhZ8$hxh0818T Nb2838485868788898U V W X Y l g 2d!8#8Xh$8%8'8(8)8YhZhn Z 0 AbBb1 *8+8,8-8Ob2 .8/8:8;80hshPc=8QcRc1h. / : qbrb9c?8@8[8]8^8_8`8{8|8}8~8a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w92hyhzhAhx9y9z9A93hB9C9D9E9F9G9H9I9J9K9L9M9N9O9;fP9Q9R9S9T9U9V9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9;9=9?9@9[9]9^9_9`9{9|9}9~9a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!4h5h6h7hr!s!t!u!v!w!x!y!z!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z!0!1!2!3!4!5!6!7!8!9!!!#!$!%!'!(!)!*!+!,!-!.!/!:!;!=!?!@![!Sc]!^!_!`!{!|!}!~!a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#r A#B#C#F RbD#c E#F#G#H#2z3zI#4z9zJ#)h*hK#L#3 SbM#N#O#P#Q#R#S#T#; = ? @ [ s h 3dU#V#$AW#X#Y#Z#0#_A{Ao 4 5 CbDb6 1#2#3#4#Tb7 !c#c5#6#7#8#`BBhTc9#UcVcLC] ^ _ sbtb$c!###$#%#'#(#)#*#+#,#-#.#/#:#;#=#?#@#[#]#^#_#`#{#|#}#~#a$b$c$d$e$f$g$@D-h.h/hh$i$j$k$nEl$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$D$E$=fF$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$0$1$2$3$4$5$6$7$8$9$!$#$$$%$'$($)$*$+$,$-$.$/$:$;$=$?$@$[$]$^$_$`${$|$}$~$a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%CGDGFGJGw%x%y%z%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%0%1%2%3%4%5%6%7%8%9%!%#%$%%%'%(%)%*%+%,%-%.%/%:%;%=%?%@%[%]%^%_%`%{%|%}%~%a'b'c'd'e'f'g'h'i'j'WcXck'l'm'n'o'p'q'r's't'u'v'w'x'y'z'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'0'1'2'3'4'5'6'7'8't u v 9'` !'#'G Wb$'d %'''(')'SKTK*'UKZK+';h=h,'-'8 Xb.'/':';'='?'@'['{ | } ~ abw i 4d]'^'2L_'`'{'|'}'.L:Lp 9 ! EbFb# ~'a(b(c(Yb$ %c'cd(e(f(g(/MChYch(Zc0cBNbbcbdbubvb(ci(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(*O[h]h^hQ(R(S(T(dPU(V(W(X(Y(Z(0(1(2(3(4(5(6(7(8(9(!(#($(%(?f'((()(*(+(,(-(.(/(:(;(=(?(@([(](^(_(`({(|(}(~(a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)0)1)2)3)4)sRtRvRzR5)6)7)8)9)!)#)$)%)')()))*)+),)-).)/):);)=)?)@)[)])^)_)`){)|)})~)a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*1c2cT*U*V*W*X*Y*Z*0*1*2*3*4*5*6*7*8*9*!*#*$*%*'*(*)***+*,*-*.*/*:*;*=*?*@*[*]*^*_*`*{*|*}*~*a+b+c+d+e+f+g+x y z h+ebi+j+H 1bk+e l+m+n+o+IVJVp+KVPVq+`h{hr+s+% 2bt+u+v+w+x+y+z+A+fbgbhbibjbA j 5dB+C+SWD+E+F+G+H+#W%Wq ' ( GbHb) I+J+K+L+3b* )c*cM+N+O+P+$XDh3cQ+4c5crYkblbmbwbxb+cR+S+T+U+V+W+X+Y+Z+0+1+2+3+4+5+6+7+8+9+!+#+$+%+'+(+)+*+++,+-+.+/+:+;+7Z~haibi=+?+@+[+^Z]+^+_+`+{+|+}+~+a,b,c,d,e,f,g,h,i,j,k,l,@fm,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,!,#,$,%,',(,),*,+,,,-,.,/,:,;,=,?,@,[,],^,_,`,{,|,},~,a-b-c-i2j2l2p2d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-0-1-2-3-4-5-6-7-8-9-!-#-$-%-'-(-)-*-+-,---.-/-:-;-=-?-@-6c7c[-]-^-_-`-{-|-}-~-a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.B C D Q.nbR.S.I 6bT.
45 # Ref: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#patterned-fields-1
46 if status_code in { 2a dieifigi6d7d8d9d!d#dhiiijikiliminioipiqiri7bsi8b9btiui8hvi!bwixiyiziAiBi#bJ IbCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i$d%d'd(d)d@i[i]i^i_i9h!h`i{i|i}i~iajbjcjdjejfjgjhjijjjkjK L M N O k f ljmjnjojpjqjrjsjtjujvjwjxjyjzjTfUfAjBjCjDjEjFjGjHjIjm P Q ybzbR JjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokJbS pkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkrhIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.kKbLb/k:k;k=k+ , - ?kobpb$b@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;mVfWf=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p#hXfYf]p^p_p`p{p|p}p~paq%bbq*d+d,d-d.d/dcq:d;d=d?d@d[ddqeqfqgqhqiqjqE Mbb kqlqmqnq]d^d_d`d{d|doqpqqqrqsqtquqvqwqxqyq'bzq(b)bAqBq$hCq*bDqEqFqGqHqIq+bT NbJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q}d~daebece|q}q~qarbr%h'hcrdrerfrgrhrirjrkrlrmrnrorprqrrrU V W X Y l g srtrurvrwrxryrzrArBrCrDrErFrGrZf0fHrIrJrKrLrMrNrOrPrn Z 0 AbBb1 QrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvsOb2 wsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsshPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[sPbQb]s^s_s`s. / : {sqbrb,b|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbv1f2fcvdvevfvgvhvivjvkvlv-bmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBz(h3f4fCzDzEzFzGzHzIzr JzKz.bLzdeeefegeheieMzjekelemeneoeNz/bpeqereseteOzPzQzRzSzTzUzF Rbc VzWzXzYzuevewexeyezeZz0z1z5z6z7z8z!z#z$z%z:b'z;b=b(z)z)h*z?b+z,z-z.z/z:z@b3 Sb;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAAeBeCeDeEeMANAOAPAQA+h,hRASATAUAVAWAXAYAZA0A1A2A3A4A5A6A; = ? @ [ s h 7A8A9A!A#A%A'A(A)A*A+A,A-A.A/A5f6f:A;A=A?A@A[A]A^A`Ao 4 5 CbDb6 |A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%BTb7 [b]b^b_b'B(B)B*B+B,B-B.B/B:B;B=B?B@B[B]B^B_B{BBh|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCUbVbMCNCOCPC] ^ _ QCsbtb`bRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E7f8f8E9E!E#E$E%E'E(E)E*E{b|b}b+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGEGGGHGIGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpK:h9f!fqKrKsKtKuKvKwKt u v xKyK~bzKFeGeHeIeJeKeAKLeMeNeOePeQeBKacReSeTeUeVeCKbcWeXeYeZe0eDKcc1e2e3e4e5eEK` FKGKHKIKJKKKG Wbd LKMKNKOK6e7e8e9e!e#ePKQKRKVKWKXKYK0K1K2K3Kdc4Kecfc5K6K;h7Kgc8K9K!K#K$K%Khc8 Xb'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBL$e%e'e(e)eCLDLELFLGL?h@hHLILJLKLLLMLNLOLPLQLRLSLTLULVLWL{ | } ~ abw i XLYLZL0L1L3L4L5L6L7L8L9L!L#L$L#f$f%L'L(L)L*L+L,L-L/Lp 9 ! EbFb# ;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3MYb$ icjckclc4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M:MCh;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANZb0bCNDNENFNbbcbdbGNubvbmcHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXP%f'fYPZP0P1P2P3P4P5P6P7Pncocpc8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRuRwRxRyRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfV_h(f)fgVhViVjVkVlVmVx y z nVoVqcpV*e+e,e-e.e/eqV:e;e=e?e@e[erVrc]e^e_e`e{esVsc|e}e~eafbftVtccfdfefffgfuVebvVwVxVyVzVAVH 1be BVCVDVEVhfifjfkflfmfFVGVHVLVMVNVOVQVRVSVTVucUVvcwcVVWV`hXVxcYVZV0V1V2V3Vyc% 2b4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWnfofpfqfrfsWtWuWvWwW|h}hxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWfbgbhbibjbA j NWOWPWQWRWTWUWVWWWXWYWZW0W1W2W*f+f3W4W5W6W7W8W9W!W$Wq ' ( GbHb) 'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTX3b* zcAcBcCcUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X%XDh'X(X)X*X+X,X-X.X/X:X;X=X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqY4b5bsYtYuYvYkblbmbwYwbxbDcxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z_Z`Z{Z|Z}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0,f-fO0P0Q0R0S0T0U0V0W0X0EcFcGcY0Z000102030405060708090!0#0$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2k2m2n2o2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z202122232425262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5ci.f/f{5|5}5~5a6b6c6B C D d6e6Hcf6sftfufvfwfxfg6yfzfAfBfCfDfh6IcEfFfGfHfIfi6JcJfKfLfMfNfj6KcOfPfQfRfSfk6nbl6m6n6o6p6q6I 6b
47 "default",
48 "1XX",
49 "2XX",
50 "3XX",
51 "4XX",
52 "5XX",
53 }:
54 return True 1abcde
55 current_status_code = int(status_code) 2a dieifigi6d7d8d9d!d#dhiiijikiliminioipiqiri7bsi8b9btiui8hvi!bwixiyiziAiBi#bJ IbCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i$d%d'd(d)d@i[i]i^i_i9h!h`i{i|i}i~iajbjcjdjejfjgjhjijjjkjK L M N O k f ljmjnjojpjqjrjsjtjujvjwjxjyjzjTfUfAjBjCjDjEjFjGjHjIjm P Q ybzbR JjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokJbS pkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkrhIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.kKbLb/k:k;k=k+ , - ?kobpb$b@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;mVfWf=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p#hXfYf]p^p_p`p{p|p}p~paq%bbq*d+d,d-d.d/dcq:d;d=d?d@d[ddqeqfqgqhqiqjqE Mbb kqlqmqnq]d^d_d`d{d|doqpqqqrqsqtquqvqwqxqyq'bzq(b)bAqBq$hCq*bDqEqFqGqHqIq+bT NbJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q}d~daebece|q}q~qarbr%h'hcrdrerfrgrhrirjrkrlrmrnrorprqrrrU V W X Y l g srtrurvrwrxryrzrArBrCrDrErFrGrZf0fHrIrJrKrLrMrNrOrPrn Z 0 AbBb1 QrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvsOb2 wsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsshPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[sPbQb]s^s_s`s. / : {sqbrb,b|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbv1f2fcvdvevfvgvhvivjvkvlv-bmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBz(h3f4fCzDzEzFzGzHzIzr JzKz.bLzdeeefegeheieMzjekelemeneoeNz/bpeqereseteOzPzQzRzSzTzUzF Rbc VzWzXzYzuevewexeyezeZz0z1z5z6z7z8z!z#z$z%z:b'z;b=b(z)z)h*z?b+z,z-z.z/z:z@b3 Sb;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAAeBeCeDeEeMANAOAPAQA+h,hRASATAUAVAWAXAYAZA0A1A2A3A4A5A6A; = ? @ [ s h 7A8A9A!A#A%A'A(A)A*A+A,A-A.A/A5f6f:A;A=A?A@A[A]A^A`Ao 4 5 CbDb6 |A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%BTb7 [b]b^b_b'B(B)B*B+B,B-B.B/B:B;B=B?B@B[B]B^B_B{BBh|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCUbVbMCNCOCPC] ^ _ QCsbtb`bRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E7f8f8E9E!E#E$E%E'E(E)E*E{b|b}b+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGEGGGHGIGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpK:h9f!fqKrKsKtKuKvKwKt u v xKyK~bzKFeGeHeIeJeKeAKLeMeNeOePeQeBKacReSeTeUeVeCKbcWeXeYeZe0eDKcc1e2e3e4e5eEK` FKGKHKIKJKKKG Wbd LKMKNKOK6e7e8e9e!e#ePKQKRKVKWKXKYK0K1K2K3Kdc4Kecfc5K6K;h7Kgc8K9K!K#K$K%Khc8 Xb'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBL$e%e'e(e)eCLDLELFLGL?h@hHLILJLKLLLMLNLOLPLQLRLSLTLULVLWL{ | } ~ abw i XLYLZL0L1L3L4L5L6L7L8L9L!L#L$L#f$f%L'L(L)L*L+L,L-L/Lp 9 ! EbFb# ;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3MYb$ icjckclc4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M:MCh;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANZb0bCNDNENFNbbcbdbGNubvbmcHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXP%f'fYPZP0P1P2P3P4P5P6P7Pncocpc8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRuRwRxRyRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfV_h(f)fgVhViVjVkVlVmVx y z nVoVqcpV*e+e,e-e.e/eqV:e;e=e?e@e[erVrc]e^e_e`e{esVsc|e}e~eafbftVtccfdfefffgfuVebvVwVxVyVzVAVH 1be BVCVDVEVhfifjfkflfmfFVGVHVLVMVNVOVQVRVSVTVucUVvcwcVVWV`hXVxcYVZV0V1V2V3Vyc% 2b4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWnfofpfqfrfsWtWuWvWwW|h}hxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWfbgbhbibjbA j NWOWPWQWRWTWUWVWWWXWYWZW0W1W2W*f+f3W4W5W6W7W8W9W!W$Wq ' ( GbHb) 'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTX3b* zcAcBcCcUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X%XDh'X(X)X*X+X,X-X.X/X:X;X=X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqY4b5bsYtYuYvYkblbmbwYwbxbDcxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z_Z`Z{Z|Z}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0,f-fO0P0Q0R0S0T0U0V0W0X0EcFcGcY0Z000102030405060708090!0#0$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2k2m2n2o2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z202122232425262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5ci.f/f{5|5}5~5a6b6c6B C D d6e6Hcf6sftfufvfwfxfg6yfzfAfBfCfDfh6IcEfFfGfHfIfi6JcJfKfLfMfNfj6KcOfPfQfRfSfk6nbl6m6n6o6p6q6I 6b
56 return not (current_status_code < 200 or current_status_code in {204, 205, 304}) 2a dieifigi6d7d8d9d!d#dhiiijikiliminioipiqiri7bsi8b9btiui8hvi!bwixiyiziAiBi#bJ IbCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i$d%d'd(d)d@i[i]i^i_i9h!h`i{i|i}i~iajbjcjdjejfjgjhjijjjkjK L M N O k f ljmjnjojpjqjrjsjtjujvjwjxjyjzjTfUfAjBjCjDjEjFjGjHjIjm P Q ybzbR JjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokJbS pkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkrhIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.kKbLb/k:k;k=k+ , - ?kobpb$b@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;mVfWf=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]o^o_o`o{o|o}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p-p.p/p:p;p=p?p@p[p#hXfYf]p^p_p`p{p|p}p~paq%bbq*d+d,d-d.d/dcq:d;d=d?d@d[ddqeqfqgqhqiqjqE Mbb kqlqmqnq]d^d_d`d{d|doqpqqqrqsqtquqvqwqxqyq'bzq(b)bAqBq$hCq*bDqEqFqGqHqIq+bT NbJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q}d~daebece|q}q~qarbr%h'hcrdrerfrgrhrirjrkrlrmrnrorprqrrrU V W X Y l g srtrurvrwrxryrzrArBrCrDrErFrGrZf0fHrIrJrKrLrMrNrOrPrn Z 0 AbBb1 QrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6r7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvsOb2 wsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsshPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[sPbQb]s^s_s`s. / : {sqbrb,b|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbv1f2fcvdvevfvgvhvivjvkvlv-bmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v@v[v]v^v_v`v{v|v}v~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBz(h3f4fCzDzEzFzGzHzIzr JzKz.bLzdeeefegeheieMzjekelemeneoeNz/bpeqereseteOzPzQzRzSzTzUzF Rbc VzWzXzYzuevewexeyezeZz0z1z5z6z7z8z!z#z$z%z:b'z;b=b(z)z)h*z?b+z,z-z.z/z:z@b3 Sb;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAAeBeCeDeEeMANAOAPAQA+h,hRASATAUAVAWAXAYAZA0A1A2A3A4A5A6A; = ? @ [ s h 7A8A9A!A#A%A'A(A)A*A+A,A-A.A/A5f6f:A;A=A?A@A[A]A^A`Ao 4 5 CbDb6 |A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%BTb7 [b]b^b_b'B(B)B*B+B,B-B.B/B:B;B=B?B@B[B]B^B_B{BBh|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCUbVbMCNCOCPC] ^ _ QCsbtb`bRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E7f8f8E9E!E#E$E%E'E(E)E*E{b|b}b+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGEGGGHGIGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpK:h9f!fqKrKsKtKuKvKwKt u v xKyK~bzKFeGeHeIeJeKeAKLeMeNeOePeQeBKacReSeTeUeVeCKbcWeXeYeZe0eDKcc1e2e3e4e5eEK` FKGKHKIKJKKKG Wbd LKMKNKOK6e7e8e9e!e#ePKQKRKVKWKXKYK0K1K2K3Kdc4Kecfc5K6K;h7Kgc8K9K!K#K$K%Khc8 Xb'K(K)K*K+K,K-K.K/K:K;K=K?K@K[K]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBL$e%e'e(e)eCLDLELFLGL?h@hHLILJLKLLLMLNLOLPLQLRLSLTLULVLWL{ | } ~ abw i XLYLZL0L1L3L4L5L6L7L8L9L!L#L$L#f$f%L'L(L)L*L+L,L-L/Lp 9 ! EbFb# ;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3MYb$ icjckclc4M5M6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M:MCh;M=M?M@M[M]M^M_M`M{M|M}M~MaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANZb0bCNDNENFNbbcbdbGNubvbmcHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXP%f'fYPZP0P1P2P3P4P5P6P7Pncocpc8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRuRwRxRyRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfV_h(f)fgVhViVjVkVlVmVx y z nVoVqcpV*e+e,e-e.e/eqV:e;e=e?e@e[erVrc]e^e_e`e{esVsc|e}e~eafbftVtccfdfefffgfuVebvVwVxVyVzVAVH 1be BVCVDVEVhfifjfkflfmfFVGVHVLVMVNVOVQVRVSVTVucUVvcwcVVWV`hXVxcYVZV0V1V2V3Vyc% 2b4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWnfofpfqfrfsWtWuWvWwW|h}hxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWfbgbhbibjbA j NWOWPWQWRWTWUWVWWWXWYWZW0W1W2W*f+f3W4W5W6W7W8W9W!W$Wq ' ( GbHb) 'W(W)W*W+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTX3b* zcAcBcCcUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X%XDh'X(X)X*X+X,X-X.X/X:X;X=X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqY4b5bsYtYuYvYkblbmbwYwbxbDcxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z_Z`Z{Z|Z}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0,f-fO0P0Q0R0S0T0U0V0W0X0EcFcGcY0Z000102030405060708090!0#0$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2b2c2d2e2f2g2h2k2m2n2o2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z202122232425262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5ci.f/f{5|5}5~5a6b6c6B C D d6e6Hcf6sftfufvfwfxfg6yfzfAfBfCfDfh6IcEfFfGfHfIfi6JcJfKfLfMfNfj6KcOfPfQfRfSfk6nbl6m6n6o6p6q6I 6b
59def get_path_param_names(path: str) -> Set[str]: 1abcde
60 return set(re.findall("{(.*?)}", path)) 2a 6d7d8d9d!d#d7bUg8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}f9h!hK L M N O k f 1dTfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS + , - obpb$b8c:fVfWf#h5gXfYf,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgU.b ]d^d_d`d{d|d'b6g(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejg%h'hU V W X Y l g 2dZf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 . / : qbrb,b9c;f1f2f-b(h*g3f4f-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF RbkglgmgV.c uevewexeyeze:b+g;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug+h,h; = ? @ [ s h 3d5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_b] ^ _ sbtb`b$c=f7f8f{b|b}b:h]g9f!f.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G WbvgwgxgW.d 6e7e8e9e!e#edc^gecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg?h@h{ | } ~ abw i 4d#f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcbbcbdbubvbmc(c?f%f'fncocpc_heh(f)f/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIgX.e hfifjfkflfmfucfhvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQg|h}hfbgbhbibjbA j 5d*f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCckblbmbwbxbDc+c@f,f-fEcFcGcciqh.f/f:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTgY.
63def create_model_field( 1abcde
64 name: str,
65 type_: Any,
66 class_validators: Optional[Dict[str, Validator]] = None,
67 default: Optional[Any] = Undefined,
68 required: Union[bool, UndefinedType] = Undefined,
69 model_config: Type[BaseConfig] = BaseConfig,
70 field_info: Optional[FieldInfo] = None,
71 alias: Optional[str] = None,
72 mode: Literal["validation", "serialization"] = "validation",
73) -> ModelField:
74 class_validators = class_validators or {} 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
75 if PYDANTIC_V2: 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
76 field_info = field_info or FieldInfo( 2a 6d7d8d9d!d#d7b8b9b!b#bIb$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbLcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dMb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bNb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 ObPcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteRbkglgmgc uevewexeyeze:b;b=b?b@bSbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb[b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` Wbvgwgxgd 6e7e8e9e!e#edcecfcgchcXb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Ybic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfeb1bGgHgIge hfifjfkflfmfucvcwcxcyc2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3bzc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnb6bRgSgTg
77 annotation=type_, default=default, alias=alias
78 )
79 else:
80 field_info = field_info or FieldInfo() 2a 6d7d8d9d!d#d7b8b9b!b#bJ $d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q R S LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE ~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT }dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 1 2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF kglgmgc uevewexeyeze:b;b=b?b@b3 AengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 6 7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G vgwgxgd 6e7e8e9e!e#edcecfcgchc8 $eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! # $ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH GgHgIge hfifjfkflfmfucvcwcxcyc% nfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( ) * zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI RgSgTg
81 kwargs = {"name": name, "field_info": field_info} 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
82 if PYDANTIC_V2: 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
83 kwargs.update({"mode": mode}) 2a 6d7d8d9d!d#d7b8b9b!b#bIb$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbLcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dMb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bNb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 ObPcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteRbkglgmgc uevewexeyeze:b;b=b?b@bSbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb[b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` Wbvgwgxgd 6e7e8e9e!e#edcecfcgchcXb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Ybic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfeb1bGgHgIge hfifjfkflfmfucvcwcxcyc2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3bzc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnb6bRgSgTg
84 else:
85 kwargs.update( 2a 6d7d8d9d!d#d7b8b9b!b#bJ $d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q R S LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE ~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT }dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 1 2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF kglgmgc uevewexeyeze:b;b=b?b@b3 AengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 6 7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G vgwgxgd 6e7e8e9e!e#edcecfcgchc8 $eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! # $ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH GgHgIge hfifjfkflfmfucvcwcxcyc% nfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( ) * zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI RgSgTg
86 {
87 "type_": type_,
88 "class_validators": class_validators,
89 "default": default,
90 "required": required,
91 "model_config": model_config,
92 "alias": alias,
93 }
94 )
95 try: 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
96 return ModelField(**kwargs) # type: ignore[arg-type] 2a 6d7d8d9d!d#d7b8b9b!b#bJ Ib$d[f]f%d^f_f'd`f(d{f|f)d}fK L M N O k f 1d;c=c?c@c[c]c^c_c`c{c|c}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8cOc,c%b*d+d,d-d.d/d:d;d=d?d@d[dE Mb~fagbgb ]d^d_d`d{d|d'b(b)b*b+bT Nb}dcgdg~degfgaeggbehgigcejgU V W X Y l g 2d~cadbdcdddedfdgdhdidjdkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c-bSc-cr .bdeeefegeheiejekelemeneoe/bpeqereseteF Rbkglgmgc uevewexeyeze:b;b=b?b@b3 SbAengogBepgqgCergDesgtgEeug; = ? @ [ s h 3dldmdndodpdqdrdsdtdudvdwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c{b|b}bWcXc.ct u v ~bFeGeHeIeJeKeLeMeNeOePeQeacReSeTeUeVebcWeXeYeZe0ecc1e2e3e4e5e` G Wbvgwgxgd 6e7e8e9e!e#edcecfcgchc8 Xb$eygzg%eAgBg'eCg(eDgEg)eFg{ | } ~ abw i 4dzdAdBdCdDdEdFdGdHdIdJdKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(cncocpc1c2c/cx y z qc*e+e,e-e.e/e:e;e=e?e@e[erc]e^e_e`e{esc|e}e~eafbftccfdfefffgfebH 1bGgHgIge hfifjfkflfmfucvcwcxcyc% 2bnfJgKgofLgMgpfNgqfOgPgrfQgfbgbhbibjbA j 5dNdOdPdQdRdSdTdUdVdWdXdYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+cEcFcGc6c7c:cB C D HcsftfufvfwfxfyfzfAfBfCfDfIcEfFfGfHfIfJcJfKfLfMfNfKcOfPfQfRfSfnbI 6bRgSgTg
97 except (RuntimeError, PydanticSchemaGenerationError): 2LcKbMcLbNcOcPcPbQcQbRcScTcUbUcVbVcWcXcYcZbZc0b0c1c2c3c4b4c5b5c6c7c
98 raise fastapi.exceptions.FastAPIError( 2LcKbMcLbNcOcPcPbQcQbRcScTcUbUcVbVcWcXcYcZbZc0b0c1c2c3c4b4c5b5c6c7c
99 "Invalid args for response field! Hint: "
100 f"check that {type_} is a valid Pydantic field type. "
101 "If you are using a return type annotation that is not a valid Pydantic "
102 "field (e.g. Union[Response, dict, None]) you can disable generating the "
103 "response model from the type annotation with the path operation decorator "
104 "parameter response_model=None. Read more: "
105 "https://fastapi.tiangolo.com/tutorial/response-model/"
106 ) from None
109def create_cloned_field( 1abcde
110 field: ModelField,
111 *,
112 cloned_types: Optional[MutableMapping[Type[BaseModel], Type[BaseModel]]] = None,
113) -> ModelField:
114 if PYDANTIC_V2: 2a J IbK L M N O k f m P Q ybzbR JbS + , - obpbE Mbb T NbU V W X Y l g n Z 0 AbBb1 Ob2 . / : qbrbr F Rbc 3 Sb; = ? @ [ s h o 4 5 CbDb6 Tb7 ] ^ _ sbtbt u v ` G Wbd 8 Xb{ | } ~ abw i p 9 ! EbFb# Yb$ bbcbdbubvbx y z ebH 1be % 2bfbgbhbibjbA j q ' ( GbHb) 3b* kblbmbwbxbB C D nbI 6b
115 return field 2a IbK L M N O k f m P Q ybzbR Jb+ , - obpbMbb NbU V W X Y l g n Z 0 AbBb1 Ob. / : qbrbr Rbc Sb; = ? @ [ s h o 4 5 CbDb6 Tb] ^ _ sbtbt u v ` Wbd Xb{ | } ~ abw i p 9 ! EbFb# Ybbbcbdbubvbx y z eb1be 2bfbgbhbibjbA j q ' ( GbHb) 3bkblbmbwbxbB C D nb6b
116 # cloned_types caches already cloned types to support recursive models and improve
117 # performance by avoiding unnecessary cloning
118 if cloned_types is None: 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
119 cloned_types = _CLONED_TYPES_CACHE 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
121 original_type = field.type_ 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
122 if is_dataclass(original_type) and hasattr(original_type, "__pydantic_model__"): 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
123 original_type = original_type.__pydantic_model__ 1abcde
124 use_type = original_type 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
125 if lenient_issubclass(original_type, BaseModel): 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
126 original_type = cast(Type[BaseModel], original_type) 2a J K L M N O k f m P Q R S E b T U V W X Y l g n Z 0 1 2 r F c 3 ; = ? @ [ s h o 4 5 6 7 t u v G d 8 { | } ~ abw i p 9 ! # $ x y z H e % fbgbhbibjbA j q ' ( ) * B C D I
127 use_type = cloned_types.get(original_type) 2a J K L M N O k f m P Q R S E b T U V W X Y l g n Z 0 1 2 r F c 3 ; = ? @ [ s h o 4 5 6 7 t u v G d 8 { | } ~ abw i p 9 ! # $ x y z H e % fbgbhbibjbA j q ' ( ) * B C D I
128 if use_type is None: 2a J K L M N O k f m P Q R S E b T U V W X Y l g n Z 0 1 2 r F c 3 ; = ? @ [ s h o 4 5 6 7 t u v G d 8 { | } ~ abw i p 9 ! # $ x y z H e % fbgbhbibjbA j q ' ( ) * B C D I
129 use_type = create_model(original_type.__name__, __base__=original_type) 1aJfmSEbTgn2rFc3ho7tuvGd8ip$xyzHe%jq*BCDI
130 cloned_types[original_type] = use_type 1aJfmSEbTgn2rFc3ho7tuvGd8ip$xyzHe%jq*BCDI
131 for f in original_type.__fields__.values(): 1aJfmSEbTgn2rFc3ho7tuvGd8ip$xyzHe%jq*BCDI
132 use_type.__fields__[f.name] = create_cloned_field( 1aJfmSEbTgn2rFc3ho7tuvGd8ip$xyzHe%jq*BCDI
133 f, cloned_types=cloned_types
134 )
135 new_field = create_model_field(name=field.name, type_=use_type) 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
136 new_field.has_alias = field.has_alias # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
137 new_field.alias = field.alias # type: ignore[misc] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
138 new_field.class_validators = field.class_validators # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
139 new_field.default = field.default # type: ignore[misc] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
140 new_field.required = field.required # type: ignore[misc] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
141 new_field.model_config = field.model_config # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
142 new_field.field_info = field.field_info 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
143 new_field.allow_none = field.allow_none # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
144 new_field.validate_always = field.validate_always # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
145 if field.sub_fields: # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
146 new_field.sub_fields = [ # type: ignore[attr-defined] 2a K L M N O k f m P Q R + , - E b U V W X Y l g n Z 0 1 . / : F c ; = ? @ [ s h o 4 5 6 ] ^ _ ` G d { | } ~ abw i p 9 ! # bbcbdbebH e fbgbhbibjbA j q ' ( ) kblbmbnbI
147 create_cloned_field(sub_field, cloned_types=cloned_types)
148 for sub_field in field.sub_fields # type: ignore[attr-defined]
149 ]
150 if field.key_field: # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
151 new_field.key_field = create_cloned_field( # type: ignore[attr-defined] 2a + , - b . / : c ] ^ _ ` d bbcbdbebe kblbmbnb
152 field.key_field, # type: ignore[attr-defined]
153 cloned_types=cloned_types,
154 )
155 new_field.validators = field.validators # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
156 new_field.pre_validators = field.pre_validators # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
157 new_field.post_validators = field.post_validators # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
158 new_field.parse_json = field.parse_json # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
159 new_field.shape = field.shape # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
160 new_field.populate_validators() # type: ignore[attr-defined] 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
161 return new_field 2a J K L M N O k f m P Q R S + , - obpbE b T U V W X Y l g n Z 0 1 2 . / : qbrbr F c 3 ; = ? @ [ s h o 4 5 6 7 ] ^ _ sbtbt u v ` G d 8 { | } ~ abw i p 9 ! # $ bbcbdbubvbx y z ebH e % fbgbhbibjbA j q ' ( ) * kblbmbwbxbB C D nbI
164def generate_operation_id_for_path( 1abcde
165 *, name: str, path: str, method: str 1abcde
166) -> str: # pragma: nocover 1abcde
167 warnings.warn(
168 "fastapi.utils.generate_operation_id_for_path() was deprecated, "
169 "it is not used internally, and will be removed soon",
170 DeprecationWarning,
171 stacklevel=2,
172 )
173 operation_id = f"{name}{path}"
174 operation_id = re.sub(r"\W", "_", operation_id)
175 operation_id = f"{operation_id}_{method.lower()}"
176 return operation_id
179def generate_unique_id(route: "APIRoute") -> str: 1abcde
180 operation_id = f"{route.name}{route.path_format}" 2a 7bUg8b9b!b#bJ Ibk f TfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT Nbl g Zf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sbs h 5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xbw i #f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bA j *f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
181 operation_id = re.sub(r"\W", "_", operation_id) 2a 7bUg8b9b!b#bJ Ibk f TfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT Nbl g Zf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sbs h 5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xbw i #f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bA j *f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
182 assert route.methods 2a 7bUg8b9b!b#bJ Ibk f TfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT Nbl g Zf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sbs h 5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xbw i #f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bA j *f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
183 operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" 2a 7bUg8b9b!b#bJ Ibk f TfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT Nbl g Zf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sbs h 5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xbw i #f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bA j *f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
184 return operation_id 2a 7bUg8b9b!b#bJ Ibk f TfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT Nbl g Zf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sbs h 5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xbw i #f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bA j *f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
187def deep_dict_update(main_dict: Dict[Any, Any], update_dict: Dict[Any, Any]) -> None: 1abcde
188 for key, value in update_dict.items(): 2EhFhGhHhthK L M N O k f IhJhKhybzbLhrhMhNhuhvhwhOhPhQhRhShThUhVhWhxhU V W X Y l g XhYhZhAbBb0hsh1h2hyhzhAh3h4h5h6h7h2z3z4z9z*h; = ? @ [ s h $A_A{ACbDb`BBhLC@D-h.h/hnECGDGFGJGSKTKUKZK=h{ | } ~ abw i 2L.L:LEbFb/MChBN*O[h]h^hdPsRtRvRzRIVJVKVPV{hfbgbhbibjbA j SW#W%WGbHb$XDhrY7Z~haibi^Zi2j2l2p2
189 if ( 2EhFhGhHhthK L M N O k f IhJhKhybzbLhrhMhNhuhvhwhOhPhQhRhShThUhVhWhxhU V W X Y l g XhYhZhAbBb0hsh1h2hyhzhAh3h4h5h6h7h
190 key in main_dict
191 and isinstance(main_dict[key], dict)
192 and isinstance(value, dict)
193 ):
194 deep_dict_update(main_dict[key], value) 2thuhvhwhxhyhzhAh*h-h.h/h=h[h]h^h{h~haibi
195 elif ( 2EhFhGhHhthK L M N O k f IhJhKhybzbLhrhMhNhuhvhwhOhPhQhRhShThUhVhWhxhU V W X Y l g XhYhZhAbBb0hsh1h2hyhzhAh3h4h5h6h7h
196 key in main_dict
197 and isinstance(main_dict[key], list)
198 and isinstance(update_dict[key], list)
199 ):
200 main_dict[key] = main_dict[key] + update_dict[key] 2JhYh_A.L#W
201 else:
202 main_dict[key] = value 2EhFhGhHhthK L M N O k f IhKhybzbLhrhMhNhuhvhwhOhPhQhRhShThUhVhWhxhU V W X Y l g XhZhAbBb0hsh1h2hyhzhAh3h4h5h6h7h2z3z4z9z*h; = ? @ [ s h $A{ACbDb`BBhLC@D-h.h/hnECGDGFGJGSKTKUKZK=h{ | } ~ abw i 2L:LEbFb/MChBN*O[h]h^hdPsRtRvRzRIVJVKVPV{hfbgbhbibjbA j SW%WGbHb$XDhrY7Z~haibi^Zi2j2l2p2
205def get_value_or_default( 1abcde
206 first_item: Union[DefaultPlaceholder, DefaultType],
207 *extra_items: Union[DefaultPlaceholder, DefaultType],
208) -> Union[DefaultPlaceholder, DefaultType]:
209 """
210 Pass items or `DefaultPlaceholder`s by descending priority.
212 The first one to _not_ be a `DefaultPlaceholder` will be returned.
214 Otherwise, the first item (a `DefaultPlaceholder`) will be returned.
215 """
216 items = (first_item,) + extra_items 2a 7bUg8b9b!b#bJ IbK L M N O k f 1dTfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT NbU V W X Y l g 2dZf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sb; = ? @ [ s h 3d5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xb{ | } ~ abw i 4d#f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bfbgbhbibjbA j 5d*f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
217 for item in items: 2a 7bUg8b9b!b#bJ IbK L M N O k f 1dTfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT NbU V W X Y l g 2dZf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sb; = ? @ [ s h 3d5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xb{ | } ~ abw i 4d#f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bfbgbhbibjbA j 5d*f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
218 if not isinstance(item, DefaultPlaceholder): 2a 7bUg8b9b!b#bJ IbK L M N O k f 1dTfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT NbU V W X Y l g 2dZf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sb; = ? @ [ s h 3d5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xb{ | } ~ abw i 4d#f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bfbgbhbibjbA j 5d*f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b
219 return item 2a K L M N O k f 1d,cb U V W X Y l g 2d-cc ; = ? @ [ s h 3d.cd { | } ~ abw i 4d/ce fbgbhbibjbA j 5d:c
220 return first_item 2a 7bUg8b9b!b#bJ IbK L M N O k f 1dTfUf;c=c?c@c[c]c^c_c`c{c|cVgWgXgYgZg0g1g2g3g4g}cm P Q ybzbR JbS LcKbMcLbNc+ , - obpb$b8c:fVfWfOc5gXfYf,c%bE Mbb 'b6g(b)b*b+bT NbU V W X Y l g 2dZf0f~cadbdcdddedfdgdhdidjd7g8g9g!g#g$g%g'g(g)gkdn Z 0 AbBb1 Ob2 PcPbQcQbRc. / : qbrb,b9c;f1f2f-bSc*g3f4f-cr .b/bF Rbc :b+g;b=b?b@b3 Sb; = ? @ [ s h 3d5f6fldmdndodpdqdrdsdtdudvd,g-g.g/g:g;g=g?g@g[gwdo 4 5 CbDb6 Tb7 [b!c]bxd#cyd^b_bTcUbUcVbVc] ^ _ sbtb`b$c=f7f8f{b|b}bWcXc]g9f!f.ct u v ~bacbccc` G Wbd dc^gecfcgchc8 Xb{ | } ~ abw i 4d#f$fzdAdBdCdDdEdFdGdHdIdJd_g`g{g|g}g~gahbhchdhKdp 9 ! EbFb# Yb$ ic%cjcLd'cMdkclcYcZbZc0b0cbbcbdbubvbmc(c?f%f'fncocpc1c2ceh(f)f/cx y z qcrcsctcebH 1be ucfhvcwcxcyc% 2bfbgbhbibjbA j 5d*f+fNdOdPdQdRdSdTdUdVdWdXdghhhihjhkhlhmhnhohphYdq ' ( GbHb) 3b* zc)cAcZd*c0dBcCc3c4b4c5b5ckblbmbwbxbDc+c@f,f-fEcFcGc6c7cqh.f/f:cB C D HcIcJcKcnbI 6b