Coverage for fastapi / utils.py: 100%

46 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-21 17:29 +0000

1import re 1adbc

2import warnings 1adbc

3from typing import ( 1adbc

4 TYPE_CHECKING, 

5 Any, 

6 Literal, 

7) 

8 

9import fastapi 1adbc

10from fastapi._compat import ( 1adbc

11 ModelField, 

12 PydanticSchemaGenerationError, 

13 Undefined, 

14 annotation_is_pydantic_v1, 

15) 

16from fastapi.datastructures import DefaultPlaceholder, DefaultType 1adbc

17from fastapi.exceptions import FastAPIDeprecationWarning, PydanticV1NotSupportedError 1adbc

18from pydantic.fields import FieldInfo 1adbc

19 

20from ._compat import v2 1adbc

21 

22if TYPE_CHECKING: # pragma: nocover 1adbc

23 from .routing import APIRoute 

24 

25 

26def is_body_allowed_for_status_code(status_code: int | str | None) -> bool: 1adbc

27 if status_code is None: 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e?M/e@M[M:e]M;e=e^M?e@e[e]e^e_e`e{e|e}e~e| af} ~ _Mbfcf[ddf`Mefabq ff]dgfhfif{M|Mjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f}M8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b8b=f?f@f~M[faN]f^fbN_f`f{fcN|f}f~fagdNbgcgdgegfggghgigjgeNkgHbIbJbKbLbe f @clgfNmggNnghNogpgqgrgsgtgugvgwgxgygzgAgBgiN@bCgDgEgFgcbjNGgkNHgIglNJgmNKgLgMgnNoNNgOgPgQgt u v k l w x RgpNSgTgUgVgWgqNXgYgZg0g1grN2g3g4g5g6g7g8g9g!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~gahbhchdhehfhsNghhh-b:c;cihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy db9beb!bfbgbFhtNGhHhuNIhJhvNKhLhMhNhOhPhwNQhRhShThUhVhWhXhYhZh0h1h2hxN3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,hyN-h.h/h:h;h=hzN?h@h[h]h^h_h`h{h|h}hAN~haibicidieiBNfigihiiiCNjikiliminioipiqirisiDNtiuiviwixiyiziAiBiCiDiEiENFiGiHiIiJiKiFNLiMiNiOiGNPiQiRiSiTiUiViWiXiYiHNZi0i1i2i3i4i5i6i7i8i9i!iIN#i$i%i'i(i)iJN*i+i,i-iKN.i/i:i;i=i?i@i[i]i^iLN_i`i{i|i}i~iajbjcjdjejfjMNgjhjijjjkjljNNmjONnjojpjqjPNrjsjtjujvjwjxjyjzjAjQNBjCjDjEjFjGjHjIjJjKjLjMjRNNjOjPjQjRjSjSNTjUjVjWjTNXjYjZj0j1j2j3j4j5j6j7j8j=d[b]b^b_b`b{bMb9j!j#j$j%j'j(j)j*j+jUN,j-j.j/j:j;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkz NbA Obokpk|bqkrkskB C D E F G H tkI J ukVNhb#bvkWNXNwkxkYNykzkZNAkBk0NCkDk1NEkFk2NGkHk3NIkJk4NKkLk5NMkNk6NOkPkQk7NRkSk8NTkUk9NVkWkXkYk!NZk0k1k2k#N3k4k5k6k$N7k8k9k%N!k#k$k'N%k'k(k(N)k*k+k)N,k-k.k*N/k:k;k+N=k?k@k[k]k^k,N_k`k{k|k-N}k~k.Nalblcldl/Nel:Nflglhlil;Njlklllmlnlol=Nplqlrl?Nsl@Ntlulvl[Nwlxlyl]NzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l^N8l9l!l#l$l_N}b%l`N'l(l)l{N*l|N+l,l-l.l`d/l{d:l|d;l=l?l@l[l]l^l_l}N`l{l|l~N}l~laOambObmcOcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmdOwmxmymzmeOAmBmfOCmDmgOEmFmGmHmhOiOImJmKmjOLmMmkONmlOOmPmmOQmRmnOSmTmoOUmVmpOWmXmqOYmZmrO0m1msO2mtO3m4muO5m6mvO7m8m[c~bac9m!m#m$m%m'mwO(m)mxO*myO+m,m-m.m/m:m;m=m?m@mzOAO[mBO]mCODO^m_m`m{mEO|m}mFO~mGOanbnHOcnIOdnJOenKOfngnhnLObcinjnknlnmnnnonpnccqnMOrnsntnunvnwnNOOOxnynPOznQOAnROBnSOCnTOUODnEnFnVOGnWOHnXOInYOJnZOKnLn0OMnNnOn1OPnQnRnSnTn2OUnVn3OWn4OXn5O6OYnZn0n7O1n2n3n8O4n5n9O6n7n8n!O9n#O!n$O#n%O$n'O%n'n(n(O)n)O*n+n*O,n+O-n.n,O/n:n-O;n.O=n/O?n:O@n;O[n]n^n_n`n{n|n}n~naobocodo=Oeofogo?O@Oho[Oio]Ojoko^Olo_Omo`Ono{Ooo|Opoqoroso}O~OtoaPuobPvocPwodPxoePyozoAofPBoCogPDohPEoiPFojPGoHokPIolPmPJoKoLonPMoNoOooPPoQopPRoSoqPToUorPVosPWotPXoYouPZo0ovP1o2o3owP4o5o6o7oxP8o9o!oyP#ozP$o%o'oAP(o)o*oBPCP+o,o-oDP.o/o:o;oEP=o?oFP@o[oGP]o^oHP_oIP`oJP{oKP|o}o~oLPMPapbpcpNPdpOPepPPfpQPgpRPSPPbhpTPipUPVPjpkpWPlpmpnpopXPppYPqpZPrp0Psp1Ptpupvp2Pwpxp3PypzpApBpCpDpEpFp4PGpHpIpJpKpLpMp5PNpOpPpQpRpSpTpUpVpWpXpYp6PZp0p1p2p3p4p5p6p7p7P8p9p!p#p8P$p%p'p(p)p*p+p9P,p-p!P.p/p#P}d:p;p=p$P?p%P@p[p'P(P]p^p)P_p`p*P{pib|p}pXdYdZd0d1d2d+P~paqK ,PbqcqL -Pdqeq.Pfqgq/Phqiqjqkqlq:PM d mqnqoqpqqqrq;Psq=P?Ptq@Puqvq[PwqxqyqzqAqBqCqDqEqFqGqjbHqkblb]PIqJq~dKq^PLqmbN MqaeNqOqPq_P`PQqRqnbO SqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdr{Perfrgrhrir3d4d5d6d7djrkrlrmrnrorprqrP rrbecesrtrurdcec$bvrwrxr|Pyr}PzrAr~PBrCrDraQErFrGrHrbQIrJrKrLrMrNrOrPrQrcQRrQbRbSbTbUbg h ]cSrdQTreQUrfQVrWrXrYrZr0r1r2r3r4r5r6r7r8rgQfc9r!r#r$robhQ%riQ'r(rjQ)rkQ*r+r,rlQmQ-r.r/r:rQ R S m n T U ;rnQ=r?r@r[r]roQ^r_r`r{r|rpQ}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsqQNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#sV pb%bqb'brbsb$srQ%s'ssQ(s)stQ*s+s,s-s.s/suQ:s;s=s?s@s[s]s^s_s`s{s|s}svQ~satbtctdtetftgthtitjtktltmtntotptwQqtrtstttutvtxQwtxtytztAtBtCtDtEtFtyQGtHtItJtKtLtzQMtNtOtPtAQQtRtStTtUtVtWtXtYtZtBQ0t1t2t3t4t5t6t7t8t9t!t#tCQ$t%t't(t)t*tDQ+t,t-t.tEQ/t:t;t=t?t@t[t]t^t_tFQ`t{t|t}t~taubucudueufuguGQhuiujukulumuHQnuoupuquIQrusutuuuvuwuxuyuzuAuJQBuCuDuEuFuGuHuIuJuKuLuMuKQNuOuPuQuRuSuLQTuMQUuVuWuXuNQYuZu0u1u2u3u4u5u6u7uOQ8u9u!u#u$u%u'u(u)u*u+u,uPQ-u.u/u:u;u=uQQ?u@u[u]uRQ^u_u`u{u|u}u~uavbvcvdvev?dgchcicjckclcVbfvgvhvivjvkvlvmvnvovSQpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvW WbX XbVvWvmcXvYvZvY Z 0 1 2 3 4 0v5 6 1vTQtb(b2vUQVQ3v4vWQ5v6vXQ7v8vYQ9v!vZQ#v$v0Q%v'v1Q(v)v2Q*v+v3Q,v-v4Q.v/v:v5Q;v=v6Q?v@v7Q[v]v^v_v8Q`v{v|v}v9Q~vawbwcw!Qdwewfw#Qgwhwiw$Qjwkwlw%Qmwnwow'Qpwqwrw(Qswtwuw)QvwwwxwywzwAw*QBwCwDwEw+QFwGw,QHwIwJwKw-QLw.QMwNwOwPw/QQwRwSwTwUwVw:QWwXwYw;QZw=Q0w1w2w?Q3w4w5w@Q6w7w8w9w!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~waxbxcxdx[Qexfxgxhxix]Q7 ncjx^Qkxlxmx_Qnx`QoxpxqxrxdesxeetxfeuxvxwxxxyxzxAxBx{QCxDxEx|QFxGx}QHx~QIxaRJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2xbR3x4x5x6xcR7x8xdR9x!xeR#x$x%x'xfRgR(x)x*xhR+x,xiR-xjR.x/xkR:x;xlR=x?xmR@x[xnR]x^xoR_x`xpR{x|xqR}xrR~xaysRbycytRdyey^cocpcfygyhyiyjykyuRlymyvRnywRoypyqyrysytyuyvywyxyxRyRyyzRzyARBRAyByCyDyCREyFyDRGyERHyIyFRJyGRKyHRLyIRMyNyOyJRqcPyQyRySyTyUyVyWyrcXyKRYyZy0y1y2y3yLRMR4y5yNR6yOR7yPR8yQR9yRRSR!y#y$yTR%yUR'yVR(yWR)yXR*y+yYR,y-y.yZR/y:y;y=y?y0R@y[y1R]y2R^y3R4R_y`y{y5R|y}y~y6Razbz7Rczdzez8Rfz9Rgz!Rhz#Riz$Rjzkzlz%Rmz'Rnzoz(Rpz)Rqzrz*Rsztz+Ruz,Rvz-Rwz.Rxz/RyzzzAzBzCzDzEzFzGzHzIzJzKz:RLzMzNz;R=ROz?RPz@RQzRz[RSz]RTz^RUz_RVz`RWzXzYzZz{R|R0z}R1z~R2zaS3zbS4zcS5z6z7zdS8z9zeS!zfS#zgS$zhS%z'ziS(zjSkS)z*z+zlS,z-z.zmS/z:znS;z=zoS?z@zpS[zqS]zrS^z_zsS`z{ztS|z}z~zuSaAbAcAdAvSeAfAgAwShAxSiAjAkAySlAmAnAzSASoApAqABSrAsAtAuACSvAwADSxAyAESzAAAFSBAGSCAHSDAISEAFAGAJSKSHAIAJALSKAMSLANSMAOSNAPSQSYbOARSPASSTSQARAUSSATAUAVAVSWAWSXAXSYAYSZAZS0A1A2A0S3A4A1S5A6A7A8A9A!A#A$A2S%A'A(A)A*A+A,A3S-A.A/A:A;A=A?A@A[A]A^A_A4S`A{A|A}A~AaBbBcBdB5SeBfBgBhB6SiBjBkBlBmBnBoB7SpBqB8SrBsB9SgetBuBvB!SwB#SxByB$S%SzBAB'SBBCB(SDBubEBFB8d9d!d#d$d%d)SGBHB8 *SIBJB9 +SKBLB,SMBNB-SOBPBQBRBSB.S! b c TBUBVBWBXBYB/SZB:S;S0B=S1B2B?S3B4B5B6B7B8B9B!B#B$B%Bvb'Bwbxb@S(B)Bhe*B[S+Byb# ,Bie-B.B/B]S^S:B;Bzb$ =B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKC_SLCMCNCOCPC'd(d)d*d+dQCRCSCTCUCVCWCXC% YCjekeZC0C1Csctc)b2C3C4C`S5C{S6C7C|S8C9C!C}S#C$C%C'C~S(C)C*C+C,C-C.C/C:CaT;CZb0b1b2b3bi j _c=CbT?CcT@CdT[C]C^C_C`C{C|C}C~CaDbDcDdDeDeTucfDgDhDiDAbfTjDgTkDlDhTmDiTnDoDpDjTkTqDrDsDtD' ( ) o p * + uDlTvDwDxDyDzDmTADBDCDDDEDnTFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,DoT-D.D.b=c?c/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhE, Bb*bCb+bDbEbiEpTjEkEqTlEmErTnEoEpEqErEsEsTtEuEvEwExEyEzEAEBECEDEEEFEtTGEHEIEJEKELEMENEOEPEQERESETEUEVEWEuTXEYEZE0E1E2EvT3E4E5E6E7E8E9E!E#E$EwT%E'E(E)E*E+ExT,E-E.E/EyT:E;E=E?E@E[E]E^E_E`EzT{E|E}E~EaFbFcFdFeFfFgFhFATiFjFkFlFmFnFBToFpFqFrFCTsFtFuFvFwFxFyFzFAFBFDTCFDFEFFFGFHFIFJFKFLFMFNFETOFPFQFRFSFTFFTUFVFWFXFGTYFZF0F1F2F3F4F5F6F7FHT8F9F!F#F$F%F'F(F)F*F+F,FIT-F.F/F:F;F=FJT?FKT@F[F]F^FLT_F`F{F|F}F~FaGbGcGdGMTeGfGgGhGiGjGkGlGmGnGoGpGNTqGrGsGtGuGvGOTwGxGyGzGPTAGBGCGDGEGFGGGHGIGJGKGLG@dvcwcxcyczcAc4bMGNGOGPGQGRGSGTGUGVGQTWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G- 5b. 6b[G]GBc^G_G`G/ : ; = ? @ [ {G] ^ |GRTFb,b}GSTTT~GaHUTbHcHVTdHeHWTfHgHXThHiHYTjHkHZTlHmH0TnHoH1TpHqH2TrHsHtH3TuHvH4TwHxH5TyHzHAHBH6TCHDHEHFH7TGHHHIHJH8TKHLHMH9TNHOHPH!TQHRHSH#TTHUHVH$TWHXHYH%TZH0H1H'T2H3H4H5H6H7H(T8H9H!H#H)T$H%H*T'H(H)H*H+T+H,T,H-H.H/H-T:H;H=H?H@H[H.T]H^H_H/T`H:T{H|H}H;T~HaIbI=TcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKI?TLIMINIOIPI@TCcQI[TRISITI]TUI^TVIWIXIYIleZIme0Ine1I2I3I4I5I6I7I8I_T9I!I#I`T$I%I{T'I|T(I}T)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~T~IaJbJcJaUdJeJbUfJgJcUhJiJjJkJdUeUlJmJnJfUoJpJgUqJhUrJsJiUtJuJjUvJwJkUxJyJlUzJAJmUBJCJnUDJEJoUFJpUGJHJqUIJJJrUKJLJ`cDcEcMJNJOJPJQJRJsUSJTJtUUJuUVJWJXJYJZJ0J1J2J3J4JvUwU5JxU6JyUzU7J8J9J!JAU#J$JBU%JCU'J(JDU)JEU*JFU+JGU,J-J.JHUFc/J:J;J=J?J@J[J]JGc^JIU_J`J{J|J}J~JJUKUaKbKLUcKMUdKNUeKOUfKPUQUgKhKiKRUjKSUkKTUlKUUmKVUnKoKWUpKqKrKXUsKtKuKvKwKYUxKyKZUzK0UAK1U2UBKCKDK3UEKFKGK4UHKIK5UJKKKLK6UMK7UNK8UOK9UPK!UQKRKSK#UTK$UUKVK%UWK'UXKYK(UZK0K)U1K*U2K+U3K,U4K-U5K6K7K8K9K!K#K$K%K'K(K)K*K.U+K,K-K/U:U.K;U/K=U:K;K?U=K@U?K[U@K]U[K^U]K^K_K`K_U`U{K{U|K|U}K}U~K~UaLaVbLcLdLbVeLfLcVgLdVhLeViLfVjLkLgVlLhViVmLnLoLjVpLqLrLkVsLtLlVuLvLmVwLxLnVyLoVzLpVALBLqVCLDLrVELFLGLsVHLILJLKLtVLLMLNLuVOLvVPLQLRLwVSLTLULxVyVVLWLXLzVYLZL0L1LAV2L3LBV4L5LCV6L7LDV8LEV9LFV!LGV#L$L%LHVIV'L(L)LJV*LKV+LLV,LMV-LNVOV7b.LPV/LQVRV:L;LSV=L?L@L[LTV]LUV^LVV_LWV`LXV{L|L}LYV~LaMZVbMcMdMeMfMgMhMiM0VjMkMlMmMnMoMpM1VqMrMsMtMuMvMwMxMyMzMAMBM2VCMDMEMFMGMHMIMJMKM3VLMMMNMOM4VPMQMRMSMTMUMVM5VWMXM6VYMZM7Voe0M1M2M8V3M9V4M5M!V#V6M7M$V8M9M%V!MGb#M$M,d-d.d/d:d;d'V%M'M_ (V(M)M` )V*M+M*V,M-M+V.M/M:M;M=M,V{

28 return True 2a ?M@M[M]M;e=e^M?e_e`e_M[d`Mq ]d{M|Mr }Ms 8b~MaNbNcNdNeNHbIbJbKbLbe f @cfNgNhNrgiNjNkNlNmNnNoNOgQgt u v k l w x pNqNrNsN:c;cy 9b!btNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTN7j=dMbUNNbObokB C D E F G H I J VN#bWNXNYNZN0N1N2N3N4N5N6N7N8N9N!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-l`d{d|d}N~NaObOcOjmdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvO[cwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1ORn2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O^n_n{n=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPPbTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+PK ,PL -P.P/P:PM d ;P=P?P@Puqvq[PwqBqCq]P~d^PN ae_P`PO {PP $b|P}P~PaQbQcQQbRbSbTbUbg h ]cdQeQfQYrgQhQiQjQkQlQmQ.r:rQ R S m n T U nQoQpQqQV %b'brQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQdv?dVbSQWbXbVvY Z 0 1 2 3 4 5 6 TQ(bUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q7 ^Q_Q`Qqxdeeefe{Q|Q}Q~QaRQxbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR^cuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR;y0R1R2R3R4R5R6R7R8R9R!R#R$R%R'R(R)R*R+R,R-R.R/RAzBzDz:R;R=R?R@R[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSYbRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S8 *S9 +S,S-S.S! b c /S:S;S=S1B2B?S3B8B9B@She[S# ie]S^S$ _S% )b`S{S|S}S~SaTZb0b1b2b3bi j _cbTcTdT_CeTfTgThTiTjTkTrDtD' ( ) o p * + lTmTnToT=c?c, *b+bpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTHTITJTKTLTMTNTOTPTKG@d4bQT5b6b[G/ : ; = ? @ [ ] ^ RT,bSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^TXIlemene_T`T{T|T}T:I~TaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrU`csUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUuKYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U7K8K!K.U/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOV7bPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V_ (V` )V*V+V,V{

29 # Ref: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#patterned-fields-1 

30 if status_code in { 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}d:p;p=p?p@p[p]p^p_p`p{pib|p}pXdYdZd0d1d2d~paqK bqcqL dqeqfqgqhqiqjqkqlqM d mqnqoqpqqqrqsqtqxqyqzqAqDqEqFqGqjbHqkblbIqJq~dKqLqmbN MqNqOqPqQqRqnbO SqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfrgrhrir3d4d5d6d7djrkrlrmrnrorprqrP rrbecesrtrurdcecvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrQbRbSbTbUbg h SrTrUrVrWrXrZr0r1r2r3r4r5r6r7r8rfc9r!r#r$rob%r'r(r)r*r+r,r-r/rQ R S m n T U ;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#sV pbqbrbsb$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~uavbvcvev?dgchcicjckclcfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvW X WvmcXvYvZvY Z 0 1 2 3 4 0v5 6 1vtb2v3v4v5v6v7v8v9v!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~waxbxcxdxexfxgxhxix7 ncjxkxlxmxnxoxpxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybycydyeyocpcfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyqcPyQyRySyTyUyVyWyrcXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzCzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBgetBuBvBwBxByBzBABBBCBDBubEBFB8d9d!d#d$d%dGBHB8 IBJB9 KBLBMBNBOBPBQBRBSB! b c TBUBVBWBXBYBZB0B4B5B6B7B!B#B$B%Bvb'Bwbxb(B)Bhe*B+Byb# ,B-B.B/B:B;Bzb$ =B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPC'd(d)d*d+dQCRCSCTCUCVCWCXC% YCjekeZC0C1Csctc2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;CZb0b1b2b3bi j =C?C@C[C]C^C`C{C|C}C~CaDbDcDdDeDucfDgDhDiDAbjDkDlDmDnDoDpDqDsD' ( ) o p * + uDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D.b/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhE, BbCbDbEbiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+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~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGLG@dvcwcxcyczcAcMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G- . ]GBc^G_G`G/ : ; = ? @ [ {G] ^ |GFb}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~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPICcQIRISITIUIVIWIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJDcEcMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.JFc/J:J;J=J?J@J[J]JGc^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K9K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZMoe0M1M2M3M4M5M6M7M8M9M!MGb#M$M,d-d.d/d:d;d%M'M_ (M)M` *M+M,M-M.M/M:M;M=M{

31 "default", 

32 "1XX", 

33 "2XX", 

34 "3XX", 

35 "4XX", 

36 "5XX", 

37 }: 

38 return True 1adbc

39 current_status_code = int(status_code) 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}d:p;p=p?p@p[p]p^p_p`p{pib|p}pXdYdZd0d1d2d~paqK bqcqL dqeqfqgqhqiqjqkqlqM d mqnqoqpqqqrqsqtqxqyqzqAqDqEqFqGqjbHqkblbIqJq~dKqLqmbN MqNqOqPqQqRqnbO SqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfrgrhrir3d4d5d6d7djrkrlrmrnrorprqrP rrbecesrtrurdcecvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrQbRbSbTbUbg h SrTrUrVrWrXrZr0r1r2r3r4r5r6r7r8rfc9r!r#r$rob%r'r(r)r*r+r,r-r/rQ R S m n T U ;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#sV pbqbrbsb$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~uavbvcvev?dgchcicjckclcfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvW X WvmcXvYvZvY Z 0 1 2 3 4 0v5 6 1vtb2v3v4v5v6v7v8v9v!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~waxbxcxdxexfxgxhxix7 ncjxkxlxmxnxoxpxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybycydyeyocpcfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyqcPyQyRySyTyUyVyWyrcXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzCzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBgetBuBvBwBxByBzBABBBCBDBubEBFB8d9d!d#d$d%dGBHB8 IBJB9 KBLBMBNBOBPBQBRBSB! b c TBUBVBWBXBYBZB0B4B5B6B7B!B#B$B%Bvb'Bwbxb(B)Bhe*B+Byb# ,B-B.B/B:B;Bzb$ =B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPC'd(d)d*d+dQCRCSCTCUCVCWCXC% YCjekeZC0C1Csctc2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;CZb0b1b2b3bi j =C?C@C[C]C^C`C{C|C}C~CaDbDcDdDeDucfDgDhDiDAbjDkDlDmDnDoDpDqDsD' ( ) o p * + uDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D.b/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhE, BbCbDbEbiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+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~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGLG@dvcwcxcyczcAcMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G- . ]GBc^G_G`G/ : ; = ? @ [ {G] ^ |GFb}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~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPICcQIRISITIUIVIWIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJDcEcMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.JFc/J:J;J=J?J@J[J]JGc^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K9K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZMoe0M1M2M3M4M5M6M7M8M9M!MGb#M$M,d-d.d/d:d;d%M'M_ (M)M` *M+M,M-M.M/M:M;M=M{

40 return not (current_status_code < 200 or current_status_code in {204, 205, 304}) 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}d:p;p=p?p@p[p]p^p_p`p{pib|p}pXdYdZd0d1d2d~paqK bqcqL dqeqfqgqhqiqjqkqlqM d mqnqoqpqqqrqsqtqxqyqzqAqDqEqFqGqjbHqkblbIqJq~dKqLqmbN MqNqOqPqQqRqnbO SqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfrgrhrir3d4d5d6d7djrkrlrmrnrorprqrP rrbecesrtrurdcecvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrQbRbSbTbUbg h SrTrUrVrWrXrZr0r1r2r3r4r5r6r7r8rfc9r!r#r$rob%r'r(r)r*r+r,r-r/rQ R S m n T U ;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#sV pbqbrbsb$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~uavbvcvev?dgchcicjckclcfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvW X WvmcXvYvZvY Z 0 1 2 3 4 0v5 6 1vtb2v3v4v5v6v7v8v9v!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~waxbxcxdxexfxgxhxix7 ncjxkxlxmxnxoxpxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybycydyeyocpcfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyMyNyOyqcPyQyRySyTyUyVyWyrcXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzCzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBgetBuBvBwBxByBzBABBBCBDBubEBFB8d9d!d#d$d%dGBHB8 IBJB9 KBLBMBNBOBPBQBRBSB! b c TBUBVBWBXBYBZB0B4B5B6B7B!B#B$B%Bvb'Bwbxb(B)Bhe*B+Byb# ,B-B.B/B:B;Bzb$ =B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPC'd(d)d*d+dQCRCSCTCUCVCWCXC% YCjekeZC0C1Csctc2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;CZb0b1b2b3bi j =C?C@C[C]C^C`C{C|C}C~CaDbDcDdDeDucfDgDhDiDAbjDkDlDmDnDoDpDqDsD' ( ) o p * + uDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D.b/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhE, BbCbDbEbiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+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~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGLG@dvcwcxcyczcAcMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G- . ]GBc^G_G`G/ : ; = ? @ [ {G] ^ |GFb}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~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPICcQIRISITIUIVIWIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJDcEcMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.JFc/J:J;J=J?J@J[J]JGc^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K9K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=K?K@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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZMoe0M1M2M3M4M5M6M7M8M9M!MGb#M$M,d-d.d/d:d;d%M'M_ (M)M` *M+M,M-M.M/M:M;M=M{

41 

42 

43def get_path_param_names(path: str) -> set[str]: 1adbc

44 return set(re.findall("{(.*?)}", path)) 2a | cd} ~ abq bbr SdpeqeTdreseUdteVdueveWdwes ^d_d=b?b8b-VHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x {c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{b|bB C D E F G H I J hb#b}b[c~bacodpdbccc}d/bibXdYdZd0d1d2dK L M xeyeze.Vd jbqdkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP becedcec$b/VQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcge:bub8d9d!d#d$d%d8 9 ! IeJeKe:Vb c vbEdwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% jekesctc)b;VZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + ~cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAcBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGcoe;bGb,d-d.d/d:d;d_ ` { TeUeVe=V

45 

46 

47_invalid_args_message = ( 1adbc

48 "Invalid args for response field! Hint: " 

49 "check that {type_} is a valid Pydantic field type. " 

50 "If you are using a return type annotation that is not a valid Pydantic " 

51 "field (e.g. Union[Response, dict, None]) you can disable generating the " 

52 "response model from the type annotation with the path operation decorator " 

53 "parameter response_model=None. Read more: " 

54 "https://fastapi.tiangolo.com/tutorial/response-model/" 

55) 

56 

57 

58def create_model_field( 1adbc

59 name: str, 

60 type_: Any, 

61 default: Any | None = Undefined, 

62 field_info: FieldInfo | None = None, 

63 alias: str | None = None, 

64 mode: Literal["validation", "serialization"] = "validation", 

65) -> ModelField: 

66 if annotation_is_pydantic_v1(type_): 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

67 raise PydanticV1NotSupportedError( 2-b{c:c;c|c}c.b~c=c?cadbd

68 "pydantic.v1 models are no longer supported by FastAPI." 

69 f" Please update the response model {type_!r}." 

70 ) 

71 field_info = field_info or FieldInfo(annotation=type_, default=default, alias=alias) 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

72 try: 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

73 return v2.ModelField(mode=mode, name=name, field_info=field_info) 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

74 except PydanticSchemaGenerationError: 2Mbz NbA ObPbVbW WbX XbYb4b- 5b. 6b7b

75 raise fastapi.exceptions.FastAPIError( 2Mbz NbA ObPbVbW WbX XbYb4b- 5b. 6b7b

76 _invalid_args_message.format(type_=type_) 

77 ) from None 

78 

79 

80def generate_operation_id_for_path( 1adbc

81 *, name: str, path: str, method: str 1abc

82) -> str: # pragma: nocover 1abc

83 warnings.warn( 

84 message="fastapi.utils.generate_operation_id_for_path() was deprecated, " 

85 "it is not used internally, and will be removed soon", 

86 category=FastAPIDeprecationWarning, 

87 stacklevel=2, 

88 ) 

89 operation_id = f"{name}{path}" 

90 operation_id = re.sub(r"\W", "_", operation_id) 

91 operation_id = f"{operation_id}_{method.lower()}" 

92 return operation_id 

93 

94 

95def generate_unique_id(route: "APIRoute") -> str: 1adbc

96 operation_id = f"{route.name}{route.path_format}" 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

97 operation_id = re.sub(r"\W", "_", operation_id) 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

98 assert route.methods 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

99 operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

100 return operation_id 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

101 

102 

103def deep_dict_update(main_dict: dict[Any, Any], update_dict: dict[Any, Any]) -> None: 1adbc

104 for key, value in update_dict.items(): 2;e=e?e_e`e]dHbIbJbKbLbe f rgOgQgk l 7j=dok-l`d{d|djmRn^n_n{nuqvqwqBqCqaeQbRbSbTbUbg h Yr.r:rm n dv?dVvqxdeeefeQx;yAzBzDz1B2B3B8B9BieZb0b1b2b3bi j _CrDtDo p KG@d[GXIlemene:IuK7K8K!K

105 if ( 

106 key in main_dict 

107 and isinstance(main_dict[key], dict) 

108 and isinstance(value, dict) 

109 ): 

110 deep_dict_update(main_dict[key], value) 2]d`d{d|daedeeefeielemene

111 elif ( 

112 key in main_dict 

113 and isinstance(main_dict[key], list) 

114 and isinstance(update_dict[key], list) 

115 ): 

116 main_dict[key] = main_dict[key] + update_dict[key] 2Og.rrD

117 else: 

118 main_dict[key] = value 2;e=e?e_e`e]dHbIbJbKbLbe f rgQgk l 7j=dok-l`d{d|djmRn^n_n{nuqvqwqBqCqaeQbRbSbTbUbg h Yr:rm n dv?dVvqxdeeefeQx;yAzBzDz1B2B3B8B9BieZb0b1b2b3bi j _CtDo p KG@d[GXIlemene:IuK7K8K!K

119 

120 

121def get_value_or_default( 1adbc

122 first_item: DefaultPlaceholder | DefaultType, 

123 *extra_items: DefaultPlaceholder | DefaultType, 

124) -> DefaultPlaceholder | DefaultType: 

125 """ 

126 Pass items or `DefaultPlaceholder`s by descending priority. 

127 

128 The first one to _not_ be a `DefaultPlaceholder` will be returned. 

129 

130 Otherwise, the first item (a `DefaultPlaceholder`) will be returned. 

131 """ 

132 items = (first_item,) + extra_items 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

133 for item in items: 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

134 if not isinstance(item, DefaultPlaceholder): 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

135 return item 2a HbIbJbKbLbe f @c/bd QbRbSbTbUbg h ]c:bb c Zb0b1b2b3bi j _c;b

136 return first_item 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {