Coverage for fastapi/_compat.py: 100%

319 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-09-09 09:16 +0000

1from collections import deque 1abcdef

2from copy import copy 1abcdef

3from dataclasses import dataclass, is_dataclass 1abcdef

4from enum import Enum 1abcdef

5from functools import lru_cache 1abcdef

6from typing import ( 1abcdef

7 Any, 

8 Callable, 

9 Deque, 

10 Dict, 

11 FrozenSet, 

12 List, 

13 Mapping, 

14 Sequence, 

15 Set, 

16 Tuple, 

17 Type, 

18 Union, 

19 cast, 

20) 

21 

22from fastapi.exceptions import RequestErrorModel 1abcdef

23from fastapi.types import IncEx, ModelNameMap, UnionType 1abcdef

24from pydantic import BaseModel, create_model 1abcdef

25from pydantic.version import VERSION as PYDANTIC_VERSION 1abcdef

26from starlette.datastructures import UploadFile 1abcdef

27from typing_extensions import Annotated, Literal, get_args, get_origin 1abcdef

28 

29PYDANTIC_VERSION_MINOR_TUPLE = tuple(int(x) for x in PYDANTIC_VERSION.split(".")[:2]) 1abcdef

30PYDANTIC_V2 = PYDANTIC_VERSION_MINOR_TUPLE[0] == 2 1abcdef

31 

32 

33sequence_annotation_to_type = { 1abcdef

34 Sequence: list, 

35 List: list, 

36 list: list, 

37 Tuple: tuple, 

38 tuple: tuple, 

39 Set: set, 

40 set: set, 

41 FrozenSet: frozenset, 

42 frozenset: frozenset, 

43 Deque: deque, 

44 deque: deque, 

45} 

46 

47sequence_types = tuple(sequence_annotation_to_type.keys()) 1abcdef

48 

49Url: Type[Any] 1abcdef

50 

51if PYDANTIC_V2: 1abcdef

52 from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError 1abcdef

53 from pydantic import TypeAdapter 1abcdef

54 from pydantic import ValidationError as ValidationError 1abcdef

55 from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined] 1abcdef

56 GetJsonSchemaHandler as GetJsonSchemaHandler, 

57 ) 

58 from pydantic._internal._typing_extra import eval_type_lenient 1abcdef

59 from pydantic._internal._utils import lenient_issubclass as lenient_issubclass 1abcdef

60 from pydantic.fields import FieldInfo 1abcdef

61 from pydantic.json_schema import GenerateJsonSchema as GenerateJsonSchema 1abcdef

62 from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue 1abcdef

63 from pydantic_core import CoreSchema as CoreSchema 1abcdef

64 from pydantic_core import PydanticUndefined, PydanticUndefinedType 1abcdef

65 from pydantic_core import Url as Url 1abcdef

66 

67 try: 1abcdef

68 from pydantic_core.core_schema import ( 1abcdef

69 with_info_plain_validator_function as with_info_plain_validator_function, 

70 ) 

71 except ImportError: # pragma: no cover 

72 from pydantic_core.core_schema import ( 

73 general_plain_validator_function as with_info_plain_validator_function, # noqa: F401 

74 ) 

75 

76 RequiredParam = PydanticUndefined 1abcdef

77 Undefined = PydanticUndefined 1abcdef

78 UndefinedType = PydanticUndefinedType 1abcdef

79 evaluate_forwardref = eval_type_lenient 1abcdef

80 Validator = Any 1abcdef

81 

82 class BaseConfig: 1abcdef

83 pass 1abcdef

84 

85 class ErrorWrapper(Exception): 1abcdef

86 pass 1abcdef

87 

88 @dataclass 1abcdef

89 class ModelField: 1abcdef

90 field_info: FieldInfo 1abcdef

91 name: str 1abcdef

92 mode: Literal["validation", "serialization"] = "validation" 1abcdef

93 

94 @property 1abcdef

95 def alias(self) -> str: 1abcdef

96 a = self.field_info.alias 2lM|g-e.e9nckoBdkpB9b7d`c{c!n#nUC`s_dmMl08znMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC$q=tlzpMqMrM/esMQEtMuM9zqBrBsBtB~dgchcae!zm n o p q r s vMwM$nxMyM:x0C#z1CzMRE2C%n)3SE~gHT%q'n(n:emz)n8d9d3C$z'qIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGM*nHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/TLM+nMM,n:T-n6C7Cek8Cfk*39C!e#hUEVE$hNMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM.n=T?TTMUMhs;eahbhNx=eWEVM?exu!C@eXEWM[eyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm/n4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]e^e]x%h^x_x_e,q:n8K-qYE%z`x#M$M%MzuAuBu'h;nCuDu(h)h=n{x?n'M(M'zZEnz.qoz/q)M*M:q+M;q,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M@q~M@n@T[n[T`e0E1E{e*hischaNbN]ncNdN^neNfN_n]T^TEu`n_T`TFu{nGuHuIu+h|nJuKu,h-h}nLuMuNu.h/h~n%Cao|xbopzcojs|egNdohNiNbtjNkN}eeo(z)z9Kfogo*z+zOuholNKmio}x!djoko'Clo,z-z2EmoyB(C{Tno|Too)C*C.zqz3E4EzBABAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}Tpo,C~Tqo5Ecfdf6E7Eef8E9E:z!Eff;zgf=z@i[i]ihf^i_iifjfkflfmfEBFBgtnfhtofgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUehBdCdfhLmMmgh@zoN` pNqNhhpfqfroikGBjkHB'b#d~cadsoto-CitcerNm0[zsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=C]qPurzuNvNwNrfxN$EyNzN]zIBJBKBLBheicjcie^zt u v w x y z ANBNuoCNDNfy?C_z@CEN%E[Cvo+3'EjhfU^qwoxosfszyo$d%d]C`z_qgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNzoMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUUQNAoRNBoVUCo`C{Ckk|Clk,3}C#e=h)E*E?hSNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNDoXUYUYNZNtstfkhlhSxuf+E0Nvf;u~Cwf,E1Nxf=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQmEo9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kyfzfly@hmynyAf~qFo(Kar-E{zoy)N*N+N?u@u[u[hGo]u^u]h^hHopyIo,N-N|z.Etzbruzcr.N/Ndr:Ner;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOhreOJoZUKo0UBf/E:ECf_husmhfOgOLohOiOMojOkONo1U2U_uOo3U4U`uPo{u|u}u`hQo~uav{h|hRobvcvdv}h~hSocDToqyUovzVovsDflOWomOnOotoOpOEfXo}z~z)KYoZoaAbAev0oqOTm1ory'd2o3odD4ocAdA;E5oQBeD5U6o6U7ofDgDeA=EhYiYrORBDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7U8oiD8U9o?EIfJf@E[EKf]E^EgA_ELfhAMfiAijjjkjNfljmjOfPfQfRfSfVBWBttTfutUfmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UohHdIdphUmVmqhkAuOgbvOwOrhVfWf!ookXBpkYB:b(dldmd#o$ojDvtkexOn0lAyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDjrfvwzAOBOCOXfDO{EEOFOmAZB0B1B2BlekclcmenAA B C D E F G GOHO%oIOJOyypDoAqDKO|ErD'o-3}Eth(Ukr(o)oYfxz*o)d*dsDpAlr)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQORO+oSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtVmcIc6 2 ( )cndWO,oXO-ouV.ovDwDqkxDrk.3yD$eciaFbFdiYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3O/owVxV4O5OFsZfuhvhXx0fcF6O1fOvzD2fdF7O3fPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm:o(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.K4f5fEyeiFyGy6fqr;o/KrreFqAHy/O:O;OQvRvSvfi=oTvUvgihi?oIy@o=O?OrAfFyzsrzztr@O[Our]Ovr^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPyrkP[oyV]ozV7fgFhF8fiiGswhlPmP^onPoP_opPqP`oAVBVVv{oCVDVWv|oXvYvZvji}o0v1vkili~o2v3v4vminiapCDbpJycpAzdpHs9frPepsPtPBtuPvP!ffpsAtA:KgphpuAvA5vipwP2mjpKy+dkplpDDmpwAxAiFnp7BEDEVopFVppFDGDyAjFjYkYxP8BKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVqpIDHVrpkF'f(flFmF)fnFoFAApF*fBA+fCAAjBjCj,fDjEj-f.f/f:f;f$B%BGt=fHt?f3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJVyhNdOdzh5m6mAhEAAPBbBPCPBh@f[fspsk'Btk(B[b,dodpdtpupJDItoeDPo0FAEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChODAr6vBzGPHPIP]fJPrFKPLPGA)B*B+B,BpencocqeHAH I J K L M N MPNPvpOPPPRyPDIAQDQPsFRDwp/3tFDhOVBrxpyp^fCzzp-d.dSDJACrPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPApYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]VpcPc7 3 * -cqd2PBp3PCp^VDpVDWDukXDvk:3YD%eqivFwFri4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9PEp`V{V!P#PRs_fEhFh2x`fxF$P{fewZD|fyF%P}ffw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!mFp.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[K~fagXysiYyZybgHrGp]KIrzFKA0y[P]P^PgwhwiwtiHpjwkwuiviIp1yJp_P`PLAAFDzJrEzKr{P|PLr}PMr~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQPrqQKp|VLp}VcgBFCFdgwiSsGhrQsQMptQuQNpvQwQOp~VaWlwPpbWcWmwQpnwowpwxiRpqwrwyiziSpswtwuwAiBiTp2DUp2yVpFzWpTsegxQXpyQzQOtAQBQfgYpMANA^KZp0pOAPAvw1pCQ%m2p3y/d3p4p3D5pQARADF6p;B4DdW7peW8p5D6DSAEFlYmYDQ=BRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW9p8DgW!pFFjgkgGFHFlgIFJFUAKFmgVAngWASjTjUjogVjWjpgqgrgsgtg]B^BTtugUtvg'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiWIhTdUdJh)m*mKhYAGQMbHQIQLhwgxg#pwk_Bxk`B{b:drdsd$p%p9DVtseJQp0ZAKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DRrwwGzMQNQOQygPQMFQQRQ0A{B|B}B~Bteqcrcue1AO P Q R S T U SQTQ'pUQVQ!y(D2A)DWQNF*D(p;3OFNhnWSr)p*pzgHz+p;d=d+D3ATroW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q,p4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2WscWc8 4 , ;ctd8Q-p9Q.p3W/p.D/Dyk:Dzk=3;D'eEiQFRFFi!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q:p5W6W)Q*Q3sAgOhPh7xBgSF+QCg5w=DDgTF,QEg6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m;p@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}KFgGg)yGi*y+yHgYr=p~KZrUF4A,y|Q}Q~Q7w8w9wHi?p!w#wIiJi@p-y[paRbR5AVFIz0rJz1rcRdR2reR3rfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvR6rwR]p7W^p8WIgWFXFJgKi4sQhxRyR_pzRAR`pBRCR{p9W!W$w|p#W$W%w}p'w(w)wLi~p*w+wMiNiaq,w-w.wOiPibq[Dcq.ydqKzeq5sKgDRfqERFR1tGRHRLggq6A7AaLhqiq8A9A/wjqIR;mkq/y?dlqmq]Dnq!A#AYFoqeC^D%Wpq'Wqq_D`D$AZFnYoYJRfCYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(Wrq|D)Wsq0FPgQg1F2FRg3F4F'A5FSg(ATg)A!j#j$jUg%j'jVgWgXgYgZgjCkC6t0g7t1g=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+WShZd0dTh@m[mUh+AMRXbNRORVh2g3gtqAklCBkmCbc@dudvduqvq}D8twePRq0,AQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE8r:wLzSRTRUR4gVR7FWRXR-AnCoCpCqCxetcucye.AV W X Y Z 0 1 YRZRwq0R1R]yeE/AfE2R8FgExq?39FXh:W9ryqzq5gMzAq[d]dhE:A!r;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9RBq!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBXvc3c9 5 . [cwd'RCq(RDqCXEqkElECkmEDk@3nE(eSi#F$FTi)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.RFqEXFX/R:R(s6gYhZh$x7g%F;R8gvxoE9g'F=R!gwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`mGq{R|R|y{m}R$r~R|maS%rbScS'r%teLfL#g$g}yUi~yaz%g(rHqgL)r(F;AbzdSeSfSxxyxzxViIqAxBxWiXiJqczKqgShS=A)FNz*rOz+riSjS,rkS-rlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBS:rCSLqGXMqHX'g*F+F(gYi)s0hDSESNqFSGSOqHSISPqIXJXCxQqKXLXDxRqExFxGxZiSqHxIx0i1iTqJxKxLx2i3iUqrEVqdzWqPzXq*s)gJSYqKSLS'tMSNS*gZq?A@AhL0q1q[A]AMx2qOS}m3qez^d4q5qsE6q^A_A,F7qvCtEMX8qNX9quEvE`A-FpYqYPSwC5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOX!qxEPX#q.F.g/g/F:F:g;F=F|A?F;g}A=g~A[j]j^j?g_j`j@g[g]g^g_gACBC,t`g-t{g~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX2h5d6d3hbncn4hbBSS8bTS

97 return a if a is not None else self.name 2lM|g-e.e9nckoBdkpB9b7d`c{c!n#nUC`s_dmMl08znMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC$q=tlzpMqMrM/esMQEtMuM9zqBrBsBtB~dgchcae!zm n o p q r s vMwM$nxMyM:x0C#z1CzMRE2C%n)3SE~gHT%q'n(n:emz)n8d9d3C$z'qIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGM*nHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/TLM+nMM,n:T-n6C7Cek8Cfk*39C!e#hUEVE$hNMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM.n=T?TTMUMhs;eahbhNx=eWEVM?exu!C@eXEWM[eyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm/n4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]e^e]x%h^x_x_e,q:n8K-qYE%z`x#M$M%MzuAuBu'h;nCuDu(h)h=n{x?n'M(M'zZEnz.qoz/q)M*M:q+M;q,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M@q~M@n@T[n[T`e0E1E{e*hischaNbN]ncNdN^neNfN_n]T^TEu`n_T`TFu{nGuHuIu+h|nJuKu,h-h}nLuMuNu.h/h~n%Cao|xbopzcojs|egNdohNiNbtjNkN}eeo(z)z9Kfogo*z+zOuholNKmio}x!djoko'Clo,z-z2EmoyB(C{Tno|Too)C*C.zqz3E4EzBABAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}Tpo,C~Tqo5Ecfdf6E7Eef8E9E:z!Eff;zgf=z@i[i]ihf^i_iifjfkflfmfEBFBgtnfhtofgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUehBdCdfhLmMmgh@zoN` pNqNhhpfqfroikGBjkHB'b#d~cadsoto-CitcerNm0[zsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=C]qPurzuNvNwNrfxN$EyNzN]zIBJBKBLBheicjcie^zt u v w x y z ANBNuoCNDNfy?C_z@CEN%E[Cvo+3'EjhfU^qwoxosfszyo$d%d]C`z_qgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNzoMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUUQNAoRNBoVUCo`C{Ckk|Clk,3}C#e=h)E*E?hSNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNDoXUYUYNZNtstfkhlhSxuf+E0Nvf;u~Cwf,E1Nxf=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQmEo9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kyfzfly@hmynyAf~qFo(Kar-E{zoy)N*N+N?u@u[u[hGo]u^u]h^hHopyIo,N-N|z.Etzbruzcr.N/Ndr:Ner;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOhreOJoZUKo0UBf/E:ECf_husmhfOgOLohOiOMojOkONo1U2U_uOo3U4U`uPo{u|u}u`hQo~uav{h|hRobvcvdv}h~hSocDToqyUovzVovsDflOWomOnOotoOpOEfXo}z~z)KYoZoaAbAev0oqOTm1ory'd2o3odD4ocAdA;E5oQBeD5U6o6U7ofDgDeA=EhYiYrORBDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7U8oiD8U9o?EIfJf@E[EKf]E^EgA_ELfhAMfiAijjjkjNfljmjOfPfQfRfSfVBWBttTfutUfmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UohHdIdphUmVmqhkAuOgbvOwOrhVfWf!ookXBpkYB:b(dldmd#o$ojDvtkexOn0lAyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDjrfvwzAOBOCOXfDO{EEOFOmAZB0B1B2BlekclcmenAA B C D E F G GOHO%oIOJOyypDoAqDKO|ErD'o-3}Eth(Ukr(o)oYfxz*o)d*dsDpAlr)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQORO+oSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtVmcIc6 2 ( )cndWO,oXO-ouV.ovDwDqkxDrk.3yD$eciaFbFdiYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3O/owVxV4O5OFsZfuhvhXx0fcF6O1fOvzD2fdF7O3fPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm:o(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.K4f5fEyeiFyGy6fqr;o/KrreFqAHy/O:O;OQvRvSvfi=oTvUvgihi?oIy@o=O?OrAfFyzsrzztr@O[Our]Ovr^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPyrkP[oyV]ozV7fgFhF8fiiGswhlPmP^onPoP_opPqP`oAVBVVv{oCVDVWv|oXvYvZvji}o0v1vkili~o2v3v4vminiapCDbpJycpAzdpHs9frPepsPtPBtuPvP!ffpsAtA:KgphpuAvA5vipwP2mjpKy+dkplpDDmpwAxAiFnp7BEDEVopFVppFDGDyAjFjYkYxP8BKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVqpIDHVrpkF'f(flFmF)fnFoFAApF*fBA+fCAAjBjCj,fDjEj-f.f/f:f;f$B%BGt=fHt?f3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJVyhNdOdzh5m6mAhEAAPBbBPCPBh@f[fspsk'Btk(B[b,dodpdtpupJDItoeDPo0FAEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChODAr6vBzGPHPIP]fJPrFKPLPGA)B*B+B,BpencocqeHAH I J K L M N MPNPvpOPPPRyPDIAQDQPsFRDwp/3tFDhOVBrxpyp^fCzzp-d.dSDJACrPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPApYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]VpcPc7 3 * -cqd2PBp3PCp^VDpVDWDukXDvk:3YD%eqivFwFri4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9PEp`V{V!P#PRs_fEhFh2x`fxF$P{fewZD|fyF%P}ffw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!mFp.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[K~fagXysiYyZybgHrGp]KIrzFKA0y[P]P^PgwhwiwtiHpjwkwuiviIp1yJp_P`PLAAFDzJrEzKr{P|PLr}PMr~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQPrqQKp|VLp}VcgBFCFdgwiSsGhrQsQMptQuQNpvQwQOp~VaWlwPpbWcWmwQpnwowpwxiRpqwrwyiziSpswtwuwAiBiTp2DUp2yVpFzWpTsegxQXpyQzQOtAQBQfgYpMANA^KZp0pOAPAvw1pCQ%m2p3y/d3p4p3D5pQARADF6p;B4DdW7peW8p5D6DSAEFlYmYDQ=BRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW9p8DgW!pFFjgkgGFHFlgIFJFUAKFmgVAngWASjTjUjogVjWjpgqgrgsgtg]B^BTtugUtvg'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiWIhTdUdJh)m*mKhYAGQMbHQIQLhwgxg#pwk_Bxk`B{b:drdsd$p%p9DVtseJQp0ZAKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DRrwwGzMQNQOQygPQMFQQRQ0A{B|B}B~Bteqcrcue1AO P Q R S T U SQTQ'pUQVQ!y(D2A)DWQNF*D(p;3OFNhnWSr)p*pzgHz+p;d=d+D3ATroW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q,p4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2WscWc8 4 , ;ctd8Q-p9Q.p3W/p.D/Dyk:Dzk=3;D'eEiQFRFFi!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q:p5W6W)Q*Q3sAgOhPh7xBgSF+QCg5w=DDgTF,QEg6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m;p@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}KFgGg)yGi*y+yHgYr=p~KZrUF4A,y|Q}Q~Q7w8w9wHi?p!w#wIiJi@p-y[paRbR5AVFIz0rJz1rcRdR2reR3rfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvR6rwR]p7W^p8WIgWFXFJgKi4sQhxRyR_pzRAR`pBRCR{p9W!W$w|p#W$W%w}p'w(w)wLi~p*w+wMiNiaq,w-w.wOiPibq[Dcq.ydqKzeq5sKgDRfqERFR1tGRHRLggq6A7AaLhqiq8A9A/wjqIR;mkq/y?dlqmq]Dnq!A#AYFoqeC^D%Wpq'Wqq_D`D$AZFnYoYJRfCYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(Wrq|D)Wsq0FPgQg1F2FRg3F4F'A5FSg(ATg)A!j#j$jUg%j'jVgWgXgYgZgjCkC6t0g7t1g=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+WShZd0dTh@m[mUh+AMRXbNRORVh2g3gtqAklCBkmCbc@dudvduqvq}D8twePRq0,AQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE8r:wLzSRTRUR4gVR7FWRXR-AnCoCpCqCxetcucye.AV W X Y Z 0 1 YRZRwq0R1R]yeE/AfE2R8FgExq?39FXh:W9ryqzq5gMzAq[d]dhE:A!r;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9RBq!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBXvc3c9 5 . [cwd'RCq(RDqCXEqkElECkmEDk@3nE(eSi#F$FTi)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.RFqEXFX/R:R(s6gYhZh$x7g%F;R8gvxoE9g'F=R!gwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`mGq{R|R|y{m}R$r~R|maS%rbScS'r%teLfL#g$g}yUi~yaz%g(rHqgL)r(F;AbzdSeSfSxxyxzxViIqAxBxWiXiJqczKqgShS=A)FNz*rOz+riSjS,rkS-rlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBS:rCSLqGXMqHX'g*F+F(gYi)s0hDSESNqFSGSOqHSISPqIXJXCxQqKXLXDxRqExFxGxZiSqHxIx0i1iTqJxKxLx2i3iUqrEVqdzWqPzXq*s)gJSYqKSLS'tMSNS*gZq?A@AhL0q1q[A]AMx2qOS}m3qez^d4q5qsE6q^A_A,F7qvCtEMX8qNX9quEvE`A-FpYqYPSwC5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOX!qxEPX#q.F.g/g/F:F:g;F=F|A?F;g}A=g~A[j]j^j?g_j`j@g[g]g^g_gACBC,t`g-t{g~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX2h5d6d3hbncn4hbBSS8bTS

98 

99 @property 1abcdef

100 def required(self) -> bool: 1abcdef

101 return self.field_info.is_required() 2a Ek|g-e.e9nckoBdkpB7d`c{c!n#n_d8zFk'iVC(iWC! / : ; = ? @ [ ] )iXC*iYC}g$q/e9z~dgchcGkm n o p q r s lbHk$n:x#z%nIk~g'nrY(n:e5hmz)n8d9d$z'q;x=x?x*nasbs5CcsuBvBdses3K4K5Kfsgs+n,n-nJk6C7Cekfk$ g Kk+i!cwcxcLk,i#cyczcMkAc-i$cBc.nhs;eah=e?exu@e[eyuwBxB@xEmFmGmHm/n[xIm)qJm*q+qNk[F]e^e%h^x_x_e:n-q%zAuBu'h;nDu(h)h=n{x?nOk'znz.qoz/q:q;q=q?q@q@n[n`e{ech]n^n_n`nPk{nHuIu+h|nKu,h-h}nMuNu.h/h~nao|xbopzcojs|eQkiLjLdo}eeo)zfogo+zhoKmio}x!djoko,z-zmoyB(Cnooo)C.zzBABRkAeBeSkbeCeTkUkxdydVkWk:i;i=i?ikLOxPxQxRxXk:hafbf;hYkzd|cAd}cZk0k+Cpo,Cqocfdfef:zffgf@i[i]i1khf^i_i2kifjfkflfmfEBFBgtnfhtof^ _ dh?zcydyeyehBdCdfhLmMmgh@z3k` b 4khhpfqfroikGBjkHB#d~cadsotoce[z5k`i.C{i/C# { | } ~ abbbcbdb|i:C}i;Cih]qrf]zheicjc6kt u v w x y z mb7kuofy_zvo8kjhwosYxosf6hszyo$d%d`z_qgyhyiyzomsns_CosMBNBpsqs!K#K$KrsssAoBoCo9k`C{Ckklk% h !k~i%cCcDc#kaj'cEcFc$kGcbj(cHcDotstfkhufvf;uwfxf=uOBPBjyNmOmPmQmEokyRm{qSm|q}q%k]Fyfzf@hmynyAfFoar{z@u[u[hGo^u]h^hHopyIo'k|ztzbruzcrdrerfrgrhrJoKoBfCfmhLoMoNoOo(kPo|u}u`hQoav{h|hRocvdv}h~hSoToqyUovzVovsDf)klLmLWoEfXo~zYoZobA0oTm1ory'd2o3ocAdA5oQBeD6o7ofDeArORB*kDeEe+kjeFe,k-kDdEd.k/kejfjgjhjnLTxUxVxWx:kaiGfHfbi;kFdbdGdcd=k?khD8oiD9oIfJfKfgALfMfijjjkj@kNfljmj[kOfPfQfRfSfVBWBttTfutUfebfbnhjAvywyxyohHdIdphUmVmqhkA]kgbc ^krhVfWf!ookXBpkYB(dldmd#o$okelA_knjkDojlD' rbsbtbubvbwbxbybpjmDqjnDshjrXfmAlekclc`kA B C D E F G nb{k%oyyoA'o|kth(otY)oYf7hxz*o)d*dpAlrzyAyBy+oyszsuDAs3B4BBsCs*K+K,KDsEsmc,bIc6 2 )c,o-o.o}kvDwDqkrkhbi ~krj*cJcKcalsj+cLcMcblNctj,cOc/oFsZfuh0f1fOv2f3fPv5B6BCyWmXmYmZm:oDy0mnr1morprcl^F4f5feiFyGy6f;orrqARvSvfi=oUvgihi?oIy@odlrAyzsrzztrurvrwrxryr[o]o7f8fwh^o_o`o{oel|oYvZvji}o1vkili~o3v4vminiapbpJycpAzdpHs9ffloLpLep!ffptAgphpvAip2mjpKy+dkplpwAxAnp7BEDopppFDyAxP8BglKeLehlneMeiljlJdKdklllwjxjyjzjqLYxZx0x1xmloi$f%fpinlLdddMdedolplHDqpIDrpql'f(f)fAA*f+fAjBjCjrl,fDjEjsl-f.f/f:f;f$B%BGt=fHt?fzbAbxhDAOyPyQyyhNdOdzh5m6mAhEAtlBbd ulBh@f[fspsk'Btk(B,dodpdtpupoeFAvlFjKDGjLD) CbDbEbFbGbHbIbJbHjMDIjNDChAr]fGApencocwlH I J K L M N obxlvpRyIAwpylDhxpuYyp^f8hCzzp-d.dJACrSyTyUyApKsLsUDMs-B.BNsOs;K=K?KPsQspc-bPc7 3 -cBpCpDpzlVDWDukvkibj AlJj.cQcRcBlKj/cScTcClUcLj:cVcEpRs_fEh`f{few|f}ffw/B:BVy7m8m9m!mFpWy#mEr$mFrGrDl_F~fagsiYyZybgGpIrKAhwiwtiHpkwuiviIp1yJpElLADzJrEzKrLrMrNrOrPrKpLpcgdgGhMpNpOpPpFlQpowpwxiRprwyiziSptwuwAiBiTpUp2yVpFzWpTsegGlrLsLXpfgYpNAZp0pPA1p%m2p3y/d3p4pQARA6p;B4D7p8p5DSADQ=BHlReSeIlreTeJlKlPdQdLlMlOjPjQjRjtL3x4x5x6xNlCihgigDiOlRdfdSdgdPlQl7D9p8D!pRljgkglgUAmgngSjTjUjSlogVjWjTlpgqgrgsgtg]B^BTtugUtvgKbLbHhXA7y8y9yIhTdUdJh)m*mKhYAUlMbe VlLhwgxg#pwk_Bxk`B:drdsd$p%pseZAWlXj!DYj#D+ NbObPbQbRbSbTbUbZj$D0j%DMhRryg0AteqcrcXlO P Q R S T U pbYl'p!y2A(pZlNh)pvY*pzg9hHz+p;d=d3ATr#y$y%y,pWsXs-DYsaCbCZs0s_K`K{K1s2ssc.bWc8 4 ;c-p.p/p0l.D/Dykzkjbk 1l1j=cXcYc2l2j?cZc0c3l1c3j@c2c:p3sAgOhBgCg5wDgEg6wcCdC'y+m,m-m.m;p(y/mVr:mWrXr4l`FFgGgGi*y+yHg=pZr4A8w9wHi?p#wIiJi@p-y[p5l5AIz0rJz1r2r3r4r5r6r]p^pIgJgQh_p`p{p|p6l}p(w)wLi~p+wMiNiaq-w.wOiPibqcq.ydqKzeq5sKg7luLvLfqLggq7Ahqiq9Ajq;mkq/y?dlqmq!A#AoqeC^Dpqqq_D$AJRfC8lYeZe9lve0e!l#lVdWd$l%l6j7j8j9jwL8x9x!x#x'lQiNgOgRi(lXdhdYdid)l*l{Drq|Dsq+lPgQgRg'ASgTg!j#j$j,lUg%j'j-lVgWgXgYgZgjCkC6t0g7t1gVbWbRh*A?y@y[yShZd0dTh@m[mUh+A.lXbf /lVh2g3gtqAklCBkmC@dudvduqvqwe,A:l(j~D)jaE- YbZb0b1b2b3b4b5b*jbE+jcEWh8r4g-Axetcuc;lV W X Y Z 0 1 qb=lwq]y/Axq?lXhyqwYzq5g!hMzAq[d]d:A!r^y_y`yBq8s9sjE!srCsC#s$sbLcLdL%s'svc/b3c9 5 [cCqDqEq@lkElECkDkkbl [l,j]c4c5c]l-j^c6c7c^l8c.j_c9cFq(s6gYh7g8gvx9g!gwxtCuC{y]m^m_m`mGq|y{m$r|m%r'r_l{F#g$gUi~yaz%gHq)r;AyxzxViIqBxWiXiJqczKq`l=ANz*rOz+r,r-r.r/r:rLqMq'g(g0hNqOqPqQq{lRqFxGxZiSqIx0i1iTqKxLx2i3iUqVqdzWqPzXq*s)g|lxLyLYq*gZq@A0q1q]A2q}m3qez^d4q5q^A_A7qvCtE8q9quE`APSwC}l5e6e~lze7eambm1d2dcmdm;j=j?j@jzL%x'x(x)xem4i,g-g5ifm3djd4dkdgmhmwE!qxE#qim.g/g:g|A;g=g[j]j^jjm?g_j`jkm@g[g]g^g_gACBC,t`g-t{g6b7b1haBizjzkz2h5d6d3hbncn4hbBlm8b

102 

103 @property 1abcdef

104 def default(self) -> Any: 1abcdef

105 return self.get_default() 2ckoBdkpB7d`c{c[3'iVC(iWC! )iXC*iYC}g~dgchc:x#z(nmz$z;x=x?x5CuBvB3K4K5K$ +i!cwcxc,i#cyczcAc-i$cBchsxuyuwBxB%h^x_xAuBu'hDu(h)h{xnzozHuIu+hKu,h-hMuNu.h/h|xpzjs)zfo+zho}x,z-zyB(C)C.zzBbeCe+C,C@i[i]ihf^i_iifjfkflfmfgtht^ _ dh?zcydyey@zikGBjkHB#d~cad]3`i.C{i/C# |i:C}i;Cihheicjcfy_zxosz`zgyhyiy_CMBNB!K#K$K% ~i%cCcDcaj'cEcFcGcbj(cHcts;u=uOBPB@hmyny@u[u[h^u]h^hpytzuz|u}u`hav{h|hcvdv}h~hqyvzvs~zYobA0orycAdAQBeDfDeArOjeFehDiDijjjkjNfljmjOfPfQfRfSfttutebfbnhjAvywyxykAokXBpkYB(dldmd^3njkDojlD' pjmDqjnDshlekclcyyoA)oxzpAzyAyByuD3B4B*K+K,Kmc)chbrj*cJcKcsj+cLcMcNctj,cOcFsOvPv5B6BeiFyGyRvSvfiUvgihiIyyzzzYvZvji1vkili3v4vminiJyAzHstAgpvAipKywAxA7BEDFDyAxPneMeHDIDAjBjCj,fDjEj-f.f/f:f;fGtHtzbAbxhDAOyPyQyEAsk'Btk(B,dodpd_3FjKDGjLD) HjMDIjNDChpencocRyIAypCzJASyTyUyUD-B.B;K=K?Kpc-cibJj.cQcRcKj/cScTcUcLj:cVcRsewfw/B:BsiYyZyhwiwtikwuivi1yDzEzowpwxirwyizitwuwAiBi2yFzTsNAZpPA1p3yQARA;B4D5DSADQreTe7D8DSjTjUjogVjWjpgqgrgsgtgTtUtKbLbHhXA7y8y9yYAwk_Bxk`B:drdsd`3Xj!DYj#D+ Zj$D0j%DMhteqcrc!y2A*pHz3A#y$y%y-DaCbC_K`K{Ksc;cjb1j=cXcYc2j?cZc0c1c3j@c2c3s5w6wcCdCGi*y+y8w9wHi#wIiJi-yIzJz(w)wLi+wMiNi-w.wOiPi.yKz5s7Ahq9Ajq/y!A#AeC^D_D$AJRve0e{D|D!j#j$jUg%j'jVgWgXgYgZg6t7tVbWbRh*A?y@y[y+AAklCBkmC@dudvd{3(j~D)jaE- *jbE+jcEWhxetcuc]y/AzqMz:A^y_y`yjErCsCbLcLdLvc[ckb,j]c4c5c-j^c6c7c8c.j_c9c(svxwxtCuCUi~yazyxzxViBxWiXiczNzOzFxGxZiIx0i1iKxLx2i3idzPz*s@A0q]A2qez^A_AvCtEuE`APSze7ewExE[j]j^j?g_j`j@g[g]g^g_g,t-t6b7b1haBizjzkzbB

106 

107 @property 1abcdef

108 def type_(self) -> Any: 1abcdef

109 return self.field_info.annotation 2a lM$Z|Fx0-e.e9nckoBdkpB9b7d`c{c!n#nUC6i`s_dmMkZy0nMoM! / : `d; = {d? |d@ [ }d] }gZC=tlzpMqMrM/esMQEtMuM9zqBrBsBtB~dgchcae!zlZvMwM$nxMyM:x0C#z1CzM2C%nmmnm8e7iyE%ZzEHT%q'nrY(n:emz)nom-s=r3C$zIT;x=xAM?xCCJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGM*nHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?rLM+nMM,n:T-nek8Cfk9CUEDYVEEYNMOM$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM.n=T?TTMUMhs;eUSmZbhNxVSz0=eWEVM?exu!C@eXEWM[eyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm/n4M5M[xIm6M)q7MJm8M*q9M!M+qnZA0B0C0WSXS[FYSZSD0E0F00Sat6K7K]e^e]x%h^x_x_e,q:n8KP6}FYE%z`x#M$M%MzuAuBu'h;nCuDu(h)h=n{x?n'M(MQ6R61S2SS6'zZE)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@n@T[n[T`e0E1E{eoZpZaNbN]ncNdN^neNfN_n]T^TEu`nG0DC_T`TFu{nGuHuIu+h|nJuKu,h-h}nLuMuNu.h/h~n%Cao|xbopzcojs|eFYGYgNdohNiNbtjNkN}eeo(z)z9Kfogo*z+zOuholNKmio}x!djoko'Clo,z-z2EmoyB(C{Tno|Too)C*C.zECqz3E4EzBABAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmNHYIY+C}Tpo,C~Tqo5Ecfdf6E7Eef8E9E:z!Eff;zgf=z@i[i]ihf^i_iifjfkflfmfqZrZgtnfhtofgkbyhknN^ !b#b_ $b%bdh?zcydyeyaUH0I0BdCdLmMmJ0K0@zoN` pNb qN'Z~FL0pfqfroikGBjkHB'b#d~cadsoto-C8iitcerNsZM0sNtN# { | de} ~ eeabfebbcbgedbih=CPurzuNvNwNrfxN$EyNzN]zIBJBKBLBheicjcie^ztZANBNuoCNDNfy?C_z@CEN[Cvopmqm9e9iAE(ZBEfU^qwosYxosfszyorm.s@r]C`zgUgyhyFNiyFChUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNzoMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[rQNAoRNBoVUCokk|Clk}C)EJY*EKYSNTN% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNDoXUYUYNZNtstf3SuZlhSx4SN0uf+E0Nvf;u~Cwf,E1Nxf=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQmEo9N!NkyRm#N{q$NSm%N|q'N(N}qvZO0P0Q05S6S]F7S8SR0S0T09Snt%K'Kyfzfly@hmynyAf~qFo(KT6aG-E{zoy)N*N+N?u@u[u[hGo]u^u]h^hHopyIo,N-NU6V6!S#SW6|z.E.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOJoZUKo0UBf/E:ECfwZxZfOgOLohOiOMojOkONo1U2U_uOoU0GC3U4U`uPo{u|u}u`hQo~uav{h|hRobvcvdv}h~hSocDToqyUovzVovsDfLYMYlOWomOnOotoOpOEfXo}z~z)KYoZoaAbAev0oqOTm1ory'd2o3odD4ocAdA;E5oQBeD5U6o6U7ofDgDeAHC=EhYiYrORBDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsONYOYhD7U8oiD8U9o?EIfJf@E[EKf]E^EgA_ELfhAMfiAijjjkjNfljmjOfPfQfRfSfyZzZttTfutUfmkuynktOeb(b)bfb*b+bnhjAvywyxy9U!UV0W0HdIdUmVmX0Y0kAuOgbvOc wO)ZbGZ0VfWf!ookXBpkYB:b(dldmd#o$ojD!ivtkexOAZ00yOzO' rbsbGetbubHevbIewbxbJeybshoDfvwzAOBOCOXfDO{EEOFOmAZB0B1B2BlekclcmenABZGOHO%oIOJOyypDoAqDKOrD'odnen)e{jCE*ZDE(Ukr(otY)oYfxz*osm/s]rsDpA)UzyAyLOByIC*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQORO+oSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^rmc,bIc6 2 ( )cndWO,oXO-ouV.oqkxDrkyDaFPYbFQYYOZOhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3O/owVxV4O5OFsZf$SCZvhXx%S100fcF6O1fOvzD2fdF7O3fPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm:o(O)ODy0m*Onr+O1m,Oor-O.OprDZ203040'S(S^F)S*S506070+SAt-K.K4f5fEyeiFyGy6fqr;o/KX6cGeFqAHy/O:O;OQvRvSvfi=oTvUvgihi?oIy@o=O?OY6Z6,S-S06rAfF@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkP[oyV]ozV7fgFhF8fEZFZlPmP^onPoP_opPqP`oAVBVVv{o80JCCVDVWv|oXvYvZvji}o0v1vkili~o2v3v4vminiapCDbpJycpAzdpHs9fRYSYrPepsPtPBtuPvP!ffpsAtA:KgphpuAvA5vipwP2mjpKy+dkplpDDmpwAxAiFnp7BEDEVopFVppFDGDyAKCjFjYkYxP8BKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPTYUYHDGVqpIDHVrpVYkF'f(flFmF)fnFoFAApF*fBA+fCAAjBjCj,fDjEj-f.f/f:f;fGZHZGt=fHt?f3mNy4mzPzb;b=bAb?b@bxhDAOyPyQyIVJV.t90!0NdOd5m6m#0$0EAAPBbBPd CP+ZdG%0@f[fspsk'Btk(B[b,dodpdtpupJD#iItoeDPIZ'0EPFP) CbDbNeEbFbOeGbPeHbIbQeJbChOD6vBzGPHPIP]fJPrFKPLPGA)B*B+B,BpencocqeHAJZMPNPvpOPPPRyPDIAQDQPRDwpfngn*e|jEE,ZFEOVBrxpuYyp^fCzzptm:s_rSDJAPVSyTyRPUyLCQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPApYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`rpc-bPc7 3 * -cqd2PBp3PCp^VDpukXDvkYDvFWYwFXY4P5Pibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9PEp`V{V!P#PRs_f.SKZFh2x/S(0`fxF$P{fewZD|fyF%P}ffw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!mFp.P/PWy#m:PEr;P$m=PFr?P@PGrLZ)0*0+0:S;S_F=S?S,0-0.0@SNt@K[K~fagXysiYyZybgHrGp]K16eGzFKA0y[P]P^PgwhwiwtiHpjwkwuiviIp1yJp_P`P2636[S]S46LAAF{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQKp|VLp}VcgBFCFdgMZNZrQsQMptQuQNpvQwQOp~VaWlwPp/0MCbWcWmwQpnwowpwxiRpqwrwyiziSpswtwuwAiBiTp2DUp2yVpFzWpTsegYYZYxQXpyQzQOtAQBQfgYpMANA^KZp0pOAPAvw1pCQ%m2p3y/d3p4p3D5pQARADF6p;B4DdW7peW8p5D6DSANCEFlYmYDQ=BRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ0Y1Y7DfW9p8DgW!p2YFFjgkgGFHFlgIFJFUAKFmgVAngWASjTjUjogVjWjpgqgrgsgtgOZPZTtugUtvg'm6y(mFQKb]b^bLb_b`bHhXA7y8y9yhWiW/t:0;0TdUd)m*m=0?0YAGQMbHQe IQ-ZfG@0wgxg#pwk_Bxk`B{b:drdsd$p%p9D$iVtseJQQZ[0KQLQ+ NbObUePbQbVeRbWeSbTbXeUbMh'DwwGzMQNQOQygPQMFQQRQ0A{B|B}B~Bteqcrcue1ARZSQTQ'pUQVQ!y(D2A)DWQ*D(phnin+e}jGE.ZHEnWSr)pvY*pzgHz+pum;s{r+D3AoW#y$yXQ%yOCpWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q,p4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|rsc.bWc8 4 , ;ctd8Q-p9Q.p3W/pyk:Dzk;DQF3YRF4Y!Q#Qjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q:p5W6W)Q*Q3sAg^SSZPh7x_S]0BgSF+QCg5w=DDgTF,QEg6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m;p@Q[Q(y/m]QVr^Q:m_QWr`Q{QXrTZ^0_0`0`S{S`F|S}S{0|0}0~S0t|K}KFgGg)yGi*y+yHgYr=p~K56gGUF4A,y|Q}Q~Q7w8w9wHi?p!w#wIiJi@p-y[paRbR6676aTbT865AVFcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR]p7W^p8WIgWFXFJgUZVZxRyR_pzRAR`pBRCR{p9W!W$w|p~0PC#W$W%w}p'w(w)wLi~p*w+wMiNiaq,w-w.wOiPibq[Dcq.ydqKzeq5sKg5Y6YDRfqERFR1tGRHRLggq6A7AaLhqiq8A9A/wjqIR;mkq/y?dlqmq]Dnq!A#AYFoqeC^D%Wpq'Wqq_D`D$AQCZFnYoYJRfCYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR7Y8Y{D(Wrq|D)Wsq9Y0FPgQg1F2FRg3F4F'A5FSg(ATg)A!j#j$jUg%j'jVgWgXgYgZgWZXZ6t0g7t1g=m=y?mLRVb|b}bWb~bacRh*A?y@y[y*W+W:ta1b1Zd0d@m[mc1d1+AMRXbNRf OR/ZhGe12g3gtqAklCBkmCbc@dudvduqvq}D%i8twePRYZf1QRRR- YbZb1e0b1b2e2b3e3b4b4e5bWhdE:wLzSRTRUR4gVR7FWRXR-AnCoCpCqCxetcucye.AZZYRZRwq0R1R]yeE/AfE2RgExqjnkn,e~jIE:ZJE:W9ryqwYzq5gMzAqvm=s}rhE:A;W^y_y3R`yRC=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9RBq!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~rvc/b3c9 5 . [cwd'RCq(RDqCXEqCkmEDknE#F!Y$F#Y)R*Rkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.RFqEXFX/R:R(s6gcT0ZZh$xdTg17g%F;R8gvxoE9g'F=R!gwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`mGq{R|R|y{m}R$r~R|maS%rbScS'r1Zh1i1j1eTfT{FgThTk1l1m1iT%teLfL#g$g}yUi~yaz%g(rHqgL96iG(F;AbzdSeSfSxxyxzxViIqAxBxWiXiJqczKqgShS!6#6jTkT$6=A)FiSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSLqGXMqHX'g*F+F(g2Z3ZDSESNqFSGSOqHSISPqIXJXCxQqn1SCKXLXDxRqExFxGxZiSqHxIx0i1iTqJxKxLx2i3iUqrEVqdzWqPzXq*s)g$Y%YJSYqKSLS'tMSNS*gZq?A@AhL0q1q[A]AMx2qOS}m3qez^d4q5qsE6q^A_A,F7qvCtEMX8qNX9quEvE`ATC-FpYqYPSwC5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQS'Y(YwEOX!qxEPX#q)Y.F.g/g/F:F:g;F=F|A?F;g}A=g~A[j]j^j?g_j`j@g[g]g^g_g4Z5Z,t`g-t{g~mhzanRS6bccdc7becfc1haBizjzkzQXRX;to1p15d6dbncnq1r1bBSS8bTS

110 

111 def __post_init__(self) -> None: 1abcdef

112 self._type_adapter: TypeAdapter[Any] = TypeAdapter( 2a $Z9b`c{c6i|3ak[3_d}3kZ! / : `d; = {d? |d@ [ }d] lzaem n o p q r s lblZKELEALQzRzSzMEmmnm8e7irY(nom-s=r8d9d?s?ro9DYEYp9q9r9s9~3a4b4c4d4$ g hsmZnZ`xzuCuoZpZDCGuJuLujsFYGY(z*zlsayHYIYt9!E;z=zqZrZgthtgkbyhk^ !b#b_ $b%bwmxm` b 'Z'b~cad8ie4bk]3cef4sZ# { | de} ~ eeabfebbcbgedbrziet u v w x y z mbtZNEOEBLTzUzVzPEpmqm9e9isYxorm.s@r$d%d@s[ru9JYKYv9w9x9y9g4h4i4j4k4% h tsuZvZoy?u]uwZxZGC{u~ubvvsLYMY}zaAxstyNYOYz9_EhAiAyZzZttutmkuynkeb(b)bfb*b+bymzmgbc )Z:bldmd!il4Am^3kem4AZ' rbsbGetbubHevbIewbxbJeybwzmeA B C D E F G nbBZjGkGlTcBdBeBlGdnen)e{jtY)osm/s]r)d*d[s^rmc,bIc6 2 ( )cndA9PYQYB9C9D9E9n4o4p4q4r4hbi FsCZDZHyQvTvEZFZJCXv0v2vHsRYSYsAuAJsMyTYUYF9G9VYpFBACAGZHZGtHt3mNy4mzb;b=bAb?b@b.tlnmnBbd +Z[bodpd#is4Bm_3oet4IZ) CbDbNeEbFbOeGbPeHbIbQeJbBzqeH I J K L M N obJZmGnGmTfBgBhBoGfngn*e|juYyptm:s_r-d.d]s`rpc-bPc7 3 * -cqdH9WYXYI9J9K9L9u4v4w4x4y4ibj RsKZLZ0ygwjwMZNZMCnwqwswTsYYZYMAOAVs5y0Y1YM9N92YKFVAWAOZPZTtUt'm6y(mKb]b^bLb_b`b/tnnonMbe -Z{brdsd$iz4Cm`3seA4QZ+ NbObUePbQbVeRbWeSbTbXeUbGzueO P Q R S T U pbRZpGqGnTiBjBkBrGhnin+e}jvY*pum;s{r;d=d^s|rsc.bWc8 4 , ;ctdO93Y4YP9Q9R9S9B4C4D4E4F4jbk 3sSZTZ,y7w!wUZVZPC'w*w,w5s5Y6Y6A8A7s;y7Y8YT9U99Y5F(A)AWZXZ6t7t=m=y?mVb|b}bWb~bac:tpnqnXbf /Zbcudvd%iG4Dm{3weH4YZ- YbZb1e0b1b2e2b3e3b4b4e5bLzyeV W X Y Z 0 1 qbZZsGtGoTlBmBnBuGjnkn,e~jwYzqvm=s}r[d]d_s~rvc/b3c9 5 . [cwdV9!Y#YW9X9Y9Z9I4J4K4L4M4kbl (s0Z1ZbzxxAx2Z3ZSCExHxJx*s$Y%Y?A[A,sgz'Y(Y0919)Y?F}A~A4Z5Z,t-t~mhzan6bccdc7becfc;trnsn8b

113 Annotated[self.field_info.annotation, self.field_info] 

114 ) 

115 

116 def get_default(self) -> Any: 1abcdef

117 if self.field_info.is_required(): 2ckoBdkpB7d`c{c[3'iVC(iWC! )iXC*iYC}g~dgchc:x#z(nmz$z;x=x?x5CuBvB3K4K5K$ +i!cwcxc,i#cyczcAc-i$cBchsxuyuwBxB%h^x_xAuBu'hDu(h)h{xnzozHuIu+hKu,h-hMuNu.h/h|xpzjs)zfo+zho}x,z-zyB(C)C.zzBbeCe+C,C@i[i]ihf^i_iifjfkflfmfgtht^ _ dh?zcydyey@zikGBjkHB#d~cad]3`i.C{i/C# |i:C}i;Cihheicjcfy_zxosz`zgyhyiy_CMBNB!K#K$K% ~i%cCcDcaj'cEcFcGcbj(cHcts;u=uOBPB@hmyny@u[u[h^u]h^hpytzuz|u}u`hav{h|hcvdv}h~hqyvzvs~zYobA0orycAdAQBeDfDeArOjeFehDiDijjjkjNfljmjOfPfQfRfSfttutebfbnhjAvywyxykAokXBpkYB(dldmd^3njkDojlD' pjmDqjnDshlekclcyyoA)oxzpAzyAyByuD3B4B*K+K,Kmc)chbrj*cJcKcsj+cLcMcNctj,cOcFsOvPv5B6BeiFyGyRvSvfiUvgihiIyyzzzYvZvji1vkili3v4vminiJyAzHstAgpvAipKywAxA7BEDFDyAxPneMeHDIDAjBjCj,fDjEj-f.f/f:f;fGtHtzbAbxhDAOyPyQyEAsk'Btk(B,dodpd_3FjKDGjLD) HjMDIjNDChpencocRyIAypCzJASyTyUyUD-B.B;K=K?Kpc-cibJj.cQcRcKj/cScTcUcLj:cVcRsewfw/B:BsiYyZyhwiwtikwuivi1yDzEzowpwxirwyizitwuwAiBi2yFzTsNAZpPA1p3yQARA;B4D5DSADQreTe7D8DSjTjUjogVjWjpgqgrgsgtgTtUtKbLbHhXA7y8y9yYAwk_Bxk`B:drdsd`3Xj!DYj#D+ Zj$D0j%DMhteqcrc!y2A*pHz3A#y$y%y-DaCbC_K`K{Ksc;cjb1j=cXcYc2j?cZc0c1c3j@c2c3s5w6wcCdCGi*y+y8w9wHi#wIiJi-yIzJz(w)wLi+wMiNi-w.wOiPi.yKz5s7Ahq9Ajq/y!A#AeC^D_D$AJRve0e{D|D!j#j$jUg%j'jVgWgXgYgZg6t7tVbWbRh*A?y@y[y+AAklCBkmC@dudvd{3(j~D)jaE- *jbE+jcEWhxetcuc]y/AzqMz:A^y_y`yjErCsCbLcLdLvc[ckb,j]c4c5c-j^c6c7c8c.j_c9c(svxwxtCuCUi~yazyxzxViBxWiXiczNzOzFxGxZiIx0i1iKxLx2i3idzPz*s@A0q]A2qez^A_AvCtEuE`APSze7ewExE[j]j^j?g_j`j@g[g]g^g_g,t-t6b7b1haBizjzkzbB

118 return Undefined 2[3]3^3_3`3{3

119 return self.field_info.get_default(call_default_factory=True) 2ckoBdkpB7d`c{c'iVC(iWC! )iXC*iYC}g~dgchc:x#z(nmz$z;x=x?x5CuBvB3K4K5K$ +i!cwcxc,i#cyczcAc-i$cBchsxuyuwBxB%h^x_xAuBu'hDu(h)h{xnzozHuIu+hKu,h-hMuNu.h/h|xpzjs)zfo+zho}x,z-zyB(C)C.zzBbeCe+C,C@i[i]ihf^i_iifjfkflfmfgtht^ _ dh?zcydyey@zikGBjkHB#d~cad`i.C{i/C# |i:C}i;Cihheicjcfy_zxosz`zgyhyiy_CMBNB!K#K$K% ~i%cCcDcaj'cEcFcGcbj(cHcts;u=uOBPB@hmyny@u[u[h^u]h^hpytzuz|u}u`hav{h|hcvdv}h~hqyvzvs~zYobA0orycAdAQBeDfDeArOjeFehDiDijjjkjNfljmjOfPfQfRfSfttutebfbnhjAvywyxykAokXBpkYB(dldmdnjkDojlD' pjmDqjnDshlekclcyyoA)oxzpAzyAyByuD3B4B*K+K,Kmc)chbrj*cJcKcsj+cLcMcNctj,cOcFsOvPv5B6BeiFyGyRvSvfiUvgihiIyyzzzYvZvji1vkili3v4vminiJyAzHstAgpvAipKywAxA7BEDFDyAxPneMeHDIDAjBjCj,fDjEj-f.f/f:f;fGtHtzbAbxhDAOyPyQyEAsk'Btk(B,dodpdFjKDGjLD) HjMDIjNDChpencocRyIAypCzJASyTyUyUD-B.B;K=K?Kpc-cibJj.cQcRcKj/cScTcUcLj:cVcRsewfw/B:BsiYyZyhwiwtikwuivi1yDzEzowpwxirwyizitwuwAiBi2yFzTsNAZpPA1p3yQARA;B4D5DSADQreTe7D8DSjTjUjogVjWjpgqgrgsgtgTtUtKbLbHhXA7y8y9yYAwk_Bxk`B:drdsdXj!DYj#D+ Zj$D0j%DMhteqcrc!y2A*pHz3A#y$y%y-DaCbC_K`K{Ksc;cjb1j=cXcYc2j?cZc0c1c3j@c2c3s5w6wcCdCGi*y+y8w9wHi#wIiJi-yIzJz(w)wLi+wMiNi-w.wOiPi.yKz5s7Ahq9Ajq/y!A#AeC^D_D$AJRve0e{D|D!j#j$jUg%j'jVgWgXgYgZg6t7tVbWbRh*A?y@y[y+AAklCBkmC@dudvd(j~D)jaE- *jbE+jcEWhxetcuc]y/AzqMz:A^y_y`yjErCsCbLcLdLvc[ckb,j]c4c5c-j^c6c7c8c.j_c9c(svxwxtCuCUi~yazyxzxViBxWiXiczNzOzFxGxZiIx0i1iKxLx2i3idzPz*s@A0q]A2qez^A_AvCtEuE`APSze7ewExE[j]j^j?g_j`j@g[g]g^g_g,t-t6b7b1haBizjzkzbB

120 

121 def validate( 1abcdef

122 self, 

123 value: Any, 

124 values: Dict[str, Any] = {}, # noqa: B006 

125 *, 

126 loc: Tuple[Union[int, str], ...] = (), 

127 ) -> Tuple[Any, Union[List[Dict[str, Any]], None]]: 

128 try: 2lM$Z|Fx0ckoBdkpB9b7d`c{cUC6i%6`sN4_d}3mMkZl08zy0nMoM'iVCDT(iWCET! `d{d|d}d)iXCFT*iYCGTO4ZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zlZvMwMxMyM:x0C1CzMRE2C)3SEyE%ZzEHT%q(nmzom-s=r?s3CIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIM(T5C)TtuTE(q*TuuvuJMKMvB+T,T-Twu.T/T?rLMMM:T8C*39CP4Q4R4S4T4U4s1t1u1v1w1V4W4SXCLx1y1z1A1B1C1X4Y4TXDLD1E1Z404UXELF1G1H1I1UEDYJ1VEEYK1L114M124N134NMOM~3a4b4;Tc4d4$ +i!cwcxc,i#cyczcAc-i$cBc445464748494!4#4O1P1Q1R1S1T1U1V1W1X1Y1Z101PMQMRMSM=T?TTMUMhsUSmZbhNxVSz0WEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M7MJm8M9M!MnZA0B0C0WSXSYSZSD0E0F00Sat6K7K]x%h^x_x,q:n8KP6}FYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MQ6R61S2SS6$4%4ZEnzoz)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~M@T[T0E1E'4'6(4oZpZaNbNcNdNeNfN]T^TEuG0DC_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsFYGYgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo2E(C{T|T)C*Cqz3E4EBBCBctks~eDBdt.iet/iftls:i;i=i?i~xayOxPxQxRx/zafbf|c[q}cmNHYIY+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfqZ11rZ21gthtgkbyhknN#E!b#b$b%bdhcydyeyaUH0I0BdCdLmMmJ0K0VXWXFLXX@zoNYXZXGL)4pNqN'Z~FL0ikGBjkHB'b#d~cad-C8i(6it*4cef4rNsZm0[zM0sNtN`i.CbU{i/CcU# deeefege|i:CdU}i;CeU+4=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^ztZANBNCNDNfy?C@CEN%E[C+3'EAE(ZBEfU^qxoszrm.s@r@s]CgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNNU_COU-u(E`qPU.u/uONPNNBQURUSU:uTUUU[rQNRNVU|C,3}C,4-4.4/4:4;43141516171=4?40XHL8191!1#1$1%1@4[41XIL'1(1]4^42XJL)1*1+1,1)EJY-1*EKY.1/1_4:1`4;1{4SNTNg4h4i4WUj4k4% ~i%cCcDcaj'cEcFcGcbj(cHc|4}4~4a5b5c5d5e5=1?1@1[1]1^1_1`1{1|1}1~1a2UNVNWNXNXUYUYNZNts3SuZlhSx4SN0+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N$NSm%N'N(NvZO0P0Q05S6S7S8SR0S0T09Snt%K'Kly@hmyny~qFo(KT6aG-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-NU6V6!S#SW6f5g5.Etzuz.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOZU0U/E:Eh5)6i5wZxZfOgOhOiOjOkO1U2U_uU0GC3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvsLYMYlOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4o;EeD5U6UfDgD=EhYiYSBTBptwsFfUBqtcjrtdjstxsejfjgjhjsytyTxUxVxWxfAGfHfbdircdsONYOYhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfyZb2zZc2ttutmkuynktO`E(b)b*b+bnhvywyxy9U!UV0W0HdIdUmVmX0Y03X4XKL5XkAuO6X7XLLj5vOwO)ZbGZ0okXBpkYB:b(dldmdjD!i*6vtk5kem4xOAZn0lA00yOzOnjkD#UojlD$U' GeHeIeJepjmD%UqjnD'Ul5oDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenABZGOHOIOJOyypDqDKO|ErD-3}ECE*ZDE(Ukr)oxzsm/s]r[ssD)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOmVuDnVKv~EmroVLvMvUOVO4BpVqVrVNvsVtV^rIc6 ( ndWOXOuVxD.3yDm5n5o5p5q5r5d2e2f2g2h2s5t58XMLi2j2k2l2m2n2u5v59XNLo2p2w5x5!XOLq2r2s2t2aFPYu2bFQYv2w2y5x2z5y2A5YOZOn4o4p4vVq4r4hbrj*cJcKcsj+cLcMcNctj,cOcB5C5D5E5F5G5H5I5z2A2B2C2D2E2F2G2H2I2J2K2L20O1O2O3OwVxV4O5OFs$SCZvhXx%S10cF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*O+O1m,O-O.ODZ203040'S(S)S*S506070+SAt-K.KEyeiFyGyqr;o/KX6cGeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OY6Z6,S-S06J5K5fFyzzz@O[O]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPyVzVgFhFL5+6M5EZFZlPmPnPoPpPqPAVBVVv80JCCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsRYSYrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpiFEDEVFVFDGDjFjYkY9B!BCtIs#f#BDtujEtvjFtJswjxjyjzjLyMyYxZx0x1xzA$f%fddzredyPTYUYHDGVIDHVVYkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGZM2HZN2GtHt3mNy4mzPqF;b=b?b@bxhOyPyQyIVJV.t90!0NdOd5m6m#0$0#X$XPL%XEAAP'X(XQLN5BPCP+ZdG%0sk'Btk(B[b,dodpdJD#i,6ItO5oet4DPIZo0FA'0EPFPFjKDKVGjLDLV) NeOePeQeHjMDMVIjNDNVP5OD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAJZMPNPOPPPRyPDQDQPsFRD/3tFEE,ZFEOVBrypCztm:s_r]sSDPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZP/VUD:VawuFDr;Vbwcw0P1P.B=V?V@Vdw[V]V`rPc7 * qd2P3P^VXD:3YDQ5R5S5T5U5V5O2P2Q2R2S2W5X5)XRLT2U2V2W2X2Y2Y5Z5*XSLZ2020515+XTL12223242vFWY52wFXY627225823592454P5Pu4v4w4_Vx4y4ibJj.cQcRcKj/cScTcUcLj:cVc5565758595!5#5$5!2#2$2%2'2(2)2*2+2,2-2.2/26P7P8P9P`V{V!P#PRs.SKZFh2x/S(0xF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:P;P$m=P?P@PLZ)0*0+0:S;S=S?S,0-0.0@SNt@K[KXysiYyZyHrGp]K16eGzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`P2636[S]S46%5'5AFDzEz{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQ|V}VBFCF(5-6)5MZNZrQsQtQuQvQwQ~VaWlw/0MCbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsYYZYxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pDF4DdWeW5D6DEFlYmY?B@BPtUsgg[BQtMjRtNjStVsOjPjQjRj4y5y3x4x5x6xTAhgigfdQrgdEQ0Y1Y7DfW8DgW2YFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgOZ:2PZ;2TtUt'm6y(mFQLF]b^b_b`bHh7y8y9yhWiW/t:0;0TdUd)m*m=0?0,X-XUL.XYAGQ/X:XVL*5HQIQ-ZfG@0wk_Bxk`B{b:drdsd9D$i.6Vt+5seA4JQQZp0ZA[0KQLQXj!DjWYj#DkW+ UeVeWeXeZj$DlW0j%DmW,5'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1ARZSQTQUQVQ!y(D)DWQNF*D;3OFGE.ZHEnWSr*pHzum;s{r^s+DoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QVW-DWW1wPFUrXW2w3w6Q7QbCYWZW0W4w1W2W|rWc8 , td8Q9Q3W:D=3;D-5.5/5:5;5=5=2?2@2[2]2?5@5;XWL^2_2`2{2|2}2[5]5=XXL~2a3^5_5?XYLb3c3d3e3QF3Yf3RF4Yg3h3`5i3{5j3|5!Q#QB4C4D44WE4F4jb1j=cXcYc2j?cZc0c1c3j@c2c}5~5a6b6c6d6e6f6k3l3m3n3o3p3q3r3s3t3u3v3w3$Q%Q'Q(Q5W6W)Q*Q3s^SSZPh7x_S]0SF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]Q^Q:m_Q`Q{QTZ^0_0`0`S{S|S}S{0|0}0~S0t|K}K)yGi*y+yYr=p~K56gGUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbR6676aTbT86g6h6VFIzJzcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwR7W8WWFXFi6/6j6UZVZxRyRzRARBRCR9W!W$w~0PC#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5s5Y6YDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]DnqYF^D%W'W_D`DZFnYoYgChC2t6sMgiC3t4j4t5j5t7s6j7j8j9j:y;y8x9x!x#x%ANgOghd7ridKR7Y8Y{D(W|D)W9Y0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZgWZx3XZy36t7t=m=y?mLR6F|b}b~bacRh?y@y[y*W+W:ta1b1Zd0d@m[mc1d1@X[XZL]X+AMR^X_X0Lk6NROR/ZhGe1AklCBkmCbc@dudvd}D%i:68tl6weH4PRYZq0,Af1QRRR(j~D,W)jaE-W- 1e2e3e4e*jbE.W+jcE/Wm6dE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AZZYRZR0R1R]yeEfE2R8FgE?39FIE:ZJE:W9rzqMzvm=s}r_shE;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#RuXjEvXrx!F#rwXsxtx$R%RsCxXyXzXuxAXBX~r3c9 . wd'R(RCXmE@3nEn6o6p6q6r6s6z3A3B3C3D3t6u6`X1LE3F3G3H3I3J3v6w6{X2LK3L3x6y6|X3LM3N3O3P3#F!YQ3$F#YR3S3z6T3A6U3B6)R*RI4J4K4DXL4M4kb,j]c4c5c-j^c6c7c8c.j_c9cC6D6E6F6G6H6I6J6V3W3X3Y3Z30313233343536373+R,R-R.REXFX/R:R(scT0ZZh$xdTg1%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R~R|maSbScS1Zh1i1j1eTfTgThTk1l1m1iT%teLfL}yUi~yaz(rHqgL96iG(FbzdSeSfSxxyxzxViAxBxWiXiczgShS!6#6jTkT$6K6L6)FNzOziSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSGXHX*F+FM6;6N62Z3ZDSESFSGSHSISIXJXCxn1SCKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*s$Y%YJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q,FtEMXNXuEvE-FpYqYxCyC(t+s+gzC)t/j*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A,g-gjd;rkdQS'Y(YwEOXxEPX)Y.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g4Z835Z93,t-t~mhzanRS@Fccdcecfc1hizjzkzQXRX;to1p15d6dbncnq1r1}X~X4LaYbBSSbYcY5LO6TS

129 return ( 2lM$Zx0ckoBdkpB9b7d`c{cUC6i%6`sN4_d}3mMkZl08zy0nMoM'iVCDT(iWCET! `d{d|d}d)iXCFT*iYCGTO4ZClzpMqMrMsMQEtMuMqBrBsBtB~dae!zlZvMwMxMyM:x0C1CzMRE2C)3SE%ZHT(nmzom-s=r?s3CIT;x=xAM?xJTKTLTMTNTOTPTQTRTST4CTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'TBMCMDMEMFMGMHMIM(T5C)TTE*TJMKMvB+T,T-T.T/T?rLMMM:T8C*39CP4Q4R4S4T4U4s1t1u1v1w1V4W4x1y1z1A1B1C1X4Y4D1E1Z404F1G1H1I1UEDYJ1VEEYK1L114M124N134NMOM~3a4b4;Tc4d4$ +i!cwcxc,i#cyczcAc-i$cBc445464748494!4#4O1P1Q1R1S1T1U1V1W1X1Y1Z101PMQMRMSM=T?TTMUMhsmZNxz0WEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M7MJm8M9M!MnZA0B0C0D0E0F0at6K7K]x^x_x,q:n8KP6YE`x#M$M%MzuAuBuCuDu{x'M(MQ6R6S6$4%4ZEnzoz)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~M@T[T0E1E'4'6(4oZpZaNbNcNdNeNfN]T^TG0_T`TGuHuIuJuKuLuMuNu%C|xpzjsFYGYgNhNiNjNkN(z)z9K*z+zlNKm}x!d'C2E(C{T|T)C*C3E4EBBCBctks~eDBdt.iet/iftlsay/zafbf|c[q}cmNHYIY+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfqZ11rZ21gthtgkbyhknN#E!b#b$b%bdhcydyeyaUH0I0LmMmJ0K0@zoN)4pNqN'ZL0ikGBjkHB'b#d~cad-C8i(6it*4cef4rNsZm0[zM0sNtN`i.CbU{i/CcU# deeefege|i:CdU}i;CeU+4=CrzuNvNwNxN$EyNzNIBJBKBLBheie^ztZANBNCNDNfy?C@CEN%E[C+3'E(ZfUxoszrm.s@r@s]CgUgyhyFNiyhUiUjUkUlUmUnUoUpUqU^CrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUGNHNINJNKNLNMNNNNU_COU(EPUONPNNBQURUSUTUUU[rQNRNVU|C,3}C,4-4.4/4:4;43141516171=4?48191!1#1$1%1@4[4'1(1]4^4)1*1+1,1)EJY-1*EKY.1/1_4:1`4;1{4SNTNg4h4i4WUj4k4% ~i%cCcDcaj'cEcFcGcbj(cHc|4}4~4a5b5c5d5e5=1?1@1[1]1^1_1`1{1|1}1~1a2UNVNWNXNXUYUYNZNtsuZSxN0+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N$NSm%N'N(NvZO0P0Q0R0S0T0nt%K'Klymyny~qFo(KT6-Eoy)N*N+N?u@u[u]u^upy,N-NU6V6W6f5g5.Etzuz.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOZU0U/E:Eh5)6i5wZxZfOgOhOiOjOkO1U2UU03U4U{u|u}u~uavbvcvdvcDqyvzvsLYMYlOmOnOoOpO}z~z)KaAbAqOTmry'ddD;EeD5U6UfDgDhYiYSBTBptwsFfUBqtcjrtdjstxstyfAGfHfbdircdsONYOYhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfyZb2zZc2ttutmkuynktO`E(b)b*b+bnhvywyxy9U!UV0W0UmVmX0Y0kAuOj5vOwO)ZZ0okXBpkYB:b(dldmdjD!i*6vtk5kem4xOAZn0lA00yOzOnjkD#UojlD$U' GeHeIeJepjmD%UqjnD'Ul5oDwzAOBOCODO{EEOFOZB0B1B2BlemenABZGOHOIOJOyypDqDKO|ErD-3}E*Z(U)oxzsm/s]r[ssD)UzyAyLOBy*U+U,U-U.U/U:U;U=U?UtD@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVMONOOOPOQOROSOTOmVuDnV~EoVUOVO4BpVqVrVsVtV^rIcndWOXOuVxD.3yDm5n5o5p5q5r5d2e2f2g2h2s5t5i2j2k2l2m2n2u5v5o2p2w5x5q2r2s2t2aFPYu2bFQYv2w2y5x2z5y2A5YOZOn4o4p4vVq4r4hbrj*cJcKcsj+cLcMcNctj,cOcB5C5D5E5F5G5H5I5z2A2B2C2D2E2F2G2H2I2J2K2L20O1O2O3OwVxV4O5OFsCZXx10cF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*O+O1m,O-O.ODZ203040506070At-K.KEyFyGyqr;o/KX6eFHy/O:O;OQvRvSvTvUvIy=O?OY6Z606J5K5fFyzzz@O[O]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPyVzVgFhFL5+6M5EZFZlPmPnPoPpPqPAVBV80CVDVXvYvZv0v1v2v3v4vCDJyAzHsRYSYrPsPtPuPvPsAtA:KuAvAwP2mKy+dDDiFEDEVFVFDGDjYkY9B!BCtIs#f#BDtujEtvjFtJsMyzA$f%fddzredyPTYUYHDGVIDHVVYkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGZM2HZN2GtHt3mNy4mzPqF;b=b?b@bxhOyPyQyIVJV.t90!05m6m#0$0EAAPN5BPCP+Z%0sk'Btk(B[b,dodpdJD#i,6ItO5oet4DPIZo0FA'0EPFPFjKDKVGjLDLV) NeOePeQeHjMDMVIjNDNVP5ODBzGPHPIPJPrFKPLP)B*B+B,BpeqeHAJZMPNPOPPPRyPDQDQPsFRD/3tF,ZOVypCztm:s_r]sSDPVSyTyRPUyQVRVSVTVUVVVWVXVYVZVTD0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.VSPTPUPVPWPXPYPZP/VUD:VuF;V0P1P.B=V?V@V[V]V`rPcqd2P3P^VXD:3YDQ5R5S5T5U5V5O2P2Q2R2S2W5X5T2U2V2W2X2Y2Y5Z5Z202051512223242vFWY52wFXY627225823592454P5Pu4v4w4_Vx4y4ibJj.cQcRcKj/cScTcUcLj:cVc5565758595!5#5$5!2#2$2%2'2(2)2*2+2,2-2.2/26P7P8P9P`V{V!P#PRsKZ2x(0xF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:P;P$m=P?P@PLZ)0*0+0,0-0.0Nt@K[KXyYyZyHrGp]K16zF0y[P]P^Pgwhwiwjwkw1y_P`P263646%5'5AFDzEz{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQ|V}VBFCF(5-6)5MZNZrQsQtQuQvQwQ~VaW/0bWcWnwowpwqwrwswtwuw2D2yFzTsYYZYxQyQzQAQBQMANA^KOAPACQ%m3y/d3DDF4DdWeW5D6DlYmY?B@BPtUsgg[BQtMjRtNjStVs5yTAhgigfdQrgdEQ0Y1Y7DfW8DgW2YFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgOZ:2PZ;2TtUt'm6y(mFQLF]b^b_b`bHh7y8y9yhWiW/t:0;0)m*m=0?0YAGQ*5HQIQ-Z@0wk_Bxk`B{b:drdsd9D$i.6Vt+5seA4JQQZp0ZA[0KQLQXj!DjWYj#DkW+ UeVeWeXeZj$DlW0j%DmW,5'DGzMQNQOQPQMFQQRQ{B|B}B~Bteue1ARZSQTQUQVQ!y(D)DWQNF*D;3OF.ZnW*pHzum;s{r^s+DoW#y$yXQ%ypWqWrWsWtWuWvWwWxWyW,DzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWYQZQ0Q1Q2Q3Q4Q5QVW-DWWPFXW6Q7QbCYWZW0W1W2W|rWctd8Q9Q3W:D=3;D-5.5/5:5;5=5=2?2@2[2]2?5@5^2_2`2{2|2}2[5]5~2a3^5_5b3c3d3e3QF3Yf3RF4Yg3h3`5i3{5j3|5!Q#QB4C4D44WE4F4jb1j=cXcYc2j?cZc0c1c3j@c2c}5~5a6b6c6d6e6f6k3l3m3n3o3p3q3r3s3t3u3v3w3$Q%Q'Q(Q5W6W)Q*Q3sSZ7x]0SF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]Q^Q:m_Q`Q{QTZ^0_0`0{0|0}00t|K}K)y*y+yYr=p~K56UF,y|Q}Q~Q7w8w9w!w#w-yaRbR667686g6h6VFIzJzcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwR7W8WWFXFi6/6j6UZVZxRyRzRARBRCR9W!W~0#W$W'w(w)w*w+w,w-w.w[D.yKz5s5Y6YDRERFRGRHR6A7AaL8A9AIR;m/y?d]DYF^D%W'W_D`DnYoYgChC2t6sMgiC3t4j4t5j5t7s;y%ANgOghd7ridKR7Y8Y{D(W|D)W9Y0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZgWZx3XZy36t7t=m=y?mLR6F|b}b~bacRh?y@y[y*W+W:ta1b1@m[mc1d1+AMRk6NROR/Ze1AklCBkmCbc@dudvd}D%i:68tl6weH4PRYZq0,Af1QRRR(j~D,W)jaE-W- 1e2e3e4e*jbE.W+jcE/Wm6dELzSRTRURVR7FWRXRnCoCpCqCxeye.AZZYRZR0R1R]yeEfE2R8FgE?39F:Z:WzqMzvm=s}r_shE;W^y_y3R`y=W?W@W[W]W^W_W`W{W|WiE}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtX4R5R6R7R8R9R!R#RuXjEvX!FwX$R%RsCxXyXzXAXBX~r3cwd'R(RCXmE@3nEn6o6p6q6r6s6z3A3B3C3D3t6u6E3F3G3H3I3J3v6w6K3L3x6y6M3N3O3P3#F!YQ3$F#YR3S3z6T3A6U3B6)R*RI4J4K4DXL4M4kb,j]c4c5c-j^c6c7c8c.j_c9cC6D6E6F6G6H6I6J6V3W3X3Y3Z30313233343536373+R,R-R.REXFX/R:R(s0Z$xg1%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R~R|maSbScS1Zh1i1j1k1l1m1%teLfL}y~yaz(rHqgL96(FbzdSeSfSxxyxzxAxBxczgShS!6#6$6K6L6)FNzOziSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSGXHX*F+FM6;6N62Z3ZDSESFSGSHSISIXJXn1KXLXExFxGxHxIxJxKxLxrEdzPz*s$Y%YJSKSLSMSNS?A@AhL[A]AOS}mez^dsE,FtEMXNXuEvEpYqYxCyC(t+s+gzC)t/j*t:j+t,sgz{A,g-gjd;rkdQS'Y(YwEOXxEPX)Y.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g4Z835Z93,t-t~mhzanRS@Fccdcecfc1hizjzkzQXRX;to1p1bncnq1r1bBSSO6TS

130 self._type_adapter.validate_python(value, from_attributes=True), 

131 None, 

132 ) 

133 except ValidationError as exc: 2|Fckdk9b7d=tqBgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dloqz:i;i=i?i~xOxPxQxRxdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuIBicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4o=EejfjgjhjsyTxUxVxWxnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvZBkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpjFwjxjyjzjLyYxZx0x1xxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6v)BncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pEFOjPjQjRj4y3x4x5x6xHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dww{BqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnqZF6j7j8j9j:y8x9x!x#xRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wnCtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q-F;j=j?j@jfz%x'x(x)x1h5d6d}X~X4LaYbYcY5L

134 return None, _regenerate_error_with_loc( 2|Fckdk9b7d=tqBgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dloqz:i;i=i?i~xOxPxQxRxdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuIBicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4o=EejfjgjhjsyTxUxVxWxnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvZBkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpjFwjxjyjzjLyYxZx0x1xxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6v)BncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pEFOjPjQjRj4y3x4x5x6xHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dww{BqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnqZF6j7j8j9j:y8x9x!x#xRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wnCtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q-F;j=j?j@jfz%x'x(x)x1h5d6d}X~X4LaYbYcY5L

135 errors=exc.errors(include_url=False), loc_prefix=loc 

136 ) 

137 

138 def serialize( 1abcdef

139 self, 

140 value: Any, 

141 *, 

142 mode: Literal["json", "python"] = "json", 

143 include: Union[IncEx, None] = None, 

144 exclude: Union[IncEx, None] = None, 

145 by_alias: bool = True, 

146 exclude_unset: bool = False, 

147 exclude_defaults: bool = False, 

148 exclude_none: bool = False, 

149 ) -> Any: 

150 # What calls this code passes a value that already called 

151 # self._type_adapter.validate_python(value) 

152 return self._type_adapter.dump_python( 2ckoBdkpB%6N4}3O4uMom=r?sJMKMvB?rP4Q4R4S4T4U4s1t1u1v1w1V4W4x1y1z1A1B1C1X4Y4D1E1Z404F1G1H1I1UEDYJ1VEEYK1L114M124N134~3a4b4c4d4445464748494!4#4O1P1Q1R1S1T1U1V1W1X1Y1Z101WExuXEyuYE`x$4%4ZE0E1E'4'6(4oZpZFYGYHYIY5E6E7E8E9Ehfifjfkflfmf1121gthtby@zoN)4ikGBjkHB(6*4f4+4zNrm@r@sONPNNB[r,4-4.4/4:4;43141516171=4?48191!1#1$1%1@4[4'1(1]4^4)1*1+1,1)EJY-1*EKY.1/1_4:1`4;1{4g4h4i4j4k4|4}4~4a5b5c5d5e5=1?1@1[1]1^1_1`1{1|1}1~1a2+E;u,E=u-Eoyf5g5.E/E:Eh5)6i5wZxZLYMYNYOY?E@E[E]E^ENfOfPfQfRfSfb2c2ttutuykAuOj5okXBpkYB*6k5m4l5FOsm]r[sUOVO4B^rm5n5o5p5q5r5d2e2f2g2h2s5t5i2j2k2l2m2n2u5v5o2p2w5x5q2r2s2t2aFPYu2bFQYv2w2y5x2z5y2A5n4o4p4q4r4B5C5D5E5F5G5H5I5z2A2B2C2D2E2F2G2H2I2J2K2L2cFOvdFPveFHyJ5K5fFgFhFL5+6M5EZFZRYSYTYUYVYkFlFmFnFoF,f-f.f/f:f;fM2N2GtHtNy.tEAAPN5sk'Btk(B,6O5t4P5LPtm_r]s0P1P.B`rQ5R5S5T5U5V5O2P2Q2R2S2W5X5T2U2V2W2X2Y2Y5Z5Z202051512223242vFWY52wFXY62722582359245u4v4w4x4y45565758595!5#5$5!2#2$2%2'2(2)2*2+2,2-2.2/2xFewyFfwzF0y%5'5AFBFCF(5-6)5MZNZYYZY0Y1Y2YFFGFHFIFJFogpgqgrgsgtg:2;2TtUt6y/tYAGQ*5wk_Bxk`B.6+5A4,5RQum{r^s6Q7QbC|r-5.5/5:5;5=5=2?2@2[2]2?5@5^2_2`2{2|2}2[5]5~2a3^5_5b3c3d3e3QF3Yf3RF4Yg3h3`5i3{5j3|5B4C4D4E4F4}5~5a6b6c6d6e6f6k3l3m3n3o3p3q3r3s3t3u3v3w3SF5wTF6wUF,yg6h6VFWFXFi6/6j6UZVZ5Y6Y7Y8Y9Y0F1F2F3F4FUgVgWgXgYgZgx3y36t7t=y:t+AMRk6AklCBkmC:6l6H4m6XRvm}r_s$R%RsC~rn6o6p6q6r6s6z3A3B3C3D3t6u6E3F3G3H3I3J3v6w6K3L3x6y6M3N3O3P3#F!YQ3$F#YR3S3z6T3A6U3B6I4J4K4L4M4C6D6E6F6G6H6I6J6V3W3X3Y3Z30313233343536373%Fvx'Fwx(FbzK6L6)F*F+FM6;6N62Z3Z$Y%Y'Y(Y)Y.F/F:F;F=F?g@g[g]g^g_g8393,t-thz;tbBSSO6

153 value, 

154 mode=mode, 

155 include=include, 

156 exclude=exclude, 

157 by_alias=by_alias, 

158 exclude_unset=exclude_unset, 

159 exclude_defaults=exclude_defaults, 

160 exclude_none=exclude_none, 

161 ) 

162 

163 def __hash__(self) -> int: 1abcdef

164 # Each ModelField is unique for our purposes, to allow making a dict from 

165 # ModelField to its JSON Schema. 

166 return id(self) 2Ek|g-e.e9ntnun!n#npTvnFkwn$q/e9zGkm n o p q r s lbHk$n%nIk~g'n:e5h)n8d9d'qCC*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q%z;n=n?nOkzn'z.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQkiLjLdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpoqocfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfroAnBnsotoqTCn5kDn]qrf]z6kt u v w x y z mb7kuovo8kjhwosf6hyo$d%d_qFCzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar{zGoHoIo'kGn|zbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)klLmLWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o9oIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWf!oHnIn#o$orTJn_kKnjrXfmA`kA B C D E F G nb{k%o'o|kth(oYf7h*o)d*dlrIC+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frrqA=o?o@odlNnrAsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffloLpLep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqprpql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fspOnPntpupsTQnvlRnAr]fGAwlH I J K L M N obxlvpwpylDhxp^f8hzp-d.dCrLCAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIrKAHpIpJpElUnLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGlrLsLXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9p!pRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxg#pVnWn$p%ptTXnWlYnRryg0AXlO P Q R S T U pbYl'p(pZlNh)pzg9h+p;d=dTrOC,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr4A?p@p[p5l1n5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7luLvLfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrqsq+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3gtq2n3nuqvquT4n:l5n8r4g-A;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq[d]d!rRCBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)r;AIqJqKq`l8n=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lxLyLYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!q#qim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

167 

168 def get_annotation_from_field_info( 1abcdef

169 annotation: Any, field_info: FieldInfo, field_name: str 

170 ) -> Any: 

171 return annotation 2a 9b`c{c6i_d! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7i2939495969798999!9#9rYom-s=r8d9d?s?r$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ice# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9i$9%9'9(9)9*9+9,9-9.9sYrm.s@r$d%d@s[r% h mknkeb(b)bfb*b+bymzmgbc :bldmd!ike' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{j/9:9;9=9?9@9[9]9^9_9tYsm/s]r)d*d[s^rmc,bIc6 2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#ioe) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|j`9{9|9}9~9a!b!c!d!e!uYtm:s_r-d.d]s`rpc-bPc7 3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$ise+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jf!g!h!i!j!k!l!m!n!o!vYum;s{r;d=d^s|rsc.bWc8 4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iwe- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jp!q!r!s!t!u!v!w!x!y!wYvm=s}r[d]d_s~rvc/b3c9 5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

172 

173 def _normalize_errors(errors: Sequence[Any]) -> List[Dict[str, Any]]: 1abcdef

174 return errors # type: ignore[return-value] 2|Fckdk9b7d8z'i(i/ : ; = ? @ [ ] )i*i}g=tqBgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~sasbstucs(quuvudsesfsgswu6C7CekfkSXCLTXDLUXEL!cwcxc#cyczcAc$cBcUSbhVSEmFmGmHmIm)qJm*q+qWSXS[FYSZS0Sat%h,q:n}F'h(h)h1S2S:q=q?qEuDCFu+h,h-h.h/hbtfoOuhoKm!dloqzAeBexdyd:i;i=i?i~xOxPxQxRx:hafbf;hzd|cAd}cdhBdCdVXWXFLXXYXZXGL` ~Fikjk'b#d[z`i{i{ | } ~ abbbcbdb|i}iihPuIBicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmtmsns-uos`q.u/upsqsrsss:u`C{Ckklk0XHL1XIL2XJL%cCcDc'cEcFcGc(cHc3Slh4SNmOmPmQmRm{qSm|q}q5S6S]F7S8S9Snt@h~qFoaG[h]h^h!S#Sdrfrgr_uGC`u`h{h|h}h~hotYoev0oTm'd4o=EDeEeDdEdejfjgjhjsyTxUxVxWxaiGfHfbiFdbdGdcdnhHdId3X4XKL5X6X7XLLgbbGokpk:b(dlAnjojrbsbtbubvbwbxbybpjqjshfvZBkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztyszsKvAsmrLvMvBsCsDsEsNv6 ( vDwDqkrk8XML9XNL!XOL*cJcKc+cLcMcNc,cOc$Svh%SWmXmYmZm0mnr1morpr'S(S^F)S*S+SAteiqr;ocGfigihi,S-SurwrxrVvJCWvjikiliminiBtgp5vip2m+dmpjFKeLeJdKdwjxjyjzjLyYxZx0x1xoi$f%fpiLdddMdedxhNdOd#X$XPL%X'X(XQLBbdGsktk[b,dFAFjGjCbDbEbFbGbHbIbJbHjIjCh6v)BncoctFEEFEBr7v8v9v!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~vJtKtLtMtKsLsawMsDrbwcwNsOsPsQsdw7 * VDWDukvk)XRL*XSL+XTL.cQcRc/cScTcUc:cVc.SFh/S7m8m9m!m#mEr$mFrGr:S;S_F=S?S@SNtsiHrGpeGtiuivi[S]SLrNrOrlwMCmwxiyiziAiBiOtZpvw1p%m/d5pEFReSePdQdOjPjQjRj4y3x4x5x6xCihgigDiRdfdSdgdHhTdUd,X-XUL.X/X:XVLMbfGwkxk{b:dZAXjYjNbObPbQbRbSbTbUbZj0jMhww{BqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZtWsXs1wYsUr2w3wZs0s1s2s4w8 , .D/Dykzk;XWL=XXL?XYL=cXcYc?cZc0c1c@c2c^SPh_S+m,m-m.m/mVr:mWrXr`S{S`F|S}S~S0tGiYr=pgGHiIiJiaTbT2r4r5r$wPC%wLiMiNiOiPi1thq/wjq;m?dnqZFYeZeVdWd6j7j8j9j:y8x9x!x#xQiNgOgRiXdhdYdidRhZd0d@X[XZL]X^X_X0LXbhGAkBkbc@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh:wnCtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$t8s9srx!s#rsxtx#s$s%s'sux9 . kElECkDk`X1L{X2L|X3L]c4c5c^c6c7c8c_c9ccTZhdT]m^m_m`m{m$r|m%r'reTfT{FgThTiT%tUi(rHqiGViWiXijTkT,r.r/rCxSCDxZi0i1i2i3i't0qMx2q}m^d6q-F5e6e1d2d;j=j?j@jfz%x'x(x)x4i,g-g5i3djd4dkd1h5d6d}X~X4LaYbYcY5L8b

175 

176 def _model_rebuild(model: Type[BaseModel]) -> None: 1abcdef

177 model.model_rebuild() 1abcdef

178 

179 def _model_dump( 1abcdef

180 model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any 

181 ) -> Any: 

182 return model.model_dump(mode=mode, **kwargs) 2Ekx0|gvG-e.e9ntnun!n#npTwGvnkZl0Fky0xGwn$qlz/eQE9z~daeGkm n o p q r s lbyGlZHk$n%nz!A!=6?6@6[6]6^6_6Ik~g%Z'n(n:e5h)nzG-s8d9dAG'qCC*n+n,n-nJk!exnyn`6#h{6|6}6$h$ g BG~6CGa7DGb7EGc7FGd7GGe7HGf7IGg7JGh7KGLGMGNGOGPGQGRGSGTGUGVGKki7j7WGXGLkk7l7Mkm7n7YGZG0Go7p71Gq7r72Gs7t7.n;emZahz0=e?e@e[e3G4G5G6G/nnZA0B0C0NkD0E0F06K7K]e^e]x_e8K-q%z`x;ZzuAuBu;nCuDu=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPkG0{nGuHuIu|nJuKu}nLuMuNu~naoboco*G+G,G|eQk-G.G/GiL:G;G=ZB!=GjL?Gdo}eeo(z)z9Kgo*z+ziojokomonoooECABRkSkTkUkVkWklskLayXkYkZk0kpo@Gqocfdfef:z!Eff;zgf=z[G1ku72k]GqZEBrZFBnfof^G_G`G{GehH0I0fhLmMmghJ0K03k4kL0hh|GpfqfroAnBnsotoqT}GCnsZm05kM0~GDn]qrzrf$E]zheie6kt u v w x y z mbaHtZ7kuovoC!D!v7w7x7y7z7A7B78kjh(Zwoxosf6hyobH.s$d%dcH_qFCzoAoBoCo9k#eEnFnC7=hD7E7F7?h% h dHG7eHH7fHI7gHJ7hHK7iHL7jHM7kHN7lHO7mHnHoHpHqHrHsHtHuHvHwHxH!kP7Q7yHzH#kR7S7$kT7U7AHBHCHV7W7DHX7Y7EHZ707DotfuZkhN0ufvfwfxfFHGHHHIHEovZO0P0Q0%kR0S0T0%K'KyfzflyAf(Kar{zoy?Z?u@u[uGo]u^uHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kU0Po{u|u}uQo~uavRobvcvdvSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@ZE!1HmL2HWoEfXo}z~z)KZoaAbA1o2o3o5o6o7oHCRB*k+k,k-k.k/kxsnLty:k;k=k?k8o3H9oIfJfKfgA_ELfhAMfiA4H@k17[k5HyZVBzZWBTfUf6H7H8H9HohV0W0phUmVmqhX0Y0]k^kZ0rh!HVfWf!oHnIn#o$orT#HJnAZn0_k00$HKnjrwzXf{EmAleme`kA B C D E F G nb%HBZ{k%o'oF!G!27374757677787|kth*Z(o)oYf7h*o'H/s)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMn97ci!7#7$7dihbi )H%7*H'7+H(7,H)7-H*7.H+7/H,7:H-7;H.7=H?H@H[H]H^H_H`H{H|H}H~H~k/7:7aIbIal;7=7bl?7@7cIdIeI[7]7fI^7_7gI`7{7/oZfCZuh100f1f2f3fhIiIjIkI:oDZ203040cl506070-K.K4f5fEy6f/KrrqAHy[ZQvRvSv=oTvUv?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel80|oXvYvZv}o0v1v~o2v3v4vapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZH!DIpLEIep!ffpsAtA:KhpuAvAjpkplpnpopppKC8BglhliljlklllJsqLMymlnlolplqpFIrpql'f(f)fAApF*fBA+fCAGIrl|7slHIGZ$BHZ%B=f?fIIJIKILIyh90!0zh5m6mAh#0$0tlul%0BhMI@f[fspOnPntpupsTNIQnIZo0vl'0OIRnArBz]frFGApeqewlH I J K L M N obPIJZxlvpwpI!J!}7~7a8b8c8d8e8ylDh,Zxpyp^f8hzpQI:s-d.dRICrLCAp-b3 BpCpDpzl%eSnTnf8qig8h8i8riibj SIj8TIk8UIl8VIm8WIn8XIo8YIp8ZIq80Ir81I2I3I4I5I6I7I8I9I!I#I$IAls8t8%I'IBlu8v8Clw8x8(I)I*Iy8z8+IA8B8,IC8D8Ep_fKZEh(0`f{f|f}f-I.I/I:IFpLZ)0*0+0Dl,0-0.0@K[K~fagXybg]KIrKA0y^ZgwhwiwHpjwkwIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFl/0QpnwowpwRpqwrwSpswtwuwTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZK!fJsLgJXpfgYpMANA^K0pOAPA2p3p4p6p7p8pNC=BHlIlJlKlLlMlVstL5yNlOlPlQl9phJ!pRljgkglgUAKFmgVAngWAiJSlE8TljJOZ]BPZ^BugvgkJlJmJnJIh:0;0Jh)m*mKh=0?0UlVl@0LhoJwgxg#pVnWn$p%ptTpJXnQZp0Wl[0qJYnRrGzygMF0AteueXlO P Q R S T U pbrJRZYl'p(pL!M!F8G8H8I8J8K8L8ZlNh.Z)p*pzg9h+psJ;s;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nM8EiN8O8P8Fijbk uJQ8vJR8wJS8xJT8yJU8zJV8AJW8BJX8CJY8DJEJFJGJHJIJJJKJLJMJNJOJ1lZ808PJQJ2l18283l3848RJSJTJ5868UJ7888VJ98!8:pAgSZOh]0BgCgDgEgWJXJYJZJ;pTZ^0_0`04l{0|0}0|K}KFgGg)yHg~KZr4A,y`Z7w8w9w?p!w#w@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l~0}p'w(w)w~p*w+waq,w-w.wbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{ZN!+JvL,JfqLggq6A7AaLiq8A9AkqlqmqoqpqqqQCfC8l9l!l#l$l%l7swL;y'l(l)l*lrq-Jsq+lPgQgRg'A5FSg(ATg)A.J,l#8-l/JWZjCXZkC0g1g:J;J=J?JSha1b1Th@m[mUhc1d1.l/le1Vh@J2g3gtq2n3nuqvquT[J4nYZq0:lf1]J5n8rLz4g7F-Axeye;lV W X Y Z 0 1 qb^JZZ=lwqxqO!P!$8%8'8(8)8*8+8?lXh:Zyqzq5g!hAq_J=s[d]d`J!rRCBq/b5 CqDqEq@l(e6n7n,8Si-8.8/8Tikbl {J:8|J;8}J=8~J?8aK@8bK[8cK]8dK^8eK_8fKgKhKiKjKkKlKmKnKoKpKqK[l`8{8rKsK]l|8}8^l~8a9tKuKvKb9c9wKd9e9xKf9g9Fq6g0ZYhg17g8g9g!gyKzKAKBKGq1Zh1i1j1_lk1l1m1eLfL#g$g}y%ggL)r;Abz|ZxxyxzxIqAxBxJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{ln1RqExFxGxSqHxIxTqJxKxLxUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZQ!UKyLVKYq*gZq?A@AhL1q[A]A3q4q5q7q8q9qTCwC}l~lambmcmdm,szLgzemfmgmhm!qWK#qim.g/g:g|A?F;g}A=g~AXKjmh9kmYK4ZAC5ZBC`g{gZK0K1K2K2ho1p13hbncn4hq1r1lm

183 

184 def _get_model_config(model: BaseModel) -> Any: 1abcdef

185 return model.model_config 2R!S!T!U!V!W!

186 

187 def get_schema_from_model_field( 1abcdef

188 *, 

189 field: ModelField, 

190 schema_generator: GenerateJsonSchema, 

191 model_name_map: ModelNameMap, 

192 field_mapping: Dict[ 

193 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

194 ], 

195 separate_input_output_schemas: bool = True, 

196 ) -> Dict[str, Any]: 

197 override_mode: Union[Literal["validation"], None] = ( 2Ek|g-e.e9ntnun!n#npTvnFkwn$q/e9zGkm n o p q r s lbHk$n%nIk~g'n:e5h)n8d9d'q*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q%z;n=n?nOkzn'z.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQkiLjLdo}eeogoiojokomonoooABRkSkTkUkVkWkkLXkYkZk0kpoqocfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfroAnBnsotoqTCn5kDn]qrf]z6kt u v w x y z mb7kuovo8kjhwosf6hyo$d%d_qzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar{zGoHoIo'kGn|zbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)klLmLWoEfXoZo1o2o3o5o6o7oRB*k+k,k-k.k/knL:k;k=k?k8o9oIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWf!oHnIn#o$orTJn_kKnjrXfmA`kA B C D E F G nb{k%o'o|kth(oYf7h*o)d*dlr+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frrqA=o?o@odlNnrAsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffloLpLep!ffphpjpkplpnpoppp8BglhliljlklllqLmlnlolplqprpql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fspOnPntpupsTQnvlRnAr]fGAwlH I J K L M N obxlvpwpylDhxp^f8hzp-d.dCrAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIrKAHpIpJpElUnLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGlrLsLXpfgYp0p2p3p4p6p7p8p=BHlIlJlKlLlMltLNlOlPlQl9p!pRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxg#pVnWn$p%ptTXnWlYnRryg0AXlO P Q R S T U pbYl'p(pZlNh)pzg9h+p;d=dTr,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr4A?p@p[p5l1n5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7luLvLfqLggqiqkqlqmqoqpqqqfC8l9l!l#l$l%lwL'l(l)l*lrqsq+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3gtq2n3nuqvquT4n:l5n8r4g-A;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq[d]d!rBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)r;AIqJqKq`l8n=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lxLyLYq*gZq1q3q4q5q7q8q9qwC}l~lambmcmdmzLemfmgmhm!q#qim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

198 None if separate_input_output_schemas else "validation" 

199 ) 

200 # This expects that GenerateJsonSchema was already used to generate the definitions 

201 json_schema = field_mapping[(field, override_mode or field.mode)] 2Ek|g-e.e9ntnun!n#npTvnFkwn$q/e9zGkm n o p q r s lbHk$n%nIk~g'n:e5h)n8d9d'q*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q%z;n=n?nOkzn'z.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQkiLjLdo}eeogoiojokomonoooABRkSkTkUkVkWkkLXkYkZk0kpoqocfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfroAnBnsotoqTCn5kDn]qrf]z6kt u v w x y z mb7kuovo8kjhwosf6hyo$d%d_qzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar{zGoHoIo'kGn|zbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)klLmLWoEfXoZo1o2o3o5o6o7oRB*k+k,k-k.k/knL:k;k=k?k8o9oIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWf!oHnIn#o$orTJn_kKnjrXfmA`kA B C D E F G nb{k%o'o|kth(oYf7h*o)d*dlr+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frrqA=o?o@odlNnrAsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffloLpLep!ffphpjpkplpnpoppp8BglhliljlklllqLmlnlolplqprpql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fspOnPntpupsTQnvlRnAr]fGAwlH I J K L M N obxlvpwpylDhxp^f8hzp-d.dCrAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIrKAHpIpJpElUnLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGlrLsLXpfgYp0p2p3p4p6p7p8p=BHlIlJlKlLlMltLNlOlPlQl9p!pRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxg#pVnWn$p%ptTXnWlYnRryg0AXlO P Q R S T U pbYl'p(pZlNh)pzg9h+p;d=dTr,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr4A?p@p[p5l1n5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7luLvLfqLggqiqkqlqmqoqpqqqfC8l9l!l#l$l%lwL'l(l)l*lrqsq+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3gtq2n3nuqvquT4n:l5n8r4g-A;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq[d]d!rBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)r;AIqJqKq`l8n=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lxLyLYq*gZq1q3q4q5q7q8q9qwC}l~lambmcmdmzLemfmgmhm!q#qim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

202 if "$ref" not in json_schema: 2Ek|g-e.e9ntnun!n#npTvnFkwn$q/e9zGkm n o p q r s lbHk$n%nIk~g'n:e5h)n8d9d'q*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q%z;n=n?nOkzn'z.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQkiLjLdo}eeogoiojokomonoooABRkSkTkUkVkWkkLXkYkZk0kpoqocfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfroAnBnsotoqTCn5kDn]qrf]z6kt u v w x y z mb7kuovo8kjhwosf6hyo$d%d_qzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar{zGoHoIo'kGn|zbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)klLmLWoEfXoZo1o2o3o5o6o7oRB*k+k,k-k.k/knL:k;k=k?k8o9oIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWf!oHnIn#o$orTJn_kKnjrXfmA`kA B C D E F G nb{k%o'o|kth(oYf7h*o)d*dlr+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frrqA=o?o@odlNnrAsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffloLpLep!ffphpjpkplpnpoppp8BglhliljlklllqLmlnlolplqprpql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fspOnPntpupsTQnvlRnAr]fGAwlH I J K L M N obxlvpwpylDhxp^f8hzp-d.dCrAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIrKAHpIpJpElUnLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGlrLsLXpfgYp0p2p3p4p6p7p8p=BHlIlJlKlLlMltLNlOlPlQl9p!pRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxg#pVnWn$p%ptTXnWlYnRryg0AXlO P Q R S T U pbYl'p(pZlNh)pzg9h+p;d=dTr,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr4A?p@p[p5l1n5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7luLvLfqLggqiqkqlqmqoqpqqqfC8l9l!l#l$l%lwL'l(l)l*lrqsq+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3gtq2n3nuqvquT4n:l5n8r4g-A;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq[d]d!rBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)r;AIqJqKq`l8n=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lxLyLYq*gZq1q3q4q5q7q8q9qwC}l~lambmcmdmzLemfmgmhm!q#qim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

203 # TODO remove when deprecating Pydantic v1 

204 # Ref: https://github.com/pydantic/pydantic/blob/d61792cc42c80b13b23e3ffa74bc37ec7c77f7d1/pydantic/schema.py#L207 

205 json_schema["title"] = ( 2|g-e.e9n!n#n$q/e9zm n o p q r s $n%n~g'n:e)n8d9d'q*n+n,n-n!e#h$hg .n;eah=e?e@e[e/n]e^e_e-q%z;n=n?n'z.q/q;q@q@n[n`e{e*hisch]n^n_n`n{n|n}n~naoboco|edoeogoiojokomonoooABpoqocfdfef:zffgfEBFBnfofehfhghhhpfqfrosoto]qrf]zt u v w x y z uovojhwosfyo$d%d_qzoAoBoCo#e=h?hh DotfkhufvfwfxfEoyfzfAfar{zGoHoIo|zbrcrerhrJoKoBfCf_husmhLoMoNoOoPoQoRoSoToUoVoDfWoXoZo1o2o3o5o6o7oRB8o9oIfJfKfgALfMfVBWBTfUfohphqhrhVfWf!o#o$ojrXfmAA B C D E F G %o'oth(oYf*o)d*dlr+o2 ,o-o.o$ecidii /oZfuh0f1f2f3f:o4f5f6frrqA=o?o@orAsrtrvryr[o]o7f8fiiGswh^o_o`o{o|o}o~oapbpcpdp9fepfphpjpkplpnpoppp8Bqprp'f(f)fAA*f+f$B%B=f?fyhzhAhBh@f[fsptpupAr]fGAH I J K L M N vpwpDhxp^fzp-d.dCrAp3 BpCpDp%eqirij Ep_fEh`f{f|f}fFp~fagbgIrKAHpIpJpLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpQpRpSpTpUpVpWpegXpYp0p2p3p4p6p7p8p=B9p!pjgkglgUAmgng]B^BugvgIhJhKhLhwgxg#p$p%pRryg0AO P Q R S T U 'p(pNh)pzg+p;d=dTr,p4 -p.p/p'eEiFik :pAgOhBgCgDgEg;pFgGgHgZr4A?p@p[p5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p}p~paqbqcqdqeqKgfqgqiqkqlqmqoqpqqqfCrqsqPgQgRg'ASgTgjCkC0g1gShThUhVh2g3gtquqvq8r4g-AV W X Y Z 0 1 wqxqXhyq5gAq[d]d!rBq5 CqDqEq(eSiTil Fq6gYh7g8g9g!gGq#g$g%g)r;AIqJqKq=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQqRqSqTqUqVqWqXq)gYqZq1q3q4q5q7q8q9qwC!q#q.g/g:g|A;g=gACBC`g{g2h3h4h

206 field.field_info.title or field.alias.title().replace("_", " ") 

207 ) 

208 return json_schema 2Ek|g-e.e9ntnun!n#npTvnFkwn$q/e9zGkm n o p q r s lbHk$n%nIk~g'n:e5h)n8d9d'q*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q%z;n=n?nOkzn'z.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQkiLjLdo}eeogoiojokomonoooABRkSkTkUkVkWkkLXkYkZk0kpoqocfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfroAnBnsotoqTCn5kDn]qrf]z6kt u v w x y z mb7kuovo8kjhwosf6hyo$d%d_qzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar{zGoHoIo'kGn|zbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)klLmLWoEfXoZo1o2o3o5o6o7oRB*k+k,k-k.k/knL:k;k=k?k8o9oIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWf!oHnIn#o$orTJn_kKnjrXfmA`kA B C D E F G nb{k%o'o|kth(oYf7h*o)d*dlr+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frrqA=o?o@odlNnrAsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffloLpLep!ffphpjpkplpnpoppp8BglhliljlklllqLmlnlolplqprpql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fspOnPntpupsTQnvlRnAr]fGAwlH I J K L M N obxlvpwpylDhxp^f8hzp-d.dCrAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIrKAHpIpJpElUnLAJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGlrLsLXpfgYp0p2p3p4p6p7p8p=BHlIlJlKlLlMltLNlOlPlQl9p!pRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxg#pVnWn$p%ptTXnWlYnRryg0AXlO P Q R S T U pbYl'p(pZlNh)pzg9h+p;d=dTr,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr4A?p@p[p5l1n5A0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7luLvLfqLggqiqkqlqmqoqpqqqfC8l9l!l#l$l%lwL'l(l)l*lrqsq+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3gtq2n3nuqvquT4n:l5n8r4g-A;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq[d]d!rBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)r;AIqJqKq`l8n=A*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lxLyLYq*gZq1q3q4q5q7q8q9qwC}l~lambmcmdmzLemfmgmhm!q#qim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

209 

210 def get_compat_model_name_map(fields: List[ModelField]) -> ModelNameMap: 1abcdef

211 return {} 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

212 

213 def get_definitions( 1abcdef

214 *, 

215 fields: List[ModelField], 

216 schema_generator: GenerateJsonSchema, 

217 model_name_map: ModelNameMap, 

218 separate_input_output_schemas: bool = True, 

219 ) -> Tuple[ 

220 Dict[ 

221 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

222 ], 

223 Dict[str, Dict[str, Any]], 

224 ]: 

225 override_mode: Union[Literal["validation"], None] = ( 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

226 None if separate_input_output_schemas else "validation" 

227 ) 

228 inputs = [ 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

229 (field, override_mode or field.mode, field._type_adapter.core_schema) 

230 for field in fields 

231 ] 

232 field_mapping, definitions = schema_generator.generate_definitions( 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

233 inputs=inputs 

234 ) 

235 for item_def in cast(Dict[str, Dict[str, Any]], definitions).values(): 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

236 if "description" in item_def: 2Ek|g-e.etnunpTvnFkwn/e9zGkm n o p q r s lbHkIk~g:e5h8d9dJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e%zOkzn'z`e{e*hchPk|eQkiLjL}eRkSkTkUkVkWkkLXkYkZk0kcfdfef:zffgf1k2kEBFBnfofehfhgh3k4khhpfqfAnBnqTCn5kDnrf]z6kt u v w x y z mb7k8kjhsf6h$d%d9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf{z'kGn|zBfCf_hmh(kDf)klLmLEf*k+k,k-k.k/knL:k;k=k?kIfJfKfgALfMf@k[kVBWBTfUfohphqh]k^krhVfWfHnInrTJn_kKnXfmA`kA B C D E F G nb{k|kthYf7h)d*d,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6fqAdlNnrA7f8fiiwhel9ffloLpL!fglhliljlklllqLmlnlolplql'f(f)fAA*f+frlsl$B%B=f?fyhzhAhtlulBh@f[fOnPnsTQnvlRn]fGAwlH I J K L M N obxlylDh^f8h-d.d-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbgKAElUnLAcgdgwiGhFlegGlrLsLfgHlIlJlKlLlMltLNlOlPlQlRljgkglgUAmgngSlTl]B^BugvgIhJhKhUlVlLhwgxgVnWntTXnWlYnyg0AXlO P Q R S T U pbYlZlNhzg9h;d=d.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg4A5l1n5AIgJgKiQh6lKg7luLvLLg8l9l!l#l$l%lwL'l(l)l*l+lPgQgRg'ASgTg,l-ljCkC0g1gShThUh.l/lVh2g3g2n3nuT4n:l5n4g-A;lV W X Y Z 0 1 qb=l?lXh5g!h[d]d/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%g;A`l8n=A'g(gYi0h{l)g|lxLyL*g}l~lambmcmdmzLemfmgmhmim.g/g:g|A;g=gjmkmACBC`g{g2h3h4hlm

237 item_description = cast(str, item_def["description"]).split("\f")[0] 25h!e6h#e7h$e8h%e9h'e!h(e

238 item_def["description"] = item_description 25h!e6h#e7h$e8h%e9h'e!h(e

239 return field_mapping, definitions # type: ignore[return-value] 2Ek|gvGvT-e.e9ntnun!n#npTwGvnFkxGwn$q/e9zGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzG8d9dAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q%z;Z;n=n?n7G8G9G!G#G$G%GOkzn'z.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/GiL:G;G=Z=GjL?Gdo}eeogoiojokomonoooECABRkSkTkUkVkWkkLXkYkZk0kpo@Gqocfdfef:zffgf[G1k2k]GEBFBnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsotoqT}GCn5k~GDn]qrf]z6kt u v w x y z mbaH7kuovo8kjhwosf6hyobH$d%dcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar{z?ZGoHoIoJHKHLHMHNHOHPH'kGn|zbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYHlLZH0H@Z1HmL2HWoEfXoZo1o2o3o5o6o7oHCRB*k+k,k-k.k/knL:k;k=k?k8o3H9oIfJfKfgALfMf4H@k[k5HVBWBTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$orT#HJn_k$HKnjrXfmA`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H)d*d(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frrqA[Z=o?o@olImInIoIpIqIrIdlNnrAsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAIoLBICI]ZDIpLEIep!ffphpjpkplpnpopppKC8BglhliljlklllqLmlnlolplqpFIrpql'f(f)fAA*f+fGIrlslHI$B%B=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupsTNIQnvlOIRnAr]fGAwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQI-d.dRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIrKA^ZHpIpJp;I=I?I@I[I]I^IElUnLAJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJrLdJeJ_ZfJsLgJXpfgYp0p2p3p4p6p7p8pNC=BHlIlJlKlLlMltLNlOlPlQl9phJ!pRljgkglgUAmgngiJSlTljJ]B^BugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ptTpJXnWlqJYnRryg0AXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJ;d=dtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr4A`Z?p@p[p0J1J2J3J4J5J6J5l1n5A0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JuL)J*J{Z+JvL,JfqLggqiqkqlqmqoqpqqqQCfC8l9l!l#l$l%lwL'l(l)l*lrq-Jsq+lPgQgRg'ASgTg.J,l-l/JjCkC0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvquT[J4n:l]J5n8r4g-A;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J[d]d`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)r;A|ZIqJqKqCKDKEKFKGKHKIK`l8n=A*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKxLSKTK}ZUKyLVKYq*gZq1q3q4q5q7q8q9qTCwC}l~lambmcmdmzLemfmgmhm!qWK#qim.g/g:g|A;g=gXKjmkmYKACBC`g{gZK0K1K2K2h3h4hlm

240 

241 def is_scalar_field(field: ModelField) -> bool: 1abcdef

242 from fastapi import params 2a 9b`c{cak! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbk# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgbc :bldmdAm' rbsbGetbubHevbIewbxbJeybjGkGlTcBdBeBlGdnen)e{j2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBm) CbDbNeEbFbOeGbPeHbIbQeJbmGnGmTfBgBhBoGfngn*e|j3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCm+ NbObUePbQbVeRbWeSbTbXeUbpGqGnTiBjBkBrGhnin+e}j4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDm- YbZb1e0b1b2e2b3e3b4b4e5bsGtGoTlBmBnBuGjnkn,e~j5 . [cwdkbl ~man6bccdc7becfcrnsn8b

243 

244 return field_annotation_is_scalar( 2a 9b`c{cak! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbk# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgbc :bldmdAm' rbsbGetbubHevbIewbxbJeybjGkGlTcBdBeBlGdnen)e{j2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBm) CbDbNeEbFbOeGbPeHbIbQeJbmGnGmTfBgBhBoGfngn*e|j3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCm+ NbObUePbQbVeRbWeSbTbXeUbpGqGnTiBjBkBrGhnin+e}j4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDm- YbZb1e0b1b2e2b3e3b4b4e5bsGtGoTlBmBnBuGjnkn,e~j5 . [cwdkbl ~man6bccdc7becfcrnsn8b

245 field.field_info.annotation 

246 ) and not isinstance(field.field_info, params.Body) 

247 

248 def is_sequence_field(field: ModelField) -> bool: 1abcdef

249 return field_annotation_is_sequence(field.field_info.annotation) 2lMckoBdkpB9b7d`c{cUC`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zvMwMxMyM:x0C#z1CzMRE2CHT%q(nmz3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/TLMMM:Tek8Cfk9CUEVENMOM;T$ +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoN` pNqNikGBjkHB'b#d~cad-CitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^zANBNCNDNfy?C_z@CEN%E[CfU^qxosz]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUUQNRNVUkk|Clk}C)E*ESNTNWU% ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOgbvOwOokXBpkYB:b(dldmdjDvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenAGOHOIOJOyypDoAqDKO|ErD(Ukr)oxzsDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtVmcIc6 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbrj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJVNdOd5m6mEAAPBbBPCPsk'Btk(B[b,dodpdJDItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAMPNPOPPPRyPDIAQDQPsFRDOVBrypCzSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]VpcPc7 * -cqd2P3P^VukXDvkYDvFwF4P5P_VibJj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiWTdUd)m*mYAGQMbHQIQwk_Bxk`B{b:drdsd9DVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1ASQTQUQVQ!y(D2A)DWQNF*DnWSr*pHz+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2WscWc8 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjb1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+WZd0d@m[m+AMRXbNRORAklCBkmCbc@dudvd}D8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AYRZR0R1R]yeE/AfE2R8FgE:W9rzqMzhE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBXvc3c9 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkb,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX5d6dbncnbBSS8bTS

250 

251 def is_scalar_sequence_field(field: ModelField) -> bool: 1abcdef

252 return field_annotation_is_scalar_sequence(field.field_info.annotation) 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

253 

254 def is_bytes_field(field: ModelField) -> bool: 1abcdef

255 return is_bytes_or_nonable_bytes_annotation(field.type_) 2`s_dAeBBBeCBctksbe~eCeDBdtxd.iydet/iftzd|c[qAd}citceDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstFdbdirGdcdvtkeKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtLdddzrMdedItoeRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStRdfdQrSdgdVtseYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5tXdhd7rYdid8twe5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t3djd;r4dkd

256 

257 def is_bytes_sequence_field(field: ModelField) -> bool: 1abcdef

258 return is_bytes_sequence_annotation(field.type_) 2`s_drBsBtB~dgchcae!z+i!cwcxc,i#cyczcAc-i$cBcbhNxAeBectbe~eCedtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}c@i[i]ihf^i_iifjfkflfmfBdCdLmMmitceJBKBLBheicjcie^z~i%cCcDcaj'cEcFcGcbj(cHclhSxDeEeptjeFfFeqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdijjjkjNfljmjOfPfQfRfSfHdIdUmVmvtke0B1B2BlekclcmenAmcIc6 rj*cJcKcsj+cLcMcNctj,cOcvhXxKeLeCtne#fMeDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedAjBjCj,fDjEj-f.f/f:f;fNdOd5m6mItoe*B+B,BpencocqeHApcPc7 Jj.cQcRcKj/cScTcUcLj:cVcFh2xReSePtreggTeQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdSjTjUjogVjWjpgqgrgsgtgTdUd)m*mVtse|B}B~Bteqcrcue1AscWc8 1j=cXcYc2j?cZc0c1c3j@c2cPh7xYeZe2tveMg0e3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdid!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m8tweoCpCqCxetcucye.Avc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cZh$x5e6e(tze+g7e)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkd[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

259 

260 def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcdef

261 cls = type(field_info) 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

262 merged_field_info = cls.from_annotation(annotation) 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

263 new_field_info = copy(field_info) 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

264 new_field_info.metadata = merged_field_info.metadata 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

265 new_field_info.annotation = merged_field_info.annotation 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

266 return new_field_info 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

267 

268 def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcdef

269 origin_type = ( 2.i/icjdjujvjMjNj4j5j/j:j

270 get_origin(field.field_info.annotation) or field.field_info.annotation 

271 ) 

272 assert issubclass(origin_type, sequence_types) # type: ignore[arg-type] 2.i/icjdjujvjMjNj4j5j/j:j

273 return sequence_annotation_to_type[origin_type](value) # type: ignore[no-any-return] 2.i/icjdjujvjMjNj4j5j/j:j

274 

275 def get_missing_field_error(loc: Tuple[str, ...]) -> Dict[str, Any]: 1abcdef

276 error = ValidationError.from_exception_data( 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

277 "Field required", [{"type": "missing", "loc": loc, "input": {}}] 

278 ).errors(include_url=False)[0] 

279 error["input"] = None 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

280 return error # type: ignore[return-value] 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

281 

282 def create_body_model( 1abcdef

283 *, fields: Sequence[ModelField], model_name: str 

284 ) -> Type[BaseModel]: 

285 field_params = {f.name: (f.field_info.annotation, f.field_info) for f in fields} 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

286 BodyModel: Type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

287 return BodyModel 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

288 

289 def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: 1abcdef

290 return [ 2$Z|3akkZlzaelZ(nom?rDYEY$ hsmZnZ`xzuCuoZpZDCGuJuLujsFYGY(z*zlsayHYIY!E;z=zqZrZgthtby'Ze4bksZrzietZxorm[rJYKY% tsuZvZoy?u]uwZxZGC{u~ubvvsLYMY}zaAxstyNYOY_EhAiAyZzZttutuy)Zl4AmAZwzmeBZ)osm^rPYQYhbFsCZDZHyQvTvEZFZJCXv0v2vHsRYSYsAuAJsMyTYUYVYpFBACAGZHZGtHtNy+Zs4BmIZBzqeJZyptm`rWYXYibRsKZLZ0ygwjwMZNZMCnwqwswTsYYZYMAOAVs5y0Y1Y2YKFVAWAOZPZTtUt6y-Zz4CmQZGzueRZ*pum|r3Y4Yjb3sSZTZ,y7w!wUZVZPC'w*w,w5s5Y6Y6A8A7s;y7Y8Y9Y5F(A)AWZXZ6t7t=y/ZG4DmYZLzyeZZzqvm~r!Y#Ykb(s0Z1ZbzxxAx2Z3ZSCExHxJx*s$Y%Y?A[A,sgz'Y(Y)Y?F}A~A4Z5Z,t-thz

291 ModelField(field_info=field_info, name=name) 

292 for name, field_info in model.model_fields.items() 

293 ] 

294 

295else: 

296 from fastapi.openapi.constants import REF_PREFIX as REF_PREFIX 1abcdef

297 from pydantic import AnyUrl as Url # noqa: F401 1abcdef

298 from pydantic import ( # type: ignore[assignment] 1abcdef

299 BaseConfig as BaseConfig, # noqa: F401 

300 ) 

301 from pydantic import ValidationError as ValidationError # noqa: F401 1abcdef

302 from pydantic.class_validators import ( # type: ignore[no-redef] 1abcdef

303 Validator as Validator, # noqa: F401 

304 ) 

305 from pydantic.error_wrappers import ( # type: ignore[no-redef] 1abcdef

306 ErrorWrapper as ErrorWrapper, # noqa: F401 

307 ) 

308 from pydantic.errors import MissingError 1abcdef

309 from pydantic.fields import ( # type: ignore[attr-defined] 1abcdef

310 SHAPE_FROZENSET, 

311 SHAPE_LIST, 

312 SHAPE_SEQUENCE, 

313 SHAPE_SET, 

314 SHAPE_SINGLETON, 

315 SHAPE_TUPLE, 

316 SHAPE_TUPLE_ELLIPSIS, 

317 ) 

318 from pydantic.fields import FieldInfo as FieldInfo 1abcdef

319 from pydantic.fields import ( # type: ignore[no-redef,attr-defined] 1abcdef

320 ModelField as ModelField, # noqa: F401 

321 ) 

322 

323 # Keeping old "Required" functionality from Pydantic V1, without 

324 # shadowing typing.Required. 

325 RequiredParam: Any = Ellipsis # type: ignore[no-redef] 1abcdef

326 from pydantic.fields import ( # type: ignore[no-redef,attr-defined] 1abcdef

327 Undefined as Undefined, 

328 ) 

329 from pydantic.fields import ( # type: ignore[no-redef, attr-defined] 1abcdef

330 UndefinedType as UndefinedType, # noqa: F401 

331 ) 

332 from pydantic.schema import ( 1abcdef

333 field_schema, 

334 get_flat_models_from_fields, 

335 get_model_name_map, 

336 model_process_schema, 

337 ) 

338 from pydantic.schema import ( # type: ignore[no-redef] # noqa: F401 1abcdef

339 get_annotation_from_field_info as get_annotation_from_field_info, 

340 ) 

341 from pydantic.typing import ( # type: ignore[no-redef] 1abcdef

342 evaluate_forwardref as evaluate_forwardref, # noqa: F401 

343 ) 

344 from pydantic.utils import ( # type: ignore[no-redef] 1abcdef

345 lenient_issubclass as lenient_issubclass, # noqa: F401 

346 ) 

347 

348 GetJsonSchemaHandler = Any # type: ignore[assignment,misc] 1abcdef

349 JsonSchemaValue = Dict[str, Any] # type: ignore[misc] 1abcdef

350 CoreSchema = Any # type: ignore[assignment,misc] 1abcdef

351 

352 sequence_shapes = { 1abcdef

353 SHAPE_LIST, 

354 SHAPE_SET, 

355 SHAPE_FROZENSET, 

356 SHAPE_TUPLE, 

357 SHAPE_SEQUENCE, 

358 SHAPE_TUPLE_ELLIPSIS, 

359 } 

360 sequence_shape_to_type = { 1abcdef

361 SHAPE_LIST: list, 

362 SHAPE_SET: set, 

363 SHAPE_TUPLE: tuple, 

364 SHAPE_SEQUENCE: list, 

365 SHAPE_TUPLE_ELLIPSIS: list, 

366 } 

367 

368 @dataclass 1abcdef

369 class GenerateJsonSchema: # type: ignore[no-redef] 1abcdef

370 ref_template: str 1abcdef

371 

372 class PydanticSchemaGenerationError(Exception): # type: ignore[no-redef] 1abcdef

373 pass 1abcdef

374 

375 def with_info_plain_validator_function( # type: ignore[misc] 1abcdef

376 function: Callable[..., Any], 

377 *, 

378 ref: Union[str, None] = None, 

379 metadata: Any = None, 

380 serialization: Any = None, 

381 ) -> Any: 

382 return {} 2X!Y!Z!0!1!2!

383 

384 def get_model_definitions( 1abcdef

385 *, 

386 flat_models: Set[Union[Type[BaseModel], Type[Enum]]], 

387 model_name_map: Dict[Union[Type[BaseModel], Type[Enum]], str], 

388 ) -> Dict[str, Any]: 

389 definitions: Dict[str, Dict[str, Any]] = {} 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

390 for model in flat_models: 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

391 m_schema, m_definitions, m_nested_models = model_process_schema( 2Ek|g-e.etnunvnFkwn/e6LGkm n o p q r s lbHkIk~g:e5hJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e7LOkzn8L`e{e*hchPk|eQk9L!L}eRkSkTkUkVkWk#LXkYkZk0kcfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfAnBnCn5kDnrf%L6kt u v w x y z mb7k8kjhsf6h9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf'L'kGn(LBfCf_hmh(kDf)k)L*LEf*k+k,k-k.k/k+L:k;k=k?kIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWfHnInJn_kKnXf-L`kA B C D E F G nb{k|kthYf7h,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6f.LdlNn/L7f8fiiwhel9ffl:L;L!fglhliljlklll=Lmlnlolplql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fOnPnQnvlRn]f@LwlH I J K L M N obxlylDh^f8h-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbg[LElUn]LcgdgwiGhFlegGl^L_LfgHlIlJlKlLlMl`LNlOlPlQlRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxgVnWnXnWlYnyg|LXlO P Q R S T U pbYlZlNhzg9h.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg}L5l1n~LIgJgKiQh6lKg7laMbMLg8l9l!l#l$l%lcM'l(l)l*l+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3g2n3n4n:l5n4geM;lV W X Y Z 0 1 qb=l?lXh5g!h/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%gfM`l8ngM'g(gYi0h{l)g|lhMiM*g}l~lambmcmdmjMemfmgmhmim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

392 model, model_name_map=model_name_map, ref_prefix=REF_PREFIX 

393 ) 

394 definitions.update(m_definitions) 2Ek|g-e.etnunvnFkwn/e6LGkm n o p q r s lbHkIk~g:e5hJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e7LOkzn8L`e{e*hchPk|eQk9L!L}eRkSkTkUkVkWk#LXkYkZk0kcfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfAnBnCn5kDnrf%L6kt u v w x y z mb7k8kjhsf6h9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf'L'kGn(LBfCf_hmh(kDf)k)L*LEf*k+k,k-k.k/k+L:k;k=k?kIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWfHnInJn_kKnXf-L`kA B C D E F G nb{k|kthYf7h,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6f.LdlNn/L7f8fiiwhel9ffl:L;L!fglhliljlklll=Lmlnlolplql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fOnPnQnvlRn]f@LwlH I J K L M N obxlylDh^f8h-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbg[LElUn]LcgdgwiGhFlegGl^L_LfgHlIlJlKlLlMl`LNlOlPlQlRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxgVnWnXnWlYnyg|LXlO P Q R S T U pbYlZlNhzg9h.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg}L5l1n~LIgJgKiQh6lKg7laMbMLg8l9l!l#l$l%lcM'l(l)l*l+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3g2n3n4n:l5n4geM;lV W X Y Z 0 1 qb=l?lXh5g!h/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%gfM`l8ngM'g(gYi0h{l)g|lhMiM*g}l~lambmcmdmjMemfmgmhmim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

395 model_name = model_name_map[model] 2Ek|g-e.etnunvnFkwn/e6LGkm n o p q r s lbHkIk~g:e5hJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e7LOkzn8L`e{e*hchPk|eQk9L!L}eRkSkTkUkVkWk#LXkYkZk0kcfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfAnBnCn5kDnrf%L6kt u v w x y z mb7k8kjhsf6h9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf'L'kGn(LBfCf_hmh(kDf)k)L*LEf*k+k,k-k.k/k+L:k;k=k?kIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWfHnInJn_kKnXf-L`kA B C D E F G nb{k|kthYf7h,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6f.LdlNn/L7f8fiiwhel9ffl:L;L!fglhliljlklll=Lmlnlolplql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fOnPnQnvlRn]f@LwlH I J K L M N obxlylDh^f8h-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbg[LElUn]LcgdgwiGhFlegGl^L_LfgHlIlJlKlLlMl`LNlOlPlQlRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxgVnWnXnWlYnyg|LXlO P Q R S T U pbYlZlNhzg9h.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg}L5l1n~LIgJgKiQh6lKg7laMbMLg8l9l!l#l$l%lcM'l(l)l*l+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3g2n3n4n:l5n4geM;lV W X Y Z 0 1 qb=l?lXh5g!h/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%gfM`l8ngM'g(gYi0h{l)g|lhMiM*g}l~lambmcmdmjMemfmgmhmim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

396 if "description" in m_schema: 2Ek|g-e.etnunvnFkwn/e6LGkm n o p q r s lbHkIk~g:e5hJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e7LOkzn8L`e{e*hchPk|eQk9L!L}eRkSkTkUkVkWk#LXkYkZk0kcfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfAnBnCn5kDnrf%L6kt u v w x y z mb7k8kjhsf6h9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf'L'kGn(LBfCf_hmh(kDf)k)L*LEf*k+k,k-k.k/k+L:k;k=k?kIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWfHnInJn_kKnXf-L`kA B C D E F G nb{k|kthYf7h,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6f.LdlNn/L7f8fiiwhel9ffl:L;L!fglhliljlklll=Lmlnlolplql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fOnPnQnvlRn]f@LwlH I J K L M N obxlylDh^f8h-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbg[LElUn]LcgdgwiGhFlegGl^L_LfgHlIlJlKlLlMl`LNlOlPlQlRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxgVnWnXnWlYnyg|LXlO P Q R S T U pbYlZlNhzg9h.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg}L5l1n~LIgJgKiQh6lKg7laMbMLg8l9l!l#l$l%lcM'l(l)l*l+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3g2n3n4n:l5n4geM;lV W X Y Z 0 1 qb=l?lXh5g!h/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%gfM`l8ngM'g(gYi0h{l)g|lhMiM*g}l~lambmcmdmjMemfmgmhmim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

397 m_schema["description"] = m_schema["description"].split("\f")[0] 25h!e}e6h#eEf7h$e!f8h%efg9h'eLg!h(e*g

398 definitions[model_name] = m_schema 2Ek|g-e.etnunvnFkwn/e6LGkm n o p q r s lbHkIk~g:e5hJk!exnyn#h$hg KkLkMk;eah=e?e@e[eNk]e^e_e7LOkzn8L`e{e*hchPk|eQk9L!L}eRkSkTkUkVkWk#LXkYkZk0kcfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfAnBnCn5kDnrf%L6kt u v w x y z mb7k8kjhsf6h9k#eEnFn=h?hh !k#k$ktfkhufvfwfxf%kyfzfAf'L'kGn(LBfCf_hmh(kDf)k)L*LEf*k+k,k-k.k/k+L:k;k=k?kIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWfHnInJn_kKnXf-L`kA B C D E F G nb{k|kthYf7h,b}k$eLnMncidii ~kalblZfuh0f1f2f3fcl4f5f6f.LdlNn/L7f8fiiwhel9ffl:L;L!fglhliljlklll=Lmlnlolplql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fOnPnQnvlRn]f@LwlH I J K L M N obxlylDh^f8h-bzl%eSnTnqirij AlBlCl_fEh`f{f|f}fDl~fagbg[LElUn]LcgdgwiGhFlegGl^L_LfgHlIlJlKlLlMl`LNlOlPlQlRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxgVnWnXnWlYnyg|LXlO P Q R S T U pbYlZlNhzg9h.b0l'eZn0nEiFik 1l2l3lAgOhBgCgDgEg4lFgGgHg}L5l1n~LIgJgKiQh6lKg7laMbMLg8l9l!l#l$l%lcM'l(l)l*l+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3g2n3n4n:l5n4geM;lV W X Y Z 0 1 qb=l?lXh5g!h/b@l(e6n7nSiTil [l]l^l6gYh7g8g9g!g_l#g$g%gfM`l8ngM'g(gYi0h{l)g|lhMiM*g}l~lambmcmdmjMemfmgmhmim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

399 return definitions 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

400 

401 def is_pv1_scalar_field(field: ModelField) -> bool: 1abcdef

402 from fastapi import params 2a 9b`c{cakBT! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbkCT# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgbc :bldmdAmdY' rbsbGetbubHevbIewbxbJeybjGkGlTcBdBeBlGdnen)e{j2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBmeY) CbDbNeEbFbOeGbPeHbIbQeJbmGnGmTfBgBhBoGfngn*e|j3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCmfY+ NbObUePbQbVeRbWeSbTbXeUbpGqGnTiBjBkBrGhnin+e}j4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDmgY- YbZb1e0b1b2e2b3e3b4b4e5bsGtGoTlBmBnBuGjnkn,e~j5 . [cwdkbl ~man6bccdc7becfcrnsn8b

403 

404 field_info = field.field_info 2a 9b`c{cakBT! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbkCT# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgbc :bldmdAmdY' rbsbGetbubHevbIewbxbJeybjGkGlTcBdBeBlGdnen)e{j2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBmeY) CbDbNeEbFbOeGbPeHbIbQeJbmGnGmTfBgBhBoGfngn*e|j3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCmfY+ NbObUePbQbVeRbWeSbTbXeUbpGqGnTiBjBkBrGhnin+e}j4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDmgY- YbZb1e0b1b2e2b3e3b4b4e5bsGtGoTlBmBnBuGjnkn,e~j5 . [cwdkbl ~man6bccdc7becfcrnsn8b

405 if not ( 2a 9b`c{cakBT! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbkCT# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgb

406 field.shape == SHAPE_SINGLETON # type: ignore[attr-defined] 

407 and not lenient_issubclass(field.type_, BaseModel) 

408 and not lenient_issubclass(field.type_, dict) 

409 and not field_annotation_is_sequence(field.type_) 

410 and not is_dataclass(field.type_) 

411 and not isinstance(field_info, params.Body) 

412 ): 

413 return False 2a akBTKELEALQzRzSzMEmmnm8e7ib bkCTNEOEBLTzUzVzPEpmqm9e9ic AmdYjGkGlTcBdBeBlGdnen)e{jd BmeYmGnGmTfBgBhBoGfngn*e|je CmfYpGqGnTiBjBkBrGhnin+e}jf DmgYsGtGoTlBmBnBuGjnkn,e~j

414 if field.sub_fields: # type: ignore[attr-defined] 2a 9b`c{cak! / : `d; = {d? |d@ [ }d] $ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbk# { | de} ~ eeabfebbcbgedb% h mknkeb(b)bfb*b+bymzmgbc :bldmdAm' rbsbGetbubHevbIewbxbJeyb2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBm) CbDbNeEbFbOeGbPeHbIbQeJb3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCm+ NbObUePbQbVeRbWeSbTbXeUb4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDm- YbZb1e0b1b2e2b3e3b4b4e5b5 . [cwdkbl ~man6bccdc7becfcrnsn8b

415 if not all( 2akbkAmBmCmDm

416 is_pv1_scalar_field(f) 

417 for f in field.sub_fields # type: ignore[attr-defined] 

418 ): 

419 return False 2akbkAmBmCmDm

420 return True 2a 9b`c{cak! / : `d; = {d? |d@ [ }d] $ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbk# { | de} ~ eeabfebbcbgedb% h mknkeb(b)bfb*b+bymzmgbc :bldmdAm' rbsbGetbubHevbIewbxbJeyb2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBm) CbDbNeEbFbOeGbPeHbIbQeJb3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCm+ NbObUePbQbVeRbWeSbTbXeUb4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDm- YbZb1e0b1b2e2b3e3b4b4e5b5 . [cwdkbl ~man6bccdc7becfcrnsn8b

421 

422 def is_pv1_scalar_sequence_field(field: ModelField) -> bool: 1abcdef

423 if (field.shape in sequence_shapes) and not lenient_issubclass( # type: ignore[attr-defined] 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

424 field.type_, BaseModel 

425 ): 

426 if field.sub_fields is not None: # type: ignore[attr-defined] 2a 7ib 9ic {jd |je }jf ~j

427 for sub_field in field.sub_fields: # type: ignore[attr-defined] 2a 7ib 9ic {jd |je }jf ~j

428 if not is_pv1_scalar_field(sub_field): 2a 7ib 9ic {jd |je }jf ~j

429 return False 27i9i{j|j}j~j

430 return True 1abcdef

431 if _annotation_is_sequence(field.type_): 2a mmnm8eb pmqm9ec dnen)ed fngn*ee hnin+ef jnkn,e

432 return True 1abcdef

433 return False 2a mmnm8eb pmqm9ec dnen)ed fngn*ee hnin+ef jnkn,e

434 

435 def _normalize_errors(errors: Sequence[Any]) -> List[Dict[str, Any]]: 1abcdef

436 use_errors: List[Any] = [] 2|Fckdk9b7d8z'i(i/ : ; = ? @ [ ] )i*i}g=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~sasbstucs(quuvudsesfsgswu6C7CekfkSXCLTXDLUXEL!cwcxc#cyczcAc$cBcUSbhVSEmFmGmHmIm)qJm*q+qWSXS[FYSZS0Sat%h,q:n}F'h(h)h1S2S:q=q?qEuDCFu+h,h-h.h/hbtfoOuhoKm!dloAeBexdyd:i;i=i?i*Y+Y,Y-Y.Y:hafbf;hzd|cAd}cdhBdCdVXWXFLXXYXZXGL` ~Fikjk'b#d[z`i{i{ | } ~ abbbcbdb|i}iihPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmtmsns-uos`q.u/upsqsrsss:u`C{Ckklk0XHL1XIL2XJL%cCcDc'cEcFcGc(cHc3Slh4SNmOmPmQmRm{qSm|q}q5S6S]F7S8S9Snt@h~qFoaG[h]h^h!S#Sdrfrgr_uGC`u`h{h|h}h~hotYoev0oTm'd4oDeEeDdEdejfjgjhj/Y:Y;Y=Y?YaiGfHfbiFdbdGdcdnhHdId3X4XKL5X6X7XLLgbbGokpk:b(dlAnjojrbsbtbubvbwbxbybpjqjshfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztyszsKvAsmrLvMvBsCsDsEsNv6 ( vDwDqkrk8XML9XNL!XOL*cJcKc+cLcMcNc,cOc$Svh%SWmXmYmZm0mnr1morpr'S(S^F)S*S+SAteiqr;ocGfigihi,S-SurwrxrVvJCWvjikiliminiBtgp5vip2m+dmpKeLeJdKdwjxjyjzj@Y[Y]Y^Y_Yoi$f%fpiLdddMdedxhNdOd#X$XPL%X'X(XQLBbdGsktk[b,dFAFjGjCbDbEbFbGbHbIbJbHjIjCh6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtKsLsawMsDrbwcwNsOsPsQsdw7 * VDWDukvk)XRL*XSL+XTL.cQcRc/cScTcUc:cVc.SFh/S7m8m9m!m#mEr$mFrGr:S;S_F=S?S@SNtsiHrGpeGtiuivi[S]SLrNrOrlwMCmwxiyiziAiBiOtZpvw1p%m/d5pReSePdQdOjPjQjRj`Y{Y|Y}Y~YCihgigDiRdfdSdgdHhTdUd,X-XUL.X/X:XVLMbfGwkxk{b:dZAXjYjNbObPbQbRbSbTbUbZj0jMhwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZtWsXs1wYsUr2w3wZs0s1s2s4w8 , .D/Dykzk;XWL=XXL?XYL=cXcYc?cZc0c1c@c2c^SPh_S+m,m-m.m/mVr:mWrXr`S{S`F|S}S~S0tGiYr=pgGHiIiJiaTbT2r4r5r$wPC%wLiMiNiOiPi1thq/wjq;m?dnqYeZeVdWd6j7j8j9jaZbZcZdZeZQiNgOgRiXdhdYdidRhZd0d@X[XZL]X^X_X0LXbhGAkBkbc@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$t8s9srx!s#rsxtx#s$s%s'sux9 . kElECkDk`X1L{X2L|X3L]c4c5c^c6c7c8c_c9ccTZhdT]m^m_m`m{m$r|m%r'reTfT{FgThTiT%tUi(rHqiGViWiXijTkT,r.r/rCxSCDxZi0i1i2i3i't0qMx2q}m^d6q5e6e1d2d;j=j?j@jfZgZhZiZjZ4i,g-g5i3djd4dkd1h5d6d}X~X4LaYbYcY5L8b

437 for error in errors: 2|Fckdk9b7d8z'i(i/ : ; = ? @ [ ] )i*i}g=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~sasbstucs(quuvudsesfsgswu6C7CekfkSXCLTXDLUXEL!cwcxc#cyczcAc$cBcUSbhVSEmFmGmHmIm)qJm*q+qWSXS[FYSZS0Sat%h,q:n}F'h(h)h1S2S:q=q?qEuDCFu+h,h-h.h/hbtfoOuhoKm!dloAeBexdyd:i;i=i?i*Y+Y,Y-Y.Y:hafbf;hzd|cAd}cdhBdCdVXWXFLXXYXZXGL` ~Fikjk'b#d[z`i{i{ | } ~ abbbcbdb|i}iihPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmtmsns-uos`q.u/upsqsrsss:u`C{Ckklk0XHL1XIL2XJL%cCcDc'cEcFcGc(cHc3Slh4SNmOmPmQmRm{qSm|q}q5S6S]F7S8S9Snt@h~qFoaG[h]h^h!S#Sdrfrgr_uGC`u`h{h|h}h~hotYoev0oTm'd4oDeEeDdEdejfjgjhj/Y:Y;Y=Y?YaiGfHfbiFdbdGdcdnhHdId3X4XKL5X6X7XLLgbbGokpk:b(dlAnjojrbsbtbubvbwbxbybpjqjshfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztyszsKvAsmrLvMvBsCsDsEsNv6 ( vDwDqkrk8XML9XNL!XOL*cJcKc+cLcMcNc,cOc$Svh%SWmXmYmZm0mnr1morpr'S(S^F)S*S+SAteiqr;ocGfigihi,S-SurwrxrVvJCWvjikiliminiBtgp5vip2m+dmpKeLeJdKdwjxjyjzj@Y[Y]Y^Y_Yoi$f%fpiLdddMdedxhNdOd#X$XPL%X'X(XQLBbdGsktk[b,dFAFjGjCbDbEbFbGbHbIbJbHjIjCh6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtKsLsawMsDrbwcwNsOsPsQsdw7 * VDWDukvk)XRL*XSL+XTL.cQcRc/cScTcUc:cVc.SFh/S7m8m9m!m#mEr$mFrGr:S;S_F=S?S@SNtsiHrGpeGtiuivi[S]SLrNrOrlwMCmwxiyiziAiBiOtZpvw1p%m/d5pReSePdQdOjPjQjRj`Y{Y|Y}Y~YCihgigDiRdfdSdgdHhTdUd,X-XUL.X/X:XVLMbfGwkxk{b:dZAXjYjNbObPbQbRbSbTbUbZj0jMhwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZtWsXs1wYsUr2w3wZs0s1s2s4w8 , .D/Dykzk;XWL=XXL?XYL=cXcYc?cZc0c1c@c2c^SPh_S+m,m-m.m/mVr:mWrXr`S{S`F|S}S~S0tGiYr=pgGHiIiJiaTbT2r4r5r$wPC%wLiMiNiOiPi1thq/wjq;m?dnqYeZeVdWd6j7j8j9jaZbZcZdZeZQiNgOgRiXdhdYdidRhZd0d@X[XZL]X^X_X0LXbhGAkBkbc@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$t8s9srx!s#rsxtx#s$s%s'sux9 . kElECkDk`X1L{X2L|X3L]c4c5c^c6c7c8c_c9ccTZhdT]m^m_m`m{m$r|m%r'reTfT{FgThTiT%tUi(rHqiGViWiXijTkT,r.r/rCxSCDxZi0i1i2i3i't0qMx2q}m^d6q5e6e1d2d;j=j?j@jfZgZhZiZjZ4i,g-g5i3djd4dkd1h5d6d}X~X4LaYbYcY5L8b

438 if isinstance(error, ErrorWrapper): 2|Fckdk9b7d8z'i(i/ : ; = ? @ [ ] )i*i}g=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~sasbstucs(quuvudsesfsgswu6C7CekfkSXCLTXDLUXEL!cwcxc#cyczcAc$cBcUSbhVSEmFmGmHmIm)qJm*q+qWSXS[FYSZS0Sat%h,q:n}F'h(h)h1S2S:q=q?qEuDCFu+h,h-h.h/hbtfoOuhoKm!dloAeBexdyd:i;i=i?i*Y+Y,Y-Y.Y:hafbf;hzd|cAd}cdhBdCdVXWXFLXXYXZXGL` ~Fikjk'b#d[z`i{i{ | } ~ abbbcbdb|i}iihPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmtmsns-uos`q.u/upsqsrsss:u`C{Ckklk0XHL1XIL2XJL%cCcDc'cEcFcGc(cHc3Slh4SNmOmPmQmRm{qSm|q}q5S6S]F7S8S9Snt@h~qFoaG[h]h^h!S#Sdrfrgr_uGC`u`h{h|h}h~hotYoev0oTm'd4oDeEeDdEdejfjgjhj/Y:Y;Y=Y?YaiGfHfbiFdbdGdcdnhHdId3X4XKL5X6X7XLLgbbGokpk:b(dlAnjojrbsbtbubvbwbxbybpjqjshfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztyszsKvAsmrLvMvBsCsDsEsNv6 ( vDwDqkrk8XML9XNL!XOL*cJcKc+cLcMcNc,cOc$Svh%SWmXmYmZm0mnr1morpr'S(S^F)S*S+SAteiqr;ocGfigihi,S-SurwrxrVvJCWvjikiliminiBtgp5vip2m+dmpKeLeJdKdwjxjyjzj@Y[Y]Y^Y_Yoi$f%fpiLdddMdedxhNdOd#X$XPL%X'X(XQLBbdGsktk[b,dFAFjGjCbDbEbFbGbHbIbJbHjIjCh6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtKsLsawMsDrbwcwNsOsPsQsdw7 * VDWDukvk)XRL*XSL+XTL.cQcRc/cScTcUc:cVc.SFh/S7m8m9m!m#mEr$mFrGr:S;S_F=S?S@SNtsiHrGpeGtiuivi[S]SLrNrOrlwMCmwxiyiziAiBiOtZpvw1p%m/d5pReSePdQdOjPjQjRj`Y{Y|Y}Y~YCihgigDiRdfdSdgdHhTdUd,X-XUL.X/X:XVLMbfGwkxk{b:dZAXjYjNbObPbQbRbSbTbUbZj0jMhwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZtWsXs1wYsUr2w3wZs0s1s2s4w8 , .D/Dykzk;XWL=XXL?XYL=cXcYc?cZc0c1c@c2c^SPh_S+m,m-m.m/mVr:mWrXr`S{S`F|S}S~S0tGiYr=pgGHiIiJiaTbT2r4r5r$wPC%wLiMiNiOiPi1thq/wjq;m?dnqYeZeVdWd6j7j8j9jaZbZcZdZeZQiNgOgRiXdhdYdidRhZd0d@X[XZL]X^X_X0LXbhGAkBkbc@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$t8s9srx!s#rsxtx#s$s%s'sux9 . kElECkDk`X1L{X2L|X3L]c4c5c^c6c7c8c_c9ccTZhdT]m^m_m`m{m$r|m%r'reTfT{FgThTiT%tUi(rHqiGViWiXijTkT,r.r/rCxSCDxZi0i1i2i3i't0qMx2q}m^d6q5e6e1d2d;j=j?j@jfZgZhZiZjZ4i,g-g5i3djd4dkd1h5d6d}X~X4LaYbYcY5L8b

439 new_errors = ValidationError( # type: ignore[call-arg] 2|Fckdk9b7d=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dlo:i;i=i?i*Y+Y,Y-Y.YdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4oejfjgjhj/Y:Y;Y=Y?YnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpwjxjyjzj@Y[Y]Y^Y_YxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pOjPjQjRj`Y{Y|Y}Y~YHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnq6j7j8j9jaZbZcZdZeZRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q;j=j?j@jfZgZhZiZjZ1h5d6d}X~X4LaYbYcY5L

440 errors=[error], model=RequestErrorModel 

441 ).errors() 

442 use_errors.extend(new_errors) 2|Fckdk9b7d=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dlo:i;i=i?i*Y+Y,Y-Y.YdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4oejfjgjhj/Y:Y;Y=Y?YnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpwjxjyjzj@Y[Y]Y^Y_YxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pOjPjQjRj`Y{Y|Y}Y~YHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnq6j7j8j9jaZbZcZdZeZRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q;j=j?j@jfZgZhZiZjZ1h5d6d}X~X4LaYbYcY5L

443 elif isinstance(error, list): 27d8z'i(i/ : ; = ? @ [ ] )i*i}gyEzE%qasbscsdsesfsgs6C7CekfkwcxcyczcAcBcEmFmGmHmIm)qJm*q+q[F,q:n}F:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}cBdCdFLGL` #d[z`i{i{ | } ~ abbbcbdb|i}iihAEBE^qmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcNmOmPmQmRm{qSm|q}q]F~qFoaGdrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdHdIdKLLLgb(dlAnjojrbsbtbubvbwbxbybpjqjshCEDEkryszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcWmXmYmZm0mnr1morpr^Fqr;ocGurwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedNdOdPLQLBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChEEFEBrKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVc7m8m9m!m#mEr$mFrGr_FHrGpeGLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdTdUdULVLMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhGEHESrWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c+m,m-m.m/mVr:mWrXr`FYr=pgG2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidZd0dZL0LXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWhIEJE9r8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c]m^m_m`m{m$r|m%r'r{F(rHqiG,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd5d6d4L5L8b

444 use_errors.extend(_normalize_errors(error)) 2yEzE%qFLGLAEBE^qKLLLCEDEkrPLQLEEFEBrULVLGEHESrZL0LIEJE9r4L5L

445 else: 

446 use_errors.append(error) 27d8z'i(i/ : ; = ? @ [ ] )i*i}gyEzE%qasbscsdsesfsgs6C7CekfkwcxcyczcAcBcEmFmGmHmIm)qJm*q+q[F,q:n}F:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}cBdCd` #d[z`i{i{ | } ~ abbbcbdb|i}iihAEBE^qmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcNmOmPmQmRm{qSm|q}q]F~qFoaGdrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdHdIdgb(dlAnjojrbsbtbubvbwbxbybpjqjshCEDEkryszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcWmXmYmZm0mnr1morpr^Fqr;ocGurwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedNdOdBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChEEFEBrKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVc7m8m9m!m#mEr$mFrGr_FHrGpeGLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdTdUdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhGEHESrWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c+m,m-m.m/mVr:mWrXr`FYr=pgG2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidZd0dXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWhIEJE9r8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c]m^m_m`m{m$r|m%r'r{F(rHqiG,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd5d6d8b

447 return use_errors 2|Fckdk9b7d8z'i(i/ : ; = ? @ [ ] )i*i}g=txYgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~sasbstucs(quuvudsesfsgswu6C7CekfkSXCLTXDLUXEL!cwcxc#cyczcAc$cBcUSbhVSEmFmGmHmIm)qJm*q+qWSXS[FYSZS0Sat%h,q:n}F'h(h)h1S2S:q=q?qEuDCFu+h,h-h.h/hbtfoOuhoKm!dloAeBexdyd:i;i=i?i*Y+Y,Y-Y.Y:hafbf;hzd|cAd}cdhBdCdVXWXFLXXYXZXGL` ~Fikjk'b#d[z`i{i{ | } ~ abbbcbdb|i}iihPuyYicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmtmsns-uos`q.u/upsqsrsss:u`C{Ckklk0XHL1XIL2XJL%cCcDc'cEcFcGc(cHc3Slh4SNmOmPmQmRm{qSm|q}q5S6S]F7S8S9Snt@h~qFoaG[h]h^h!S#Sdrfrgr_uGC`u`h{h|h}h~hotYoev0oTm'd4oDeEeDdEdejfjgjhj/Y:Y;Y=Y?YaiGfHfbiFdbdGdcdnhHdId3X4XKL5X6X7XLLgbbGokpk:b(dlAnjojrbsbtbubvbwbxbybpjqjshfvzYkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztyszsKvAsmrLvMvBsCsDsEsNv6 ( vDwDqkrk8XML9XNL!XOL*cJcKc+cLcMcNc,cOc$Svh%SWmXmYmZm0mnr1morpr'S(S^F)S*S+SAteiqr;ocGfigihi,S-SurwrxrVvJCWvjikiliminiBtgp5vip2m+dmpKeLeJdKdwjxjyjzj@Y[Y]Y^Y_Yoi$f%fpiLdddMdedxhNdOd#X$XPL%X'X(XQLBbdGsktk[b,dFAFjGjCbDbEbFbGbHbIbJbHjIjCh6vAYncoctFEEFEBr7v8v9v!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~vJtKtLtMtKsLsawMsDrbwcwNsOsPsQsdw7 * VDWDukvk)XRL*XSL+XTL.cQcRc/cScTcUc:cVc.SFh/S7m8m9m!m#mEr$mFrGr:S;S_F=S?S@SNtsiHrGpeGtiuivi[S]SLrNrOrlwMCmwxiyiziAiBiOtZpvw1p%m/d5pReSePdQdOjPjQjRj`Y{Y|Y}Y~YCihgigDiRdfdSdgdHhTdUd,X-XUL.X/X:XVLMbfGwkxk{b:dZAXjYjNbObPbQbRbSbTbUbZj0jMhwwBYqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZtWsXs1wYsUr2w3wZs0s1s2s4w8 , .D/Dykzk;XWL=XXL?XYL=cXcYc?cZc0c1c@c2c^SPh_S+m,m-m.m/mVr:mWrXr`S{S`F|S}S~S0tGiYr=pgGHiIiJiaTbT2r4r5r$wPC%wLiMiNiOiPi1thq/wjq;m?dnqYeZeVdWd6j7j8j9jaZbZcZdZeZQiNgOgRiXdhdYdidRhZd0d@X[XZL]X^X_X0LXbhGAkBkbc@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh:wCYtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$t8s9srx!s#rsxtx#s$s%s'sux9 . kElECkDk`X1L{X2L|X3L]c4c5c^c6c7c8c_c9ccTZhdT]m^m_m`m{m$r|m%r'reTfT{FgThTiT%tUi(rHqiGViWiXijTkT,r.r/rCxSCDxZi0i1i2i3i't0qMx2q}m^d6q5e6e1d2d;j=j?j@jfZgZhZiZjZ4i,g-g5i3djd4dkd1h5d6d}X~X4LaYbYcY5L8b

448 

449 def _model_rebuild(model: Type[BaseModel]) -> None: 1abcdef

450 model.update_forward_refs() 1abcdef

451 

452 def _model_dump( 1abcdef

453 model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any 

454 ) -> Any: 

455 return model.dict(**kwargs) 2Ekx0|gvG-e.e9ntnun!n#nwGvnN4i9kZl0Fky0xGO4wn$qlz/eQE!36LxY~daeGkm n o p q r s lbyGlZHk$n%n3!4!5!=6?6@6[6]6^6_66!Ik~g%Z'n(n:e5h)nzGom-s=r?sAG'qCC*n*x+n,n-nJk!eP4Q4R4S4T4U4s1t1u1xnynv1w1V4W4CLx1y1z1A1`6#hB1C1X4Y4DLD1E1Z404ELF1G1{6|6}6H1I1UEDYJ1VEEYK1L114M124N134$h$ g BG~6CGa7DGb7EGc7FGd7GGe7HGf7IGg7JGh7KGLGMGNGOGPGQGRGSGTGUGVGKki7j7WGXGLkk7l7Mkm7n7YGZG0Go7p71Gq7r72Gs7t7445464748494!4#4O1P1Q1R1S1T1U1V1W1X1Y1Z101.n;emZahz0=eWE?exu@eXE[eyu3G4G5G6G/nnZA0B0C0NkD0E0F06K7K]e^e]x_e8K-qYE7L`xzuAuBu;nCuDu=n?n7G8G9G!G#G$G%GOk$4zn%48LZE.q/q;q@q@n'G[n(G`e0E1E{e'4*his)G(4choZpZ]n^n_n`nPkG0{nGuHuIu|nJuKu}nLuMuNu~naoboco*G+G,G|eQk-G.G/G9LFY:G;G6Z7!=G!LGY?Gdo}eeo(z)z9Kgo*z+ziojokomonoooECRkSkTkUkVkWkls#Lf0XkYkZkHY0kIYpo@Gqo5Ecfdf6E7Eef8E9E$Lr0ff;zgf=z[G1ku7hf2kifjfkflfmf]GqZ11rZ21gtnfhtof^G_G`Gby{GehH0I0fhLmMmghJ0K0@z)43k4kL0hh|GpfqfroAnBnsoto}GCn*4j9sZm05kM0~G+4Dn]qrzrf$E#3%LyYheie6kt u v w x y z mbaHtZ7kuovo8!9!!!v7w7x7y7z7A7B7#!8kjh(Zwoxosf6hyobHrm.s@r@scH_qFCzo+xAoBoCo9k#e,4-4.4/4:4;4314151EnFn6171=4?4HL8191!1#1C7=h$1%1@4[4IL'1(1]4^4JL)1*1D7E7F7+1,1)EJY-1*EKY.1/1_4:1`4;1{4?h% h dHG7eHH7fHI7gHJ7hHK7iHL7jHM7kHN7lHO7mHnHoHpHqHrHsHtHuHvHwHxH!kP7Q7yHzH#kR7S7$kT7U7AHBHCHV7W7DHX7Y7EHZ707|4}4~4a5b5c5d5e5=1?1@1[1]1^1_1`1{1|1}1~1a2DotfuZkhN0uf+Evf;uwf,Exf=uFHGHHHIHEovZO0P0Q0%kR0S0T0%K'KyfzflyAf(Kar-E'Loy?u@u[uGo]u^uHoIoJHKHLHMHNHOHPH'kf5Gng5(L.EbrcrerhrJoQHKoRHBf/E:ECfh5_husSHi5mhwZxZLoMoNoOo(kU0Po{u|u}uQo~uavRobvcvdvSoToUoVoTHUHVHDf)kWHXHYH)LLYZH0H7Z$!1H*LMY2HWoEfXo}z~z)KZoaAbA1o2o3o5o6o7oHC*k+k,k-k.k/kxs+Lg0:k;k=kNY?kOY8o3H9o?EIfJf@E[EKf]E^E,Ls0LfhAMfiA4H@k17Nf[kOfPfQfRfSf5HyZb2zZc2ttTfutUf6H7H8Huy9HohV0W0phUmVmqhX0Y0kAj5]k^kZ0rh!HVfWf!oHnIn#o$o#HJnk5k9AZn0_k00$Hl5KnjrwzXf{E$3-LzYleme`kA B C D E F G nb%HBZ{k%o'o%!'!(!27374757677787)!|kth*Z(o)oYf7h*o'Hsm/s]r[s(HlrIC+o,x,b2 ,o-o.o}k$em5n5o5p5q5r5d2e2f2LnMng2h2s5t5MLi2j2k2l297cim2n2u5v5NLo2p2w5x5OLq2r2!7#7$7s2t2aFPYu2bFQYv2w2y5x2z5y2A5dihbi )H%7*H'7+H(7,H)7-H*7.H+7/H,7:H-7;H.7=H?H@H[H]H^H_H`H{H|H}H~H~k/7:7aIbIal;7=7bl?7@7cIdIeI[7]7fI^7_7gI`7{7B5C5D5E5F5G5H5I5z2A2B2C2D2E2F2G2H2I2J2K2L2/oZfCZuh100fcF1fOv2fdF3fPvhIiIjIkI:oDZ203040cl506070-K.K4f5fEy6f/KrreF.LHyQvRvSv=oTvUv?o@olImInIoIpIqIrIdlJ5NnK5/LfFsrtrvryr[osI]otI7fgFhF8fL5iiGsuIM5whEZFZ^o_o`o{oel80|oXvYvZv}o0v1v~o2v3v4vapbpcpdpvIwIxI9fflyIzIAI:LRYBICI8Z*!DI;LSYEIep!ffpsAtA:KhpuAvAjpkplpnpopppKCglhliljlklllJs=Lh0mlnlolTYplUYqpFIrpqlVYkF'f(flFmF)fnFoF?Lt0*fBA+fCAGIrl|7,fsl-f.f/f:f;fHIGZM2HZN2Gt=fHt?fIIJIKINyLIyh90!0zh5m6mAh#0$0EAN5tlul%0BhMI@f[fspOnPntpupNIQnO5l9IZo0vl'0OIP5RnArBz]frF%3@LAYpeqewlH I J K L M N obPIJZxlvpwp+!,!-!}7~7a8b8c8d8e8.!ylDh,Zxpyp^f8hzpQItm:s_r]sRICrLCAp-x-b3 BpCpDpzl%eQ5R5S5T5U5V5O2P2Q2SnTnR2S2W5X5RLT2U2V2W2f8qiX2Y2Y5Z5SLZ2020515TL1222g8h8i83242vFWY52wFXY62722582359245riibj SIj8TIk8UIl8VIm8WIn8XIo8YIp8ZIq80Ir81I2I3I4I5I6I7I8I9I!I#I$IAls8t8%I'IBlu8v8Clw8x8(I)I*Iy8z8+IA8B8,IC8D85565758595!5#5$5!2#2$2%2'2(2)2*2+2,2-2.2/2Ep_fKZEh(0`fxF{few|fyF}ffw-I.I/I:IFpLZ)0*0+0Dl,0-0.0@K[K~fagXybg]KIrzF[L0ygwhwiwHpjwkwIpJp;I=I?I@I[I]I^IEl%5Un'5]LAFJrKrMrPrKp_ILp`IcgBFCFdg(5wiSs{I)5GhMZNZMpNpOpPpFl/0QpnwowpwRpqwrwSpswtwuwTpUpVpWp|I}I~IegGlaJbJcJ^LYYdJeJ9Z/!fJ_LZYgJXpfgYpMANA^K0pOAPA2p3p4p6p7p8pNCHlIlJlKlLlMlVs`Li0NlOlPl0YQl1Y9phJ!pRl2YFFjgkgGFHFlgIFJF{Lu0mgVAngWAiJSlE8ogTlpgqgrgsgtgjJOZ:2PZ;2TtugUtvgkJlJmJ6ynJIh:0;0Jh)m*mKh=0?0YA*5UlVl@0LhoJwgxg#pVnWn$p%ppJXn+5m9QZp0Wl[0qJ,5YnRrGzygMF'3|LBYteueXlO P Q R S T U pbrJRZYl'p(p:!;!=!F8G8H8I8J8K8L8?!ZlNh.Z)p*pzg9h+psJum;s{r^stJTrOC,p.x.b4 -p.p/p0l'e-5.5/5:5;5=5=2?2@2Zn0n[2]2?5@5WL^2_2`2{2M8Ei|2}2[5]5XL~2a3^5_5YLb3c3N8O8P8d3e3QF3Yf3RF4Yg3h3`5i3{5j3|5Fijbk uJQ8vJR8wJS8xJT8yJU8zJV8AJW8BJX8CJY8DJEJFJGJHJIJJJKJLJMJNJOJ1lZ808PJQJ2l18283l3848RJSJTJ5868UJ7888VJ98!8}5~5a6b6c6d6e6f6k3l3m3n3o3p3q3r3s3t3u3v3w3:pAgSZOh]0BgSFCg5wDgTFEg6wWJXJYJZJ;pTZ^0_0`04l{0|0}0|K}KFgGg)yHg~KZrUF}L,y7w8w9w?p!w#w@p[p0J1J2J3J4J5J6J5lg61nh6~LVF0r1r3r6r]p7J^p8JIgWFXFJgi6Ki4s9Jj6QhUZVZ_p`p{p|p6l~0}p'w(w)w~p*w+waq,w-w.wbqcqdqeq!J#J$JKg7l%J'J(JaM5Y)J*J!Z@!+JbM6Y,JfqLggq6A7AaLiq8A9AkqlqmqoqpqqqQC8l9l!l#l$l%l7scMj0'l(l)l7Y*l8Yrq-Jsq+l9Y0FPgQg1F2FRg3F4FdMv0Sg(ATg)A.J,l#8Ug-lVgWgXgYgZg/JWZx3XZy36t0g7t1g:J;J=J=y?JSha1b1Th@m[mUhc1d1+Ak6.l/le1Vh@J2g3gtq2n3nuqvq[J4nl6n9YZq0:lf1]Jm65n8rLz4g7F(3eMCYxeye;lV W X Y Z 0 1 qb^JZZ=lwqxq[!]!^!$8%8'8(8)8*8+8_!?lXh:Zyqzq5g!hAq_Jvm=s}r_s`J!rRCBq/x/b5 CqDqEq@l(en6o6p6q6r6s6z3A3B36n7nC3D3t6u61LE3F3G3H3,8SiI3J3v6w62LK3L3x6y63LM3N3-8.8/8O3P3#F!YQ3$F#YR3S3z6T3A6U3B6Tikbl {J:8|J;8}J=8~J?8aK@8bK[8cK]8dK^8eK_8fKgKhKiKjKkKlKmKnKoKpKqK[l`8{8rKsK]l|8}8^l~8a9tKuKvKb9c9wKd9e9xKf9g9C6D6E6F6G6H6I6J6V3W3X3Y3Z30313233343536373Fq6g0ZYhg17g%F8gvx9g'F!gwxyKzKAKBKGq1Zh1i1j1_lk1l1m1eLfL#g$g}y%ggL)r(FfMbzxxyxzxIqAxBxJqKqCKDKEKFKGKHKIK`lK68nL6gM)F*r+r-r:rLqJKMqKK'g*F+F(gM6Yi)sLKN60h2Z3ZNqOqPqQq{ln1RqExFxGxSqHxIxTqJxKxLxUqVqWqXqMKNKOK)g|lPKQKRKhM$YSKTK#Z`!UKiM%YVKYq*gZq?A@AhL1q[A]A3q4q5q7q8q9qTC}l~lambmcmdm,sjMk0emfmgm'Yhm(Y!qWK#qim)Y.F.g/g/F:F:g;F=FkMw0;g}A=g~AXKjmh9?gkm@g[g]g^g_gYK4Z835Z93,t`g-t{gZK0K1Khz2K2ho1p13hbncn4hq1r1bBO6lm

456 

457 def _get_model_config(model: BaseModel) -> Any: 1abcdef

458 return model.__config__ # type: ignore[attr-defined] 2i9!3xYom=r?s*xs1t1u1v1w1CLx1y1z1A1B1C1DLD1E1ELF1G1H1I1UEDYJ1VEEYK1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z101FYGYHYIYhfifjfkflfmf1121gthtbyj9#3yYrm@r@s+x3141516171HL8191!1#1$1%1IL'1(1JL)1*1+1,1)EJY-1*EKY.1/1:1;1=1?1@1[1]1^1_1`1{1|1}1~1a2LYMYNYOYNfOfPfQfRfSfb2c2ttutuyk9$3zYsm]r[s,xd2e2f2g2h2MLi2j2k2l2m2n2NLo2p2OLq2r2s2t2aFPYu2bFQYv2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2RYSYTYUYVY,f-f.f/f:f;fM2N2GtHtNyl9%3AYtm_r]s-xO2P2Q2R2S2RLT2U2V2W2X2Y2SLZ202TL12223242vFWY52wFXY62728292!2#2$2%2'2(2)2*2+2,2-2.2/2YYZY0Y1Y2Yogpgqgrgsgtg:2;2TtUt6ym9'3BYum{r^s.x=2?2@2[2]2WL^2_2`2{2|2}2XL~2a3YLb3c3d3e3QF3Yf3RF4Yg3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w35Y6Y7Y8Y9YUgVgWgXgYgZgx3y36t7t=yn9(3CYvm}r_s/xz3A3B3C3D31LE3F3G3H3I3J32LK3L33LM3N3O3P3#F!YQ3$F#YR3S3T3U3V3W3X3Y3Z30313233343536373$Y%Y'Y(Y)Y?g@g[g]g^g_g8393,t-thz

459 

460 def get_schema_from_model_field( 1abcdef

461 *, 

462 field: ModelField, 

463 schema_generator: GenerateJsonSchema, 

464 model_name_map: ModelNameMap, 

465 field_mapping: Dict[ 

466 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

467 ], 

468 separate_input_output_schemas: bool = True, 

469 ) -> Dict[str, Any]: 

470 # This expects that GenerateJsonSchema was already used to generate the definitions 

471 return field_schema( # type: ignore[no-any-return] 2Ek|g-e.e9ntnun!n#nvnFkwn$q/e6LGkm n o p q r s lbHk$n%nIk~g'n:e5h)n'q*n+n,n-nJk!exnyn#h$hg KkLkMk.n;eah=e?e@e[e/nNk]e^e_e-q7L;n=n?nOkzn8L.q/q;q@q@n[n`e{e*hisch]n^n_n`nPk{n|n}n~naoboco|eQk9L!Ldo}eeogoiojokomonoooRkSkTkUkVkWk#LXkYkZk0kpoqocfdfef$Lffgf1k2knfofehfhgh3k4khhpfqfroAnBnsotoCn5kDn]qrf%L6kt u v w x y z mb7kuovo8kjhwosf6hyo_qzoAoBoCo9k#eEnFn=h?hh !k#k$kDotfkhufvfwfxfEo%kyfzfAfar'LGoHoIo'kGn(LbrcrerhrJoKoBfCf_husmhLoMoNoOo(kPoQoRoSoToUoVoDf)k)L*LWoEfXoZo1o2o3o5o6o7o*k+k,k-k.k/k+L:k;k=k?k8o9oIfJfKf,LLfMf@k[kTfUfohphqh]k^krhVfWf!oHnIn#o$oJn_kKnjrXf-L`kA B C D E F G nb{k%o'o|kth(oYf7h*olr+o,b2 ,o-o.o}k$eLnMncidii ~kalbl/oZfuh0f1f2f3f:ocl4f5f6frr.L=o?o@odlNn/Lsrtrvryr[o]o7f8fiiGswh^o_o`o{oel|o}o~oapbpcpdp9ffl:L;Lep!ffphpjpkplpnpopppglhliljlklll=Lmlnlolplqprpql'f(f)f?L*f+frlsl=f?fyhzhAhtlulBh@f[fspOnPntpupQnvlRnAr]f@LwlH I J K L M N obxlvpwpylDhxp^f8hzpCrAp-b3 BpCpDpzl%eSnTnqirij AlBlClEp_fEh`f{f|f}fFpDl~fagbgIr[LHpIpJpElUn]LJrKrMrPrKpLpcgdgwiSsGhMpNpOpPpFlQpRpSpTpUpVpWpegGl^L_LXpfgYp0p2p3p4p6p7p8pHlIlJlKlLlMl`LNlOlPlQl9p!pRljgkglg{LmgngSlTlugvgIhJhKhUlVlLhwgxg#pVnWn$p%pXnWlYnRryg|LXlO P Q R S T U pbYl'p(pZlNh)pzg9h+pTr,p.b4 -p.p/p0l'eZn0nEiFik 1l2l3l:pAgOhBgCgDgEg;p4lFgGgHgZr}L?p@p[p5l1n~L0r1r3r6r]p^pIgJgKi4sQh_p`p{p|p6l}p~paqbqcqdqeqKg7laMbMfqLggqiqkqlqmqoqpqqq8l9l!l#l$l%lcM'l(l)l*lrqsq+lPgQgRgdMSgTg,l-l0g1gShThUh.l/lVh2g3gtq2n3nuqvq4n:l5n8r4geM;lV W X Y Z 0 1 qb=lwqxq?lXhyq5g!hAq!rBq/b5 CqDqEq@l(e6n7nSiTil [l]l^lFq6gYh7g8g9g!gGq_l#g$g%g)rfMIqJqKq`l8ngM*r+r-r:rLqMq'g(gYi)s0hNqOqPqQq{lRqSqTqUqVqWqXq)g|lhMiMYq*gZq1q3q4q5q7q8q9q}l~lambmcmdmjMemfmgmhm!q#qim.g/g:gkM;g=gjmkm`g{g2h3h4hlm

472 field, model_name_map=model_name_map, ref_prefix=REF_PREFIX 

473 )[0] 

474 

475 def get_compat_model_name_map(fields: List[ModelField]) -> ModelNameMap: 1abcdef

476 models = get_flat_models_from_fields(fields, known_models=set()) 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

477 return get_model_name_map(models) # type: ignore[no-any-return] 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

478 

479 def get_definitions( 1abcdef

480 *, 

481 fields: List[ModelField], 

482 schema_generator: GenerateJsonSchema, 

483 model_name_map: ModelNameMap, 

484 separate_input_output_schemas: bool = True, 

485 ) -> Tuple[ 

486 Dict[ 

487 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue 

488 ], 

489 Dict[str, Dict[str, Any]], 

490 ]: 

491 models = get_flat_models_from_fields(fields, known_models=set()) 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

492 return {}, get_model_definitions( 2Ek|gvGvT-e.e9ntnun!n#nwGvnFkxGwn$q/e6LGkm n o p q r s lbyGHk$n%nIk~g'n:e5h)nzGAG'qCC*n+n,n-nJk!exnyn#h$hg BGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGKkWGXGLkMkYGZG0G1G2G.n;eah=e?e@e[e3G4G5G6G/nNk]e^e_e-q7L;n=n?n7G8G9G!G#G$G%GOkzn8L.q/q;q@q@n'G[n(G`e{e*his)Gch]n^n_n`nPk{n|n}n~naoboco*G+G,G|eQk-G.G/G9L:G;G6Z=G!L?Gdo}eeogoiojokomonoooECRkSkTkUkVkWk#LXkYkZk0kpo@Gqocfdfef$Lffgf[G1k2k]Gnfof^G_G`G{Gehfhgh3k4khh|GwTpfqfroAnBnsoto}GCn5k~GDn]qrf%L6kt u v w x y z mbaH7kuovo8kjhwosf6hyobHcH_qFCzoAoBoCo9k#eEnFn=h?hh dHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxH!kyHzH#k$kAHBHCHDHEHDotfkhufvfwfxfFHGHHHIHEo%kyfzfAfar'LGoHoIoJHKHLHMHNHOHPH'kGn(LbrcrerhrJoQHKoRHBfCf_husSHmhLoMoNoOo(kPoQoRoSoToUoVoTHUHVHDf)kWHXHYH)LZH0H7Z1H*L2HWoEfXoZo1o2o3o5o6o7oHC*k+k,k-k.k/k+L:k;k=k?k8o3H9oIfJfKf,LLfMf4H@k[k5HTfUf6H7H8H9Hohphqh]k^krh!HxTVfWf!oHnIn#o$o#HJn_k$HKnjrXf-L`kA B C D E F G nb%H{k%o'o|kth(oYf7h*o'H(HlrIC+o,b2 ,o-o.o}k$eLnMncidii )H*H+H,H-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~H~kaIbIalblcIdIeIfIgI/oZfuh0f1f2f3fhIiIjIkI:ocl4f5f6frr.L=o?o@olImInIoIpIqIrIdlNn/Lsrtrvryr[osI]otI7f8fiiGsuIwh^o_o`o{oel|o}o~oapbpcpdpvIwIxI9fflyIzIAI:LBICI8ZDI;LEIep!ffphpjpkplpnpopppKCglhliljlklll=LmlnlolplqpFIrpql'f(f)f?L*f+fGIrlslHI=f?fIIJIKILIyhzhAhtlulBhMIyT@f[fspOnPntpupNIQnvlOIRnAr]f@LwlH I J K L M N obPIxlvpwpylDhxp^f8hzpQIRICrLCAp-b3 BpCpDpzl%eSnTnqirij SITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$IAl%I'IBlCl(I)I*I+I,IEp_fEh`f{f|f}f-I.I/I:IFpDl~fagbgIr[LHpIpJp;I=I?I@I[I]I^IElUn]LJrKrMrPrKp_ILp`IcgdgwiSs{IGhMpNpOpPpFlQpRpSpTpUpVpWp|I}I~IegGlaJbJcJ^LdJeJ9ZfJ_LgJXpfgYp0p2p3p4p6p7p8pNCHlIlJlKlLlMl`LNlOlPlQl9phJ!pRljgkglg{LmgngiJSlTljJugvgkJlJmJnJIhJhKhUlVlLhoJzTwgxg#pVnWn$p%ppJXnWlqJYnRryg|LXlO P Q R S T U pbrJYl'p(pZlNh)pzg9h+psJtJTrOC,p.b4 -p.p/p0l'eZn0nEiFik uJvJwJxJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJ1lPJQJ2l3lRJSJTJUJVJ:pAgOhBgCgDgEgWJXJYJZJ;p4lFgGgHgZr}L?p@p[p0J1J2J3J4J5J6J5l1n~L0r1r3r6r]p7J^p8JIgJgKi4s9JQh_p`p{p|p6l}p~paqbqcqdqeq!J#J$JKg7l%J'J(JaM)J*J!Z+JbM,JfqLggqiqkqlqmqoqpqqqQC8l9l!l#l$l%lcM'l(l)l*lrq-Jsq+lPgQgRgdMSgTg.J,l-l/J0g1g:J;J=J?JShThUh.l/lVh@JAT2g3gtq2n3nuqvq[J4n:l]J5n8r4geM;lV W X Y Z 0 1 qb^J=lwqxq?lXhyq5g!hAq_J`J!rRCBq/b5 CqDqEq@l(e6n7nSiTil {J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqK[lrKsK]l^ltKuKvKwKxKFq6gYh7g8g9g!gyKzKAKBKGq_l#g$g%g)rfMIqJqKqCKDKEKFKGKHKIK`l8ngM*r+r-r:rLqJKMqKK'g(gYi)sLK0hNqOqPqQq{lRqSqTqUqVqWqXqMKNKOK)g|lPKQKRKhMSKTK#ZUKiMVKYq*gZq1q3q4q5q7q8q9qTC}l~lambmcmdmjMemfmgmhm!qWK#qim.g/g:gkM;g=gXKjmkmYK`g{gZK0K1K2K2h3h4hlm

493 flat_models=models, model_name_map=model_name_map 

494 ) 

495 

496 def is_scalar_field(field: ModelField) -> bool: 1abcdef

497 return is_pv1_scalar_field(field) 2a 9b`c{cak! / : `d; = {d? |d@ [ }d] KELEALQzRzSzMEmmnm8e7i$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cadbk# { | de} ~ eeabfebbcbgedbNEOEBLTzUzVzPEpmqm9e9i% h mknkeb(b)bfb*b+bymzmgbc :bldmdAm' rbsbGetbubHevbIewbxbJeybjGkGlTcBdBeBlGdnen)e{j2 ( )cndhbi 3m4mzb;b=bAb?b@blnmnBbd [bodpdBm) CbDbNeEbFbOeGbPeHbIbQeJbmGnGmTfBgBhBoGfngn*e|j3 * -cqdibj 'm(mKb]b^bLb_b`bnnonMbe {brdsdCm+ NbObUePbQbVeRbWeSbTbXeUbpGqGnTiBjBkBrGhnin+e}j4 , ;ctdjbk =m?mVb|b}bWb~bacpnqnXbf bcudvdDm- YbZb1e0b1b2e2b3e3b4b4e5bsGtGoTlBmBnBuGjnkn,e~j5 . [cwdkbl ~man6bccdc7becfcrnsn8b

498 

499 def is_sequence_field(field: ModelField) -> bool: 1abcdef

500 return field.shape in sequence_shapes or _annotation_is_sequence(field.type_) # type: ignore[attr-defined] 2lMckoBdkpB9b7d`c{cUC`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtM!3xYrBsBtB~dgchcae!zvMwMxMyM:x0C#z1CzMRE2CHT%q(nmz3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/TLMMM:Tek8Cfk9CUEVENMOM;T$ +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i*Yf0+Y,Y-Y.Y/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9Er0;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoN` pNqNikGBjkHB'b#d~cad-CitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyN#3yYJBKBLBheicjcie^zANBNCNDNfy?C_z@CEN%E[CfU^qxosz]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUUQNRNVUkk|Clk}C)E*ESNTNWU% ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeADeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhj/Yg0:Y;Y=Y?YfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^Es0hAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOgbvOwOokXBpkYB:b(dldmdjDvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEO$3zY0B1B2BlekclcmenAGOHOIOJOyypDoAqDKO|ErD(Ukr)oxzsDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtVmcIc6 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbrj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzj@Yh0[Y]Y^Y_YzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFt0BACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJVNdOd5m6mEAAPBbBPCPsk'Btk(B[b,dodpdJDItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKP%3AY*B+B,BpencocqeHAMPNPOPPPRyPDIAQDQPsFRDOVBrypCzSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]VpcPc7 * -cqd2P3P^VukXDvkYDvFwF4P5P_VibJj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSARe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj`Yi0{Y|Y}Y~YTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFu0VAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiWTdUd)m*mYAGQMbHQIQwk_Bxk`B{b:drdsd9DVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQ'3BY|B}B~Bteqcrcue1ASQTQUQVQ!y(D2A)DWQNF*DnWSr*pHz+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2WscWc8 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjb1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9jaZj0bZcZdZeZ%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4Fv0(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+WZd0d@m[m+AMRXbNRORAklCBkmCbc@dudvd}D8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWR(3CYoCpCqCxetcucye.AYRZR0R1R]yeE/AfE2R8FgE:W9rzqMzhE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBXvc3c9 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkb,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfZk0gZhZiZjZ{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=Fw0}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX5d6dbncnbBSS8bTS

501 

502 def is_scalar_sequence_field(field: ModelField) -> bool: 1abcdef

503 return is_pv1_scalar_sequence_field(field) 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

504 

505 def is_bytes_field(field: ModelField) -> bool: 1abcdef

506 return lenient_issubclass(field.type_, bytes) 2`s_dAeBBBeCBctksbe~eCeDBdtxd.iydet/iftzd|c[qAd}citceDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstFdbdirGdcdvtkeKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtLdddzrMdedItoeRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStRdfdQrSdgdVtseYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5tXdhd7rYdid8twe5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t3djd;r4dkd

507 

508 def is_bytes_sequence_field(field: ModelField) -> bool: 1abcdef

509 return field.shape in sequence_shapes and lenient_issubclass(field.type_, bytes) # type: ignore[attr-defined] 2`s_drBsBtB~dgchcae!z+i!cwcxc,i#cyczcAc-i$cBcbhNxAeBectbe~eCedtxd.iydet/iftls:i;i=i?i*Yf0+Y,Y-Y.Y/z:hafbf;hzd|c[qAd}c@i[i]ihf^i_iifjfkflfmfBdCdLmMmitceJBKBLBheicjcie^z~i%cCcDcaj'cEcFcGcbj(cHclhSxDeEeptjeFfFeqtDdcjEdrtdjstxsejfjgjhj/Yg0:Y;Y=Y?YfAaiGfHfbiFdbdirGdcdijjjkjNfljmjOfPfQfRfSfHdIdUmVmvtke0B1B2BlekclcmenAmcIc6 rj*cJcKcsj+cLcMcNctj,cOcvhXxKeLeCtne#fMeDtJdujKdEtvjFtJswjxjyjzj@Yh0[Y]Y^Y_YzAoi$f%fpiLdddzrMdedAjBjCj,fDjEj-f.f/f:f;fNdOd5m6mItoe*B+B,BpencocqeHApcPc7 Jj.cQcRcKj/cScTcUcLj:cVcFh2xReSePtreggTeQtPdMjQdRtNjStVsOjPjQjRj`Yi0{Y|Y}Y~YTACihgigDiRdfdQrSdgdSjTjUjogVjWjpgqgrgsgtgTdUd)m*mVtse|B}B~Bteqcrcue1AscWc8 1j=cXcYc2j?cZc0c1c3j@c2cPh7xYeZe2tveMg0e3tVd4jWd4t5j5t7s6j7j8j9jaZj0bZcZdZeZ%AQiNgOgRiXdhd7rYdid!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m8tweoCpCqCxetcucye.Avc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cZh$x5e6e(tze+g7e)t1d/j2d*t:j+t,s;j=j?j@jfZk0gZhZiZjZ{A4i,g-g5i3djd;r4dkd[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

510 

511 def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcdef

512 return copy(field_info) 2a 9b~Z`c{cb 'ba0~cadc :bb0ldmdmc,bIc6 2 ( )cndd [bc0odpdpc-bPc7 3 * -cqde {bd0rdsdsc.bWc8 4 , ;ctdf bce0udvdvc/b3c9 5 . [cwd

513 

514 def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcdef

515 return sequence_shape_to_type[field.shape](value) # type: ignore[no-any-return,attr-defined] 2.i/icjdjujvjMjNj4j5j/j:j

516 

517 def get_missing_field_error(loc: Tuple[str, ...]) -> Dict[str, Any]: 1abcdef

518 missing_field_error = ErrorWrapper(MissingError(), loc=loc) # type: ignore[call-arg] 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

519 new_error = ValidationError([missing_field_error], RequestErrorModel) 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

520 return new_error.errors()[0] # type: ignore[return-value] 27d8z'i(i/ : ; = ? @ [ ] )i*i}gasbscsdsesfsgs6C7CekfkwcxcyczcAcBc@xEmFmGmHm[xIm)qJm*q+q[F,q:n:q=q?qKm!dAeBexdyd:hafbf;hzd|cAd}c` #d[z`i{i{ | } ~ abbbcbdb|i}iihmsnsospsqsrsss`C{CkklkCcDcEcFcGcHcjyNmOmPmQmkyRm{qSm|q}q]F~qFodrfrgrTm'dDeEeDdEdaiGfHfbiFdbdGdcdgb(dlAnjojrbsbtbubvbwbxbybpjqjshyszsAsBsCsDsEsvDwDqkrkJcKcLcMcNcOcCyWmXmYmZmDy0mnr1morpr^Fqr;ourwrxr2m+dKeLeJdKdoi$f%fpiLdddMdedBb,dFAFjGjCbDbEbFbGbHbIbJbHjIjChKsLsMsNsOsPsQsVDWDukvkQcRcScTcUcVcVy7m8m9m!mWy#mEr$mFrGr_FHrGpLrNrOr%m/dReSePdQdCihgigDiRdfdSdgdMb:dZAXjYjNbObPbQbRbSbTbUbZj0jMhWsXsYsZs0s1s2s.D/DykzkXcYcZc0c1c2c'y+m,m-m.m(y/mVr:mWrXr`FYr=p2r4r5r;m?dYeZeVdWdQiNgOgRiXdhdYdidXb@d,A(j)jYbZb0b1b2b3b4b5b*j+jWh8s9s!s#s$s%s'skElECkDk4c5c6c7c8c9c{y]m^m_m`m|y{m$r|m%r'r{F(rHq,r.r/r}m^d5e6e1d2d4i,g-g5i3djd4dkd8b

521 

522 def create_body_model( 1abcdef

523 *, fields: Sequence[ModelField], model_name: str 

524 ) -> Type[BaseModel]: 

525 BodyModel = create_model(model_name) 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

526 for f in fields: 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

527 BodyModel.__fields__[f.name] = f # type: ignore[index] 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

528 return BodyModel 2a _dm n o p q r s rYb cet u v w x y z sYc keA B C D E F G tYmc,bIc6 d oeH I J K L M N uYpc-bPc7 e seO P Q R S T U vYsc.bWc8 f weV W X Y Z 0 1 wYvc/b3c9

529 

530 def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: 1abcdef

531 return list(model.__fields__.values()) # type: ignore[attr-defined] 2$Z|F|3akkZlzaelZ%Z(nom*xDYEY$ hsmZnZ]x`xzuCuoZpZDCGuJuLujsFYGY(z*zlsf0HYIYr0;z=zqZrZgthtby'Z~Fe4bksZrzietZ(Zxorm+xJYKY% tsuZvZlyoy?u]uwZxZGC{u~ubvvsLYMY}zaAxsg0NYOYs0hAiAyZzZttutuy)ZbGl4AmAZwzmeBZ*Z)osm,xPYQYhbFsCZDZEyHyQvTvEZFZJCXv0v2vHsRYSYsAuAJsh0TYUYVYt0BACAGZHZGtHtNy+ZdGs4BmIZBzqeJZ,Zyptm-xWYXYibRsKZLZXy0ygwjwMZNZMCnwqwswTsYYZYMAOAVsi00Y1Y2Yu0VAWAOZPZTtUt6y-ZfGz4CmQZGzueRZ.Z*pum.x3Y4Yjb3sSZTZ)y,y7w!wUZVZPC'w*w,w5s5Y6Y6A8A7sj07Y8Y9Yv0(A)AWZXZ6t7t=y/ZhGG4DmYZLzyeZZ:Zzqvm/x!Y#Ykb(s0Z1Z}ybzxxAx2Z3ZSCExHxJx*s$Y%Y?A[A,sk0'Y(Y)Yw0}A~A4Z5Z,t-thz

532 

533 

534def _regenerate_error_with_loc( 1abcdef

535 *, errors: Sequence[Any], loc_prefix: Tuple[Union[str, int], ...] 

536) -> List[Dict[str, Any]]: 

537 updated_loc_errors: List[Any] = [ 2|Fckdk9b7d=tqBgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dloqz:i;i=i?i~xOxPxQxRxdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuIBicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4o=EejfjgjhjsyTxUxVxWxnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvZBkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpjFwjxjyjzjLyYxZx0x1xxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6v)BncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pEFOjPjQjRj4y3x4x5x6xHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dww{BqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnqZF6j7j8j9j:y8x9x!x#xRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wnCtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q-F;j=j?j@jfz%x'x(x)x1h5d6d}X~X4LaYbYcY5L

538 {**err, "loc": loc_prefix + err.get("loc", ())} 

539 for err in _normalize_errors(errors) 

540 ] 

541 

542 return updated_loc_errors 2|Fckdk9b7d=tqBgchcSEyEzE%q?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusu{s|s}s~stu(quuvuwuSXCLTXDLUXEL!c#c$cUSbhVSWSXSYSZS0Sat%h}F'h(h)h1S2SEuDCFu+h,h-h.h/hbtfoOuho!dloqz:i;i=i?i~xOxPxQxRxdhBdCdVXWXFLXXYXZXGL~Fikjk'b#dPuIBicjc'EAEBE^qQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,ujtktltmt-u`q.u/u:u0XHL1XIL2XJL%c'c(c3Slh4S5S6S7S8S9Snt@haG[h]h^h!S#S_uGC`u`h{h|h}h~hotYoev0o'd4o=EejfjgjhjsyTxUxVxWxnhHdId3X4XKL5X6X7XLLbGokpk:b(dfvZBkclc}ECEDEkrgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvwtxtytztKvmrLvMvNv6 ( 8XML9XNL!XOL*c+c,c$Svh%S'S(S)S*S+SAteicGfigihi,S-SVvJCWvjikiliminiBtgp5vip+dmpjFwjxjyjzjLyYxZx0x1xxhNdOd#X$XPL%X'X(XQLdGsktk[b,d6v)BncoctFEEFEBr7v8v9v!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~vJtKtLtMtawDrbwcwdw7 * )XRL*XSL+XTL.c/c:c.SFh/S:S;S=S?S@SNtsieGtiuivi[S]SlwMCmwxiyiziAiBiOtZpvw1p/d5pEFOjPjQjRj4y3x4x5x6xHhTdUd,X-XUL.X/X:XVLfGwkxk{b:dww{BqcrcOFGEHESrxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0wWtXtYtZt1wUr2w3w4w8 , ;XWL=XXL?XYL=c?c@c^SPh_S`S{S|S}S~S0tGigGHiIiJiaTbT$wPC%wLiMiNiOiPi1thq/wjq?dnqZF6j7j8j9j:y8x9x!x#xRhZd0d@X[XZL]X^X_X0LhGAkBkbc@d:wnCtcuc9FIEJE9r;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqx9t!t#t$trx#rsxtxux9 . `X1L{X2L|X3L]c^c_ccTZhdTeTfTgThTiT%tUiiGViWiXijTkTCxSCDxZi0i1i2i3i't0qMx2q^d6q-F;j=j?j@jfz%x'x(x)x1h5d6d}X~X4LaYbYcY5L

543 

544 

545def _annotation_is_sequence(annotation: Union[Type[Any], None]) -> bool: 1abcdef

546 if lenient_issubclass(annotation, (str, bytes)): 2a lMckoBdkpB9b7d`c{cUC6iWzakXzBT`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtM!3xYuMqBrBsBtB~dgchcae!zm n o p q r s lbvMwMxMyM:x0C#z1CzMRE2CKELEQzRzSzMEmmnm8e7iHT%q(nmzom-s=r8d9d?s3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?r*xLMMM:Tek8Cfk9CUEVENMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx*Yf0+Y,Y-Y.Y/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!Er0;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoNwmxm` pNb qNikGBjkHB'b#d~cad-C8iYzbkZzCTitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyN#3yYzNIBJBKBLBheicjcie^zt u v w x y z mbANBNCNDNfy?C_z@CEN%E[CNEOETzUzVzPEpmqm9e9ifU^qxoszrm.s@r$d%d@s]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[r+xQNRNVUkk|Clk}C)E*ESNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWx/Yg0:Y;Y=Y?YfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_Es0hAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOymzmgbvOc wOokXBpkYB:b(dldmdjD!i0zAm1zdYvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEO$3zYFOZB0B1B2BlekclcmenAA B C D E F G nbGOHOIOJOyypDoAqDKO|ErDjGkGcBdBeBlGdnen)e{j(Ukr)oxzsm/s]r)d*d[ssDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^r,xmcIc6 2 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1x@Yh0[Y]Y^Y_YzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFt0BACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJV.tNdOd5m6mEAAPlnmnBbBPd CPsk'Btk(B[b,dodpdJD#i2zBm3zeYItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKP%3AYLP)B*B+B,BpencocqeHAH I J K L M N obMPNPOPPPRyPDIAQDQPsFRDmGnGfBgBhBoGfngn*e|jOVBrypCztm:s_r-d.d]sSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`r-xpcPc7 3 * -cqd2P3P^VukXDvkYDvFwF4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6x`Yi0{Y|Y}Y~YTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFu0VAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiW/tTdUd)m*mYAGQnnonMbHQe IQwk_Bxk`B{b:drdsd9D$i4zCm5zfYVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQ'3BYRQ{B|B}B~Bteqcrcue1AO P Q R S T U pbSQTQUQVQ!y(D2A)DWQNF*DpGqGiBjBkBrGhnin+e}jnWSr*pHzum;s{r;d=d^s+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|r.xscWc8 4 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#xaZj0bZcZdZeZ%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5Fv0(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+W:tZd0d@m[m+AMRpnqnXbNRf ORAklCBkmCbc@dudvd}D%i6zDm7zgY8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWR(3CYXRnCoCpCqCxetcucye.AV W X Y Z 0 1 qbYRZR0R1R]yeE/AfE2R8FgEsGtGlBmBnBuGjnkn,e~j:W9rzqMzvm=s}r[d]d_shE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~r/xvc3c9 5 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)xfZk0gZhZiZjZ{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?Fw0}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX;t5d6dbncnbBSSrnsn8bTS

547 return False 2a lM7d`c{cUC6iakBTmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZClzpMqMrMsMQEtM!3xYuMqB~dgchcae!zvMwMxMyM:x0C#z1CzMRE2C(n3C$z;x=xAM?x4CBM{s|sCM}s~sDMEMFMGMHMIMLMMMek8Cfk9CNMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSMTMUMhsWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+q]x%h^x_xYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M0E1EaNbNcNdNeNfNGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xjsgNhNiNbtjNkNlNKm}x!d'Clo,z-z*C.zqz3E4EzBAeBBBeCBksbeDBls:i;i=i?i~xayOxPxQxRx*Yf0+Y,Y-Y.Y/z:hafbf;hzd|c[qAd}cmN5E6E7E8E9E@i[i]ihf^i_iifjfkflfmfgkbyhknN#E^ !b#b_ $b%bdh?zcydyeywmxm` pNb qN#d~cad-C8ibkCTrNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CrzuNvNwNxN$EyN#3yYzNIBheicjcie^zANBNCNDNfy?C_z@CEN%E[Cxo]C`zgyhyFNiy^CGNjtktHNltmtINJNKNLNMNNNQNRNkk|Clk}CSNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNYNZNts+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qly@hmyny-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeO/E:EfOgOhOiOjOkO{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvslOmOnOotoOpOqOTmry'ddD4ocAdAgDeADeSBEeTBwsjeUBxsejfjgjhjsytyTxUxVxWx/Yg0:Y;Y=Y?YfAaiGfHfbiFdbdirGdcdsO?E@E[E]E^EijjjkjNfljmjOfPfQfRfSfmkuynktO`Eeb(b)bfb*b+bnhjAvywyxyymzmgbvOc wO(dldmdjD!iAmdYxOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDwzAOBOCODO{EEO$3zYFOZBlekclcmenAGOHOIOJOyypDoAqDKO|ErD)osDpAzyAyLOBytDMOwtxtNOytztOOPOQOROSOTOmcIc6 2 ( )cndWOXOqkxDrkyDYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3O4O5OFscF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprEyeiFyGyeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPgFhFlPmPnPoPpPqPXvYvZvji0v1vkili2v3v4vminiCDJyHsrPsPtPBtuPvPwP2mKy+dDDmpwAxAGDyAKe9BLe!BIsne#BJswjxjyjzjLyMyYxZx0x1x@Yh0[Y]Y^Y_YzAoi$f%fpiLdddzrMdedyPkFlFmFnFoFAjBjCj,fDjEj-f.f/f:f;f3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQylnmnBbBPd CP,dodpdJD#iBmeYDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChODBzGPHPIPJPrFKP%3AYLP)BpencocqeHAMPNPOPPPRyPDIAQDQPsFRDypSDJASyTyRPUyTDSPJtKtTPLtMtUPVPWPXPYPZPpcPc7 3 * -cqd2P3PukXDvkYD4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P!P#PRsxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrXysiYyZyzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQBFCFrQsQtQuQvQwQnwowpwxiqwrwyiziswtwuwAiBi2D2yTsxQyQzQOtAQBQCQ%m3y/d3D5pQARA6DSARe?BSe@BUsre[BVsOjPjQjRj4y5y3x4x5x6x`Yi0{Y|Y}Y~YTACihgigDiRdfdQrSdgdEQFFGFHFIFJFSjTjUjogVjWjpgqgrgsgtg'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9ynnonMbHQe IQ:drdsd9D$iCmfYJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DGzMQNQOQPQMFQQ'3BYRQ{Bteqcrcue1ASQTQUQVQ!y(D2A)DWQNF*D*p+D3A#y$yXQ%y,DYQWtXtZQYtZt0Q1Q2Q3Q4Q5QscWc8 4 , ;ctd8Q9Qyk:Dzk;D!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q)Q*Q3sSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr)yGi*y+yUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwRWFXFxRyRzRARBRCR'w(w)wLi*w+wMiNi,w-w.wOiPi[D.y5sDRERFR1tGRHRIR;m/y?d]Dnq!A#A`D$AYegCZehC6sveiC7s6j7j8j9j:y;y8x9x!x#xaZj0bZcZdZeZ%AQiNgOgRiXdhd7rYdidKR0F1F2F3F4F!j#j$jUg%j'jVgWgXgYgZg=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[ypnqnXbNRf OR@dudvd}D%iDmgYPRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdELzSRTRURVR7FWR(3CYXRnCxetcucye.AYRZR0R1R]yeE/AfE2R8FgEzqhE:A^y_y3R`yiE4R9t!t5R#t$t6R7R8R9R!R#Rvc3c9 5 . [cwd'R(RCkmEDknE)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.R/R:R(s%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r}yUi~yaz(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCS*F+FDSESFSGSHSISExFxGxZiHxIx0i1iJxKxLx2i3irEdz*sJSKSLS'tMSNSOS}mez^dsE6q^A_AvE`A5exC6eyC+szezC,s;j=j?j@jfzgz%x'x(x)xfZk0gZhZiZjZ{A4i,g-g5i3djd;r4dkdQS.F/F:F;F=F[j]j^j?g_j`j@g[g]g^g_g~mhzanRS@F6bccdc7becfc1haBizjzkzrnsn8bTS

548 return lenient_issubclass(annotation, sequence_types) 2a lMckoBdkpB9b7d`c{cUC6iWzakXzBT`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zm n o p q r s lbvMwMxMyM:x0C#z1CzMRE2CKELEQzRzSzMEmmnm8e7iHT%q(nmzom-s=r8d9d?s3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?r*xLMMM:Tek8Cfk9CUEVENMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!Er0;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoNwmxm` pNb qNikGBjkHB'b#d~cad-C8iYzbkZzCTitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^zt u v w x y z mbANBNCNDNfy?C_z@CEN%E[CNEOETzUzVzPEpmqm9e9ifU^qxoszrm.s@r$d%d@s]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[r+xQNRNVUkk|Clk}C)E*ESNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_Es0hAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOymzmgbvOc wOokXBpkYB:b(dldmdjD!i0zAm1zdYvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenAA B C D E F G nbGOHOIOJOyypDoAqDKO|ErDjGkGcBdBeBlGdnen)e{j(Ukr)oxzsm/s]r)d*d[ssDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^r,xmcIc6 2 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFt0BACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJV.tNdOd5m6mEAAPlnmnBbBPd CPsk'Btk(B[b,dodpdJD#i2zBm3zeYItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAH I J K L M N obMPNPOPPPRyPDIAQDQPsFRDmGnGfBgBhBoGfngn*e|jOVBrypCztm:s_r-d.d]sSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`r-xpcPc7 3 * -cqd2P3P^VukXDvkYDvFwF4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFu0VAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiW/tTdUd)m*mYAGQnnonMbHQe IQwk_Bxk`B{b:drdsd9D$i4zCm5zfYVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1AO P Q R S T U pbSQTQUQVQ!y(D2A)DWQNF*DpGqGiBjBkBrGhnin+e}jnWSr*pHzum;s{r;d=d^s+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|r.xscWc8 4 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5Fv0(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+W:tZd0d@m[m+AMRpnqnXbNRf ORAklCBkmCbc@dudvd}D%i6zDm7zgY8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AV W X Y Z 0 1 qbYRZR0R1R]yeE/AfE2R8FgEsGtGlBmBnBuGjnkn,e~j:W9rzqMzvm=s}r[d]d_shE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~r/xvc3c9 5 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?Fw0}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX;t5d6dbncnbBSSrnsn8bTS

549 

550 

551def field_annotation_is_sequence(annotation: Union[Type[Any], None]) -> bool: 1abcdef

552 origin = get_origin(annotation) 2a lMckoBdkpB9b7d`c{cUC6iWzakXzBT`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zm n o p q r s lbvMwMxMyM:x0C#z1CzMRE2CQzRzSzmmnm8e7iHT%q(nmzom-s=r8d9d?s3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?r*xLMMM:Tek8Cfk9CUEVENMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoNwmxm` pNb qNikGBjkHB'b#d~cad-C8iYzbkZzCTitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^zt u v w x y z mbANBNCNDNfy?C_z@CEN%E[CTzUzVzpmqm9e9ifU^qxoszrm.s@r$d%d@s]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[r+xQNRNVUkk|Clk}C)E*ESNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOymzmgbvOc wOokXBpkYB:b(dldmdjD!i0zAm1zdYvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenAA B C D E F G nbGOHOIOJOyypDoAqDKO|ErDcBdBeBdnen)e{j(Ukr)oxzsm/s]r)d*d[ssDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^r,xmcIc6 2 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJV.tNdOd5m6mEAAPlnmnBbBPd CPsk'Btk(B[b,dodpdJD#i2zBm3zeYItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAH I J K L M N obMPNPOPPPRyPDIAQDQPsFRDfBgBhBfngn*e|jOVBrypCztm:s_r-d.d]sSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`r-xpcPc7 3 * -cqd2P3P^VukXDvkYDvFwF4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiW/tTdUd)m*mYAGQnnonMbHQe IQwk_Bxk`B{b:drdsd9D$i4zCm5zfYVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1AO P Q R S T U pbSQTQUQVQ!y(D2A)DWQNF*DiBjBkBhnin+e}jnWSr*pHzum;s{r;d=d^s+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|r.xscWc8 4 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+W:tZd0d@m[m+AMRpnqnXbNRf ORAklCBkmCbc@dudvd}D%i6zDm7zgY8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AV W X Y Z 0 1 qbYRZR0R1R]yeE/AfE2R8FgElBmBnBjnkn,e~j:W9rzqMzvm=s}r[d]d_shE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~r/xvc3c9 5 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX;t5d6dbncnbBSSrnsn8bTS

553 if origin is Union or origin is UnionType: 2a lMckoBdkpB9b7d`c{cUC6iWzakXzBT`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zm n o p q r s lbvMwMxMyM:x0C#z1CzMRE2CQzRzSzmmnm8e7iHT%q(nmzom-s=r8d9d?s3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?r*xLMMM:Tek8Cfk9CUEVENMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoNwmxm` pNb qNikGBjkHB'b#d~cad-C8iYzbkZzCTitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^zt u v w x y z mbANBNCNDNfy?C_z@CEN%E[CTzUzVzpmqm9e9ifU^qxoszrm.s@r$d%d@s]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[r+xQNRNVUkk|Clk}C)E*ESNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOymzmgbvOc wOokXBpkYB:b(dldmdjD!i0zAm1zdYvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenAA B C D E F G nbGOHOIOJOyypDoAqDKO|ErDcBdBeBdnen)e{j(Ukr)oxzsm/s]r)d*d[ssDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^r,xmcIc6 2 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJV.tNdOd5m6mEAAPlnmnBbBPd CPsk'Btk(B[b,dodpdJD#i2zBm3zeYItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAH I J K L M N obMPNPOPPPRyPDIAQDQPsFRDfBgBhBfngn*e|jOVBrypCztm:s_r-d.d]sSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`r-xpcPc7 3 * -cqd2P3P^VukXDvkYDvFwF4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiW/tTdUd)m*mYAGQnnonMbHQe IQwk_Bxk`B{b:drdsd9D$i4zCm5zfYVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1AO P Q R S T U pbSQTQUQVQ!y(D2A)DWQNF*DiBjBkBhnin+e}jnWSr*pHzum;s{r;d=d^s+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|r.xscWc8 4 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+W:tZd0d@m[m+AMRpnqnXbNRf ORAklCBkmCbc@dudvd}D%i6zDm7zgY8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AV W X Y Z 0 1 qbYRZR0R1R]yeE/AfE2R8FgElBmBnBjnkn,e~j:W9rzqMzvm=s}r[d]d_shE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~r/xvc3c9 5 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX;t5d6dbncnbBSSrnsn8bTS

554 for arg in get_args(annotation): 2UCakBT! }gZC~dgchcae:x0C#z1CRE2C(nmz3C$z;x=x?x4CuBTE(qek8Cfk9C$ +i!cwcxc,i#cyczcAc-i$cBchsxu!Cyu#C$C]x%h^x_xzuAuBu'hCuDu(h)h{xnzozGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjs}x!d'Clo,z-z2EyB*C.zqz3E4EzBksbe~eCe@i[i]ihf^i_iifjfkflfmf#E^ !b#b_ $b%bdh?zcydyeyBdCdLmMm-CbkCT# ih=Cheicjciefy?C_z@C%E[Cxosz]C`zgyhyiy^CMB(E`qkk|Clk}C% ~i%cCcDcaj'cEcFcGcbj(cHcts;u~C=uaDbDly@hmyny?u@u[u[h]u^u]h^hpytzuz{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvsry'ddD4ocAdA;EQBgDeAwsjeFfFeijjjkjNfljmjOfPfQfRfSf`Eeb(b)bfb*b+bnhjAvywyxyHdIdUmVmjDAmdY' shoDlekclcmeyypDoAqD|ErD)oxzsDpAzyAyBytD3B~EmrmcIc6 ( )cndqkxDrkyDhbrj*cJcKcsj+cLcMcNctj,cOcFsOvzDPvADBDEyeiFyGyQvRvSvfiTvUvgihiIyyzzzXvYvZvji0v1vkili2v3v4vminiCDJyAzHsKy+dDDmpwAxAiF7BGDyAIsne#fMeAjBjCj,fDjEj-f.f/f:f;fqFzb;b=bAb?b@bxhDAOyPyQyNdOd5m6mJDBmeY) ChODpencocqeRyPDIAQDsFRDypCzSDJASyTyUyTD-BuFDrpcPc7 * -cqdukXDvkYDibJj.cQcRcKj/cScTcUcLj:cVcRsewZDfw0D1DXysiYyZygwhwiwtijwkwuivi1yDzEznwowpwxiqwrwyiziswtwuwAiBi2D2yFzTs3y/d3D5pQARADF;B6DSAUsreggTeSjTjUjogVjWjpgqgrgsgtgLFKb]b^bLb_b`bHhXA7y8y9yTdUd)m*m9DCmfY+ Mh'Dteqcrcue!y(D2A)DNF*D*pHz+D3A#y$y%y,DaCPFUrscWc8 , ;ctdyk:Dzk;Djb1j=cXcYc2j?cZc0c1c3j@c2c3s5w=D6w?D@D)yGi*y+y7w8w9wHi!w#wIiJi-yIzJz'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5s/y?d]Dnq!A#AYFeC`D$A6sveMg0e!j#j$jUg%j'jVgWgXgYgZg6FVb|b}bWb~bacRh*A?y@y[yZd0d@m[m}DDmgY- WhdExetcucye]yeE/AfE8FgEzqMzhE:A^y_y`yiErC!F#rvc3c9 . [cwdCkmEDknEkb,j]c4c5c-j^c6c7c8c.j_c9c(svxoEwxpEqE}yUi~yazxxyxzxViAxBxWiXiczNzOzExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sez^dsE6q^A_A,FvCvE`A+sze+g7e[j]j^j?g_j`j@g[g]g^g_g@F6bccdc7becfc1haBizjzkz5d6dbncn

555 if field_annotation_is_sequence(arg): 2UCakBT! }gZC~dgchcae:x0C#z1CRE2C(nmz3C$z;x=x?x4CuBTE(qek8Cfk9C$ +i!cwcxc,i#cyczcAc-i$cBchsxu!Cyu#C$C]x%h^x_xzuAuBu'hCuDu(h)h{xnzozGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjs}x!d'Clo,z-z2EyB*C.zqz3E4EzBksbe~eCe@i[i]ihf^i_iifjfkflfmf#E^ !b#b_ $b%bdh?zcydyeyBdCdLmMm-CbkCT# ih=Cheicjciefy?C_z@C%E[Cxosz]C`zgyhyiy^CMB(E`qkk|Clk}C% ~i%cCcDcaj'cEcFcGcbj(cHcts;u~C=uaDbDly@hmyny?u@u[u[h]u^u]h^hpytzuz{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvsry'ddD4ocAdA;EQBgDeAwsjeFfFeijjjkjNfljmjOfPfQfRfSf`Eeb(b)bfb*b+bnhjAvywyxyHdIdUmVmjDAmdY' shoDlekclcmeyypDoAqD|ErD)oxzsDpAzyAyBytD3B~EmrmcIc6 ( )cndqkxDrkyDhbrj*cJcKcsj+cLcMcNctj,cOcFsOvzDPvADBDEyeiFyGyQvRvSvfiTvUvgihiIyyzzzXvYvZvji0v1vkili2v3v4vminiCDJyAzHsKy+dDDmpwAxAiF7BGDyAIsne#fMeAjBjCj,fDjEj-f.f/f:f;fqFzb;b=bAb?b@bxhDAOyPyQyNdOd5m6mJDBmeY) ChODpencocqeRyPDIAQDsFRDypCzSDJASyTyUyTD-BuFDrpcPc7 * -cqdukXDvkYDibJj.cQcRcKj/cScTcUcLj:cVcRsewZDfw0D1DXysiYyZygwhwiwtijwkwuivi1yDzEznwowpwxiqwrwyiziswtwuwAiBi2D2yFzTs3y/d3D5pQARADF;B6DSAUsreggTeSjTjUjogVjWjpgqgrgsgtgLFKb]b^bLb_b`bHhXA7y8y9yTdUd)m*m9DCmfY+ Mh'Dteqcrcue!y(D2A)DNF*D*pHz+D3A#y$y%y,DaCPFUrscWc8 , ;ctdyk:Dzk;Djb1j=cXcYc2j?cZc0c1c3j@c2c3s5w=D6w?D@D)yGi*y+y7w8w9wHi!w#wIiJi-yIzJz'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5s/y?d]Dnq!A#AYFeC`D$A6sveMg0e!j#j$jUg%j'jVgWgXgYgZg6FVb|b}bWb~bacRh*A?y@y[yZd0d@m[m}DDmgY- WhdExetcucye]yeE/AfE8FgEzqMzhE:A^y_y`yiErC!F#rvc3c9 . [cwdCkmEDknEkb,j]c4c5c-j^c6c7c8c.j_c9c(svxoEwxpEqE}yUi~yazxxyxzxViAxBxWiXiczNzOzExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sez^dsE6q^A_A,FvCvE`A+sze+g7e[j]j^j?g_j`j@g[g]g^g_g@F6bccdc7becfc1haBizjzkz5d6dbncn

556 return True 2BTpz2EyBCTvz;EQBdYAziF7BeYFzDF;BfYKzYFeCgYPz,FvC

557 return False 2UCak! }gZC~dgchcae:x0C#z1CRE2C(nmz3C$z;x=x?x4CuBTE(qek8Cfk9C$ +i!cwcxc,i#cyczcAc-i$cBchsxu!Cyu#C$C]x%h^x_xzuAuBu'hCuDu(h)h{xnzozGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xjs}x!d'Clo,z-z*C.zqz3E4EzBksbe~eCe@i[i]ihf^i_iifjfkflfmf#E^ !b#b_ $b%bdh?zcydyeyBdCdLmMm-Cbk# ih=Cheicjciefy?C_z@C%E[Cxosz]C`zgyhyiy^CMB(E`qkk|Clk}C% ~i%cCcDcaj'cEcFcGcbj(cHcts;u~C=uaDbDly@hmyny?u@u[u[h]u^u]h^hpytzuz{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvsry'ddD4ocAdAgDeAwsjeFfFeijjjkjNfljmjOfPfQfRfSf`Eeb(b)bfb*b+bnhjAvywyxyHdIdUmVmjDAm' shoDlekclcmeyypDoAqD|ErD)oxzsDpAzyAyBytD3B~EmrmcIc6 ( )cndqkxDrkyDhbrj*cJcKcsj+cLcMcNctj,cOcFsOvzDPvADBDEyeiFyGyQvRvSvfiTvUvgihiIyyzzzXvYvZvji0v1vkili2v3v4vminiCDJyHsKy+dDDmpwAxAGDyAIsne#fMeAjBjCj,fDjEj-f.f/f:f;fqFzb;b=bAb?b@bxhDAOyPyQyNdOd5m6mJDBm) ChODpencocqeRyPDIAQDsFRDypCzSDJASyTyUyTD-BuFDrpcPc7 * -cqdukXDvkYDibJj.cQcRcKj/cScTcUcLj:cVcRsewZDfw0D1DXysiYyZygwhwiwtijwkwuivi1yDzEznwowpwxiqwrwyiziswtwuwAiBi2D2yTs3y/d3D5pQARA6DSAUsreggTeSjTjUjogVjWjpgqgrgsgtgLFKb]b^bLb_b`bHhXA7y8y9yTdUd)m*m9DCm+ Mh'Dteqcrcue!y(D2A)DNF*D*pHz+D3A#y$y%y,DaCPFUrscWc8 , ;ctdyk:Dzk;Djb1j=cXcYc2j?cZc0c1c3j@c2c3s5w=D6w?D@D)yGi*y+y7w8w9wHi!w#wIiJi-yIzJz'w(w)wLi*w+wMiNi,w-w.wOiPi[D.y5s/y?d]Dnq!A#A`D$A6sveMg0e!j#j$jUg%j'jVgWgXgYgZg6FVb|b}bWb~bacRh*A?y@y[yZd0d@m[m}DDm- WhdExetcucye]yeE/AfE8FgEzqMzhE:A^y_y`yiErC!F#rvc3c9 . [cwdCkmEDknEkb,j]c4c5c-j^c6c7c8c.j_c9c(svxoEwxpEqE}yUi~yazxxyxzxViAxBxWiXiczNzOzExFxGxZiHxIx0i1iJxKxLx2i3irEdz*sez^dsE6q^A_AvE`A+sze+g7e[j]j^j?g_j`j@g[g]g^g_g@F6bccdc7becfc1haBizjzkz5d6dbncn

558 return _annotation_is_sequence(annotation) or _annotation_is_sequence( 2a lMckoBdkpB9b7d`c{cUC6iWzakXzBT`s_dmMnMoM'iVCDT(iWCET! / : `d; = {d? |d@ [ }d] )iXCFT*iYCGT}gZC=tlzpMqMrMsMQEtMuMqBrBsBtB~dgchcae!zm n o p q r s lbvMwMxMyM:x0C#z1CzMRE2CQzRzSzmmnm8e7iHT%q(nmzom-s=r8d9d?s3C$zIT;x=xAM?xJTKT?t@tLTMTNT[tOTPTQT]t^tRTST_t`t{t4C|tTTUT}t~tVTWTauXTbuYTcuduZT0T1Teu2T3T4Tfu5T6Tgu7Thu8Tiu9Tjuku!T#Tlumu$Tnuou%Tpuqu'TrusuBM{s|sCM}s~sDMEMFMGMHMIMas(Tbs5C)TtucsuBTE(q*TuuvuJMKMvBdses3K4K+T5K,Tfsgs-Twu.T/T?r*xLMMM:Tek8Cfk9CUEVENMOM;T$ g +i!cwcxc,i#cyczcAc-i$cBcPMQMRMSM=T?TTMUMhsbhNxWEVMxu!CXEWMyu#CwBxBXM$CYM@xZM0M1MEmFm2M3MGmHm4M5M[xIm6M)q7MJm8M*q9M!M+qat6K7K]x%h^x_x,q:n8KYE`x#M$M%MzuAuBu'hCuDu(h)h{x'M(MZEnzoz)M*M:q+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M=q?q|M}M~M@T[T0E1EaNbNcNdNeNfN]T^TEu_T`TFuGuHuIu+hJuKu,h-hLuMuNu.h/h%C|xpzjsgNhNiNbtjNkN(z)z9Kfo*z+zOuholNKm}x!d'Clo,z-z2EyB(C{T|T)C*C.zqz3E4EzBAeBBBeCBctksbe~eCeDBdtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}cmN+C}T,C~T5E6E7E8E9E!E;z=z@i[i]ihf^i_iifjfkflfmfgthtgkbyhknN#E^ !b#b_ $b%bdh?zcydyeyaUBdCdLmMm@zoNwmxm` pNb qNikGBjkHB'b#d~cad-C8iYzbkZzCTitcerNsNtN`i.CbU{i/CcU# { | de} ~ eeabfebbcbgedb|i:CdU}i;CeUih=CPurzuNvNwNxN$EyNzNIBJBKBLBheicjcie^zt u v w x y z mbANBNCNDNfy?C_z@CEN%E[CTzUzVzpmqm9e9ifU^qxoszrm.s@r$d%d@s]C`zgUgyhyFNiyhUiUQuRujUkUlUSumUnUoUTuUupUqUVuWuXu^CYurUsUZu0utUuU1uvU2uwU3u4uxUyUzU5uAUBUCU6uDUEU7uFU8uGU9uHU!u#uIUJU$u%uKU'u(uLU)u*uMU+u,uGNjtktHNltmtINJNKNLNMNNNmsNUns_COU-uosMB(E`qPU.u/uONPNNBpsqs!K#KQU$KRUrsssSU:uTUUU[r+xQNRNVUkk|Clk}C)E*ESNTNWU% h ~i%cCcDcaj'cEcFcGcbj(cHcUNVNWNXNXUYUYNZNtslhSx+E0N;u~C,E1N=uaDOBPB2NbD3Njy4N5N6NNmOm7N8NPmQm9N!NkyRm#N{q$NSm%N|q'N(N}qnt%K'Kly@hmyny~qFo(K-Eoy)N*N+N?u@u[u[h]u^u]h^hpy,N-N.Etzuz.N/Ndr:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOfrgrcOdOeOZU0U/E:EfOgOhOiOjOkO1U2U_u3U4U`u{u|u}u`h~uav{h|hbvcvdv}h~hcDqyvzvslOmOnOotoOpO}z~z)KYoaAbAev0oqOTmry'ddD4ocAdA;EQBeD5U6UfDgDeA=EhYiYrODeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdsOhD7UiD8U?E@E[E]E^E_EhAiAijjjkjNfljmjOfPfQfRfSfttutmkuynktO`Eeb(b)bfb*b+bnhjAvywyxy9U!UHdIdUmVmkAuOymzmgbvOc wOokXBpkYB:b(dldmdjD!i0zAm1zdYvtkexOyOzOnjkD#UojlD$U' rbsbGetbubHevbIewbxbJeybpjmD%UqjnD'UshoDfvwzAOBOCODO{EEOFOZB0B1B2BlekclcmenAA B C D E F G nbGOHOIOJOyypDoAqDKO|ErDcBdBeBdnen)e{j(Ukr)oxzsm/s]r)d*d[ssDpA)UzyAyLOBy*U+Ugvhv,U-U.Uiv/U:U;Ujvkv=U?UlvmvnvtDov@U[Upvqv]U^Urv_Usv`Utvuv{U|U}Uvv~UaVbVwvcVdVxveVyvfVzvgVAvBvhViVCvDvjVEvFvkVGvHvlVIvJvMOwtxtNOytztOOPOQOROSOTOysmVzsuDnVKvAs3B~EmroVLvMvUOVO4BBsCs*K+KpV,KqVDsEsrVNvsVtV^r,xmcIc6 2 ( )cndWOXOuVqkxDrkyDaFbFYOZOvVhbi rj*cJcKcsj+cLcMcNctj,cOc0O1O2O3OwVxV4O5OFsvhXxcF6OOvzDdF7OPvAD5B6B8OBD9OCy!O#O$OWmXm%O'OYmZm(O)ODy0m*Onr+O1m,Oor-O.OprAt-K.KEyeiFyGyqr;o/KeFHy/O:O;OQvRvSvfiTvUvgihiIy=O?OfFyzzz@O[Our]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPwrxriPjPkPyVzVgFhFlPmPnPoPpPqPAVBVVvCVDVWvXvYvZvji0v1vkili2v3v4vminiCDJyAzHsrPsPtPBtuPvPsAtA:KgpuAvA5vipwP2mKy+dDDmpwAxAiF7BEDEVFVFDGDyAjFjYkYxPKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedyPHDGVIDHVkFlFmFnFoFpFBACAAjBjCj,fDjEj-f.f/f:f;fGtHt3mNy4mzPqFzb;b=bAb?b@bxhDAOyPyQyIVJV.tNdOd5m6mEAAPlnmnBbBPd CPsk'Btk(B[b,dodpdJD#i2zBm3zeYItoeDPEPFPFjKDKVGjLDLV) CbDbNeEbFbOeGbPeHbIbQeJbHjMDMVIjNDNVChOD6vBzGPHPIPJPrFKPLP)B*B+B,BpencocqeHAH I J K L M N obMPNPOPPPRyPDIAQDQPsFRDfBgBhBfngn*e|jOVBrypCztm:s_r-d.d]sSDJAPVSyTyRPUyQVRV7v8vSVTVUV9vVVWVXV!v#vYVZV$v%v'vTD(v0V1V)v*v2V3V+v4V,v5V-v.v6V7V8V/v9V!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~vSPJtKtTPLtMtUPVPWPXPYPZPKs/VLsUD:VawMs-BuFDr;Vbwcw0P1P.BNsOs;K=K=V?K?VPsQs@Vdw[V]V`r-xpcPc7 3 * -cqd2P3P^VukXDvkYDvFwF4P5P_Vibj Jj.cQcRcKj/cScTcUcLj:cVc6P7P8P9P`V{V!P#PRsFh2xxF$PewZDyF%Pfw0D/B:B'P1D(PVy)P*P+P7m8m,P-P9m!m.P/PWy#m:PEr;P$m=PFr?P@PGrNt@K[KXysiYyZyHrGp]KzF0y[P]P^Pgwhwiwtijwkwuivi1y_P`PAFDzEz{P|PLr}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQNrOroQpQqQ|V}VBFCFrQsQtQuQvQwQ~VaWlwbWcWmwnwowpwxiqwrwyiziswtwuwAiBi2D2yFzTsxQyQzQOtAQBQMANA^KZpOAPAvw1pCQ%m3y/d3D5pQARADF;B4DdWeW5D6DSAEFlYmYDQRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdEQ7DfW8DgWFFGFHFIFJFKFVAWASjTjUjogVjWjpgqgrgsgtgTtUt'm6y(mFQLFKb]b^bLb_b`bHhXA7y8y9yhWiW/tTdUd)m*mYAGQnnonMbHQe IQwk_Bxk`B{b:drdsd9D$i4zCm5zfYVtseJQKQLQXj!DjWYj#DkW+ NbObUePbQbVeRbWeSbTbXeUbZj$DlW0j%DmWMh'DwwGzMQNQOQPQMFQQRQ{B|B}B~Bteqcrcue1AO P Q R S T U pbSQTQUQVQ!y(D2A)DWQNF*DiBjBkBhnin+e}jnWSr*pHzum;s{r;d=d^s+D3AoW#y$yXQ%ypWqWxwywrWsWtWzwuWvWwWAwBwxWyWCwDwEw,DFwzWAWGwHwBWCWIwDWJwEWKwLwFWGWHWMwIWJWKWNwLWMWOwNWPwOWQwPWRwSwQWRWTwUwSWVwWwTWXwYwUWZw0wYQWtXtZQYtZt0Q1Q2Q3Q4Q5QWsVWXs-DWW1wYsaCPFUrXW2w3w6Q7QbCZs0s_K`KYW{KZW1s2s0W4w1W2W|r.xscWc8 4 , ;ctd8Q9Q3Wyk:Dzk;DQFRF!Q#Q4Wjbk 1j=cXcYc2j?cZc0c1c3j@c2c$Q%Q'Q(Q5W6W)Q*Q3sPh7xSF+Q5w=DTF,Q6w?DcCdC-Q@D.Q'y/Q:Q;Q+m,m=Q?Q-m.m@Q[Q(y/m]QVr^Q:m_QWr`Q{QXr0t|K}K)yGi*y+yYr=p~KUF,y|Q}Q~Q7w8w9wHi!w#wIiJi-yaRbRVFIzJzcRdR2reRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtR4r5ruRvRwR7W8WWFXFxRyRzRARBRCR9W!W$w#W$W%w'w(w)wLi*w+wMiNi,w-w.wOiPi[D.yKz5sDRERFR1tGRHR6A7AaLhq8A9A/wjqIR;m/y?d]Dnq!A#AYFeC^D%W'W_D`D$AZFnYoYJRYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdidKR{D(W|D)W0F1F2F3F4F5F(A)A!j#j$jUg%j'jVgWgXgYgZg6t7t=m=y?mLR6FVb|b}bWb~bacRh*A?y@y[y*W+W:tZd0d@m[m+AMRpnqnXbNRf ORAklCBkmCbc@dudvd}D%i6zDm7zgY8twePRQRRR(j~D,W)jaE-W- YbZb1e0b1b2e2b3e3b4b4e5b*jbE.W+jcE/WWhdE:wLzSRTRURVR7FWRXRnCoCpCqCxetcucye.AV W X Y Z 0 1 qbYRZR0R1R]yeE/AfE2R8FgElBmBnBjnkn,e~j:W9rzqMzvm=s}r[d]d_shE:A;W^y_y3R`y=W?W;w=w@W[W]W?w^W_W`W@w[w{W|W]w^w_wiE`w}W~W{w|waXbX}wcX~wdXaxbxeXfXgXcxhXiXjXdxkXlXexmXfxnXgxoXhxixpXqXjxkxrXlxmxsXnxoxtXpxqx4R9t!t5R#t$t6R7R8R9R!R#R8suX9sjEvXrx!srC!F#rwXsxtx$R%RsC#s$sbLcLxXdLyX%s'szXuxAXBX~r/xvc3c9 5 . [cwd'R(RCXCkmEDknE#F$F)R*RDXkbl ,j]c4c5c-j^c6c7c8c.j_c9c+R,R-R.REXFX/R:R(sZh$x%F;RvxoE'F=RwxpEtCuC?RqE@R{y[R]R^R]m^m_R`R_m`m{R|R|y{m}R$r~R|maS%rbScS'r%teLfL}yUi~yaz(rHqgL(FbzdSeSfSxxyxzxViAxBxWiXiczgShS)FNzOziSjS,rkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS.r/rASBSCSGXHX*F+FDSESFSGSHSISIXJXCxKXLXDxExFxGxZiHxIx0i1iJxKxLx2i3irEdzPz*sJSKSLS'tMSNS?A@AhL0q[A]AMx2qOS}mez^dsE6q^A_A,FvCtEMXNXuEvE`A-FpYqYPS5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkdQSwEOXxEPX.F/F:F;F=F?F}A~A[j]j^j?g_j`j@g[g]g^g_g,t-t~mhzanRS@F6bccdc7becfc1haBizjzkzQXRX;t5d6dbncnbBSSrnsn8bTS

559 get_origin(annotation) 

560 ) 

561 

562 

563def value_is_sequence(value: Any) -> bool: 1abcdef

564 return isinstance(value, sequence_types) and not isinstance(value, (str, bytes)) # type: ignore[arg-type] 2xd.iyd/iDdcjEddjJdujKdvjPdMjQdNjVd4jWd5j1d/j2d:j

565 

566 

567def _annotation_is_complex(annotation: Union[Type[Any], None]) -> bool: 1abcdef

568 return ( 2a 9b`c{c6iak! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7iom-s=r8d9d?s?r*x$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ibk# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9irm.s@r$d%d@s[r+x% h mknkeb(b)bfb*b+bymzmgbc :bldmd!iAm' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{jsm/s]r)d*d[s^r,x2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#iBm) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|jtm:s_r-d.d]s`r-x3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$iCm+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jum;s{r;d=d^s|r.x4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iDm- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jvm=s}r[d]d_s~r/x5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

569 lenient_issubclass(annotation, (BaseModel, Mapping, UploadFile)) 

570 or _annotation_is_sequence(annotation) 

571 or is_dataclass(annotation) 

572 ) 

573 

574 

575def field_annotation_is_complex(annotation: Union[Type[Any], None]) -> bool: 1abcdef

576 origin = get_origin(annotation) 2a 9b`c{c6iak! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7iom-s=r8d9d?s?r*x$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ibk# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9irm.s@r$d%d@s[r+x% h mknkeb(b)bfb*b+bymzmgbc :bldmd!iAm' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{jsm/s]r)d*d[s^r,x2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#iBm) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|jtm:s_r-d.d]s`r-x3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$iCm+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jum;s{r;d=d^s|r.x4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iDm- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jvm=s}r[d]d_s~r/x5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

577 if origin is Union or origin is UnionType: 2a 9b`c{c6iak! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7iom-s=r8d9d?s?r*x$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ibk# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9irm.s@r$d%d@s[r+x% h mknkeb(b)bfb*b+bymzmgbc :bldmd!iAm' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{jsm/s]r)d*d[s^r,x2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#iBm) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|jtm:s_r-d.d]s`r-x3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$iCm+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jum;s{r;d=d^s|r.x4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iDm- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jvm=s}r[d]d_s~r/x5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

578 return any(field_annotation_is_complex(arg) for arg in get_args(annotation)) 2a 6iak! 8e$ g ^ !b#b_ $b%bb 8ibk# 9e% h eb(b)bfb*b+bc !iAm' )e2 ( )cndhbi zb;b=bAb?b@bd #iBm) *e3 * -cqdibj Kb]b^bLb_b`be $iCm+ +e4 , ;ctdjbk Vb|b}bWb~bacf %iDm- ,e5 . [cwdkbl 6bccdc7becfc

579 

580 return ( 2a 9b`c{c6iak! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7iom-s=r8d9d?s?r*x$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ibk# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9irm.s@r$d%d@s[r+x% h mknkeb(b)bfb*b+bymzmgbc :bldmd!iAm' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{jsm/s]r)d*d[s^r,x2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#iBm) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|jtm:s_r-d.d]s`r-x3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$iCm+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jum;s{r;d=d^s|r.x4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iDm- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jvm=s}r[d]d_s~r/x5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

581 _annotation_is_complex(annotation) 

582 or _annotation_is_complex(origin) 

583 or hasattr(origin, "__pydantic_core_schema__") 

584 or hasattr(origin, "__get_pydantic_core_schema__") 

585 ) 

586 

587 

588def field_annotation_is_scalar(annotation: Any) -> bool: 1abcdef

589 # handle Ellipsis here to make tuple[int, ...] work nicely 

590 return annotation is Ellipsis or not field_annotation_is_complex(annotation) 2a 9b`c{c6iak! / : `d; = {d? |d@ [ }d] m n o p q r s lbKELEALQzRzSzMEmmnm8e7iom-s=r8d9d?s?r*x$ g gkhk^ !b#b_ $b%bwmxm` b 'b~cad8ibk# { | de} ~ eeabfebbcbgedbt u v w x y z mbNEOEBLTzUzVzPEpmqm9e9irm.s@r$d%d@s[r+x% h mknkeb(b)bfb*b+bymzmgbc :bldmd!iAm' rbsbGetbubHevbIewbxbJeybA B C D E F G nbjGkGlTcBdBeBlGdnen)e{jsm/s]r)d*d[s^r,x2 ( )cndhbi 3m4mzb;b=bAb?b@b.tlnmnBbd [bodpd#iBm) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obmGnGmTfBgBhBoGfngn*e|jtm:s_r-d.d]s`r-x3 * -cqdibj 'm(mKb]b^bLb_b`b/tnnonMbe {brdsd$iCm+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbpGqGnTiBjBkBrGhnin+e}jum;s{r;d=d^s|r.x4 , ;ctdjbk =m?mVb|b}bWb~bac:tpnqnXbf bcudvd%iDm- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbsGtGoTlBmBnBuGjnkn,e~jvm=s}r[d]d_s~r/x5 . [cwdkbl ~man6bccdc7becfc;trnsn8b

591 

592 

593def field_annotation_is_scalar_sequence(annotation: Union[Type[Any], None]) -> bool: 1abcdef

594 origin = get_origin(annotation) 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

595 if origin is Union or origin is UnionType: 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

596 at_least_one_scalar_sequence = False 2a 8eb 9ec )ed *ee +ef ,e

597 for arg in get_args(annotation): 2a 8eb 9ec )ed *ee +ef ,e

598 if field_annotation_is_scalar_sequence(arg): 2a 8eb 9ec )ed *ee +ef ,e

599 at_least_one_scalar_sequence = True 1abcdef

600 continue 1abcdef

601 elif not field_annotation_is_scalar(arg): 2a 8eb 9ec )ed *ee +ef ,e

602 return False 28e9e)e*e+e,e

603 return at_least_one_scalar_sequence 1abcdef

604 return field_annotation_is_sequence(annotation) and all( 2a mmnm8e7ib pmqm9e9ic dnen)e{jd fngn*e|je hnin+e}jf jnkn,e~j

605 field_annotation_is_scalar(sub_annotation) 

606 for sub_annotation in get_args(annotation) 

607 ) 

608 

609 

610def is_bytes_or_nonable_bytes_annotation(annotation: Any) -> bool: 1abcdef

611 if lenient_issubclass(annotation, bytes): 2Wz`s_d~dgchcaebhNxAeBBBeCBctksbe~eCeDBdtxd.iydet/iftzd|c[qAd}cYzitceheicjcielhSxDeSBEeTBptwsjeFfFeUBqtDdcjEdrtdjstFdbdirGdcd0zvtkelekclcmevhXxKe9BLe!BCtIsne#fMe#BDtJdujKdEtvjFtLdddzrMded2zItoepencocqeFh2xRe?BSe@BPtUsreggTe[BQtPdMjQdRtNjStRdfdQrSdgd4zVtseteqcrcuePh7xYegCZehC2t6sveMg0eiC3tVd4jWd4t5j5tXdhd7rYdid6z8twexetcucyeZh$x5exC6eyC(t+sze+g7ezC)t1d/j2d*t:j+t3djd;r4dkd

612 return True 2WzAeBBBeCBDBxd.iyd/izd|c[qAd}cYzDeSBEeTBUBDdcjEddjFdbdirGdcd0zKe9BLe!B#BJdujKdvjLdddzrMded2zRe?BSe@B[BPdMjQdNjRdfdQrSdgd4zYegCZehCiCVd4jWd5jXdhd7rYdid6z5exC6eyCzC1d/j2d:j3djd;r4dkd

613 origin = get_origin(annotation) 2Wz`s_d~dgchcaebhNxctksbe~eCedtxd.iydet/iftzd|c[qAd}cYzitceheicjcielhSxptwsjeFfFeqtDdcjEdrtdjstFdbdirGdcd0zvtkelekclcmevhXxCtIsne#fMeDtJdujKdEtvjFtLdddzrMded2zItoepencocqeFh2xPtUsreggTeQtPdMjQdRtNjStRdfdQrSdgd4zVtseteqcrcuePh7x2t6sveMg0e3tVd4jWd4t5j5tXdhd7rYdid6z8twexetcucyeZh$x(t+sze+g7e)t1d/j2d*t:j+t3djd;r4dkd

614 if origin is Union or origin is UnionType: 2Wz`s_d~dgchcaebhNxctksbe~eCedtxd.iydet/iftzd|c[qAd}cYzitceheicjcielhSxptwsjeFfFeqtDdcjEdrtdjstFdbdirGdcd0zvtkelekclcmevhXxCtIsne#fMeDtJdujKdEtvjFtLdddzrMded2zItoepencocqeFh2xPtUsreggTeQtPdMjQdRtNjStRdfdQrSdgd4zVtseteqcrcuePh7x2t6sveMg0e3tVd4jWd4t5j5tXdhd7rYdid6z8twexetcucyeZh$x(t+sze+g7e)t1d/j2d*t:j+t3djd;r4dkd

615 for arg in get_args(annotation): 2ksbe~eCewsjeFfFeIsne#fMeUsreggTe6sveMg0e+sze+g7e

616 if lenient_issubclass(arg, bytes): 2ksbe~eCewsjeFfFeIsne#fMeUsreggTe6sveMg0e+sze+g7e

617 return True 2ksbewsjeIsneUsre6sve+sze

618 return False 2Wz`s_d~dgchcaebhNxct~eCedtxd.iydet/iftzd|c[qAd}cYzitceheicjcielhSxptFfFeqtDdcjEdrtdjstFdbdirGdcd0zvtkelekclcmevhXxCt#fMeDtJdujKdEtvjFtLdddzrMded2zItoepencocqeFh2xPtggTeQtPdMjQdRtNjStRdfdQrSdgd4zVtseteqcrcuePh7x2tMg0e3tVd4jWd4t5j5tXdhd7rYdid6z8twexetcucyeZh$x(t+g7e)t1d/j2d*t:j+t3djd;r4dkd

619 

620 

621def is_uploadfile_or_nonable_uploadfile_annotation(annotation: Any) -> bool: 1abcdef

622 if lenient_issubclass(annotation, UploadFile): 2a 6iXz_d! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZzce# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1zke' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3zoe) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5zse+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7zwe- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

623 return True 2a Xz_db Zzcec 1zked 3zoee 5zsef 7zwe

624 origin = get_origin(annotation) 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

625 if origin is Union or origin is UnionType: 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

626 for arg in get_args(annotation): 2a 6i! ^ !b#b_ $b%bb 8i# eb(b)bfb*b+bc !i' zb;b=bAb?b@bd #i) Kb]b^bLb_b`be $i+ Vb|b}bWb~bacf %i- 6bccdc7becfc

627 if lenient_issubclass(arg, UploadFile): 2a 6i! ^ !b#b_ $b%bb 8i# eb(b)bfb*b+bc !i' zb;b=bAb?b@bd #i) Kb]b^bLb_b`be $i+ Vb|b}bWb~bacf %i- 6bccdc7becfc

628 return True 1abcdef

629 return False 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

630 

631 

632def is_bytes_sequence_annotation(annotation: Any) -> bool: 1abcdef

633 origin = get_origin(annotation) 2Wz`s_drBsBtB~dgchcae!z+i!cwcxc,i#cyczcAc-i$cBcbhNxAeBectbe~eCedtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}c@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzitceJBKBLBheicjcie^z~i%cCcDcaj'cEcFcGcbj(cHclhSxDeEeptjeFfFeqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zvtke0B1B2BlekclcmenAmcIc6 rj*cJcKcsj+cLcMcNctj,cOcvhXxKeLeCtne#fMeDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zItoe*B+B,BpencocqeHApcPc7 Jj.cQcRcKj/cScTcUcLj:cVcFh2xReSePtreggTeQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zVtse|B}B~Bteqcrcue1AscWc8 1j=cXcYc2j?cZc0c1c3j@c2cPh7xYeZe2tveMg0e3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdid!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6z8tweoCpCqCxetcucye.Avc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cZh$x5e6e(tze+g7e)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkd[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

634 if origin is Union or origin is UnionType: 2Wz`s_drBsBtB~dgchcae!z+i!cwcxc,i#cyczcAc-i$cBcbhNxAeBectbe~eCedtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}c@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzitceJBKBLBheicjcie^z~i%cCcDcaj'cEcFcGcbj(cHclhSxDeEeptjeFfFeqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zvtke0B1B2BlekclcmenAmcIc6 rj*cJcKcsj+cLcMcNctj,cOcvhXxKeLeCtne#fMeDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zItoe*B+B,BpencocqeHApcPc7 Jj.cQcRcKj/cScTcUcLj:cVcFh2xReSePtreggTeQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zVtse|B}B~Bteqcrcue1AscWc8 1j=cXcYc2j?cZc0c1c3j@c2cPh7xYeZe2tveMg0e3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdid!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6z8tweoCpCqCxetcucye.Avc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cZh$x5e6e(tze+g7e)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkd[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

635 at_least_one = False 2Wz~dgchcae+i!cwcxc,i#cyczcAc-i$cBcbe~eCe@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzheicjcie~i%cCcDcaj'cEcFcGcbj(cHcjeFfFeijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zlekclcmemcIc6 rj*cJcKcsj+cLcMcNctj,cOcne#fMeAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zpencocqepcPc7 Jj.cQcRcKj/cScTcUcLj:cVcreggTeSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zteqcrcuescWc8 1j=cXcYc2j?cZc0c1c3j@c2cveMg0e!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6zxetcucyevc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cze+g7e[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

636 for arg in get_args(annotation): 2Wz~dgchcae+i!cwcxc,i#cyczcAc-i$cBcbe~eCe@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzheicjcie~i%cCcDcaj'cEcFcGcbj(cHcjeFfFeijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zlekclcmemcIc6 rj*cJcKcsj+cLcMcNctj,cOcne#fMeAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zpencocqepcPc7 Jj.cQcRcKj/cScTcUcLj:cVcreggTeSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zteqcrcuescWc8 1j=cXcYc2j?cZc0c1c3j@c2cveMg0e!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6zxetcucyevc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cze+g7e[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

637 if is_bytes_sequence_annotation(arg): 2Wz~dgchcae+i!cwcxc,i#cyczcAc-i$cBcbe~eCe@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzheicjcie~i%cCcDcaj'cEcFcGcbj(cHcjeFfFeijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zlekclcmemcIc6 rj*cJcKcsj+cLcMcNctj,cOcne#fMeAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zpencocqepcPc7 Jj.cQcRcKj/cScTcUcLj:cVcreggTeSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zteqcrcuescWc8 1j=cXcYc2j?cZc0c1c3j@c2cveMg0e!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6zxetcucyevc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cze+g7e[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

638 at_least_one = True 2WzYz0z2z4z6z

639 continue 2WzYz0z2z4z6z

640 return at_least_one 2Wz~dgchcae+i!cwcxc,i#cyczcAc-i$cBcbe~eCe@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzheicjcie~i%cCcDcaj'cEcFcGcbj(cHcjeFfFeijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zlekclcmemcIc6 rj*cJcKcsj+cLcMcNctj,cOcne#fMeAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zpencocqepcPc7 Jj.cQcRcKj/cScTcUcLj:cVcreggTeSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zteqcrcuescWc8 1j=cXcYc2j?cZc0c1c3j@c2cveMg0e!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6zxetcucyevc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cze+g7e[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

641 return field_annotation_is_sequence(annotation) and all( 2Wz`s_drBsBtB~dgchcae!z+i!cwcxc,i#cyczcAc-i$cBcbhNxAeBectbe~eCedtxd.iydet/iftls:i;i=i?i~xayOxPxQxRx/z:hafbf;hzd|c[qAd}c@i[i]ihf^i_iifjfkflfmfBdCdLmMmYzitceJBKBLBheicjcie^z~i%cCcDcaj'cEcFcGcbj(cHclhSxDeEeptjeFfFeqtDdcjEdrtdjstxsejfjgjhjsytyTxUxVxWxfAaiGfHfbiFdbdirGdcdijjjkjNfljmjOfPfQfRfSfHdIdUmVm0zvtke0B1B2BlekclcmenAmcIc6 rj*cJcKcsj+cLcMcNctj,cOcvhXxKeLeCtne#fMeDtJdujKdEtvjFtJswjxjyjzjLyMyYxZx0x1xzAoi$f%fpiLdddzrMdedAjBjCj,fDjEj-f.f/f:f;fNdOd5m6m2zItoe*B+B,BpencocqeHApcPc7 Jj.cQcRcKj/cScTcUcLj:cVcFh2xReSePtreggTeQtPdMjQdRtNjStVsOjPjQjRj4y5y3x4x5x6xTACihgigDiRdfdQrSdgdSjTjUjogVjWjpgqgrgsgtgTdUd)m*m4zVtse|B}B~Bteqcrcue1AscWc8 1j=cXcYc2j?cZc0c1c3j@c2cPh7xYeZe2tveMg0e3tVd4jWd4t5j5t7s6j7j8j9j:y;y8x9x!x#x%AQiNgOgRiXdhd7rYdid!j#j$jUg%j'jVgWgXgYgZgZd0d@m[m6z8tweoCpCqCxetcucye.Avc3c9 ,j]c4c5c-j^c6c7c8c.j_c9cZh$x5e6e(tze+g7e)t1d/j2d*t:j+t,s;j=j?j@jfzgz%x'x(x)x{A4i,g-g5i3djd;r4dkd[j]j^j?g_j`j@g[g]g^g_g5d6dbncn

642 is_bytes_or_nonable_bytes_annotation(sub_annotation) 

643 for sub_annotation in get_args(annotation) 

644 ) 

645 

646 

647def is_uploadfile_sequence_annotation(annotation: Any) -> bool: 1abcdef

648 origin = get_origin(annotation) 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

649 if origin is Union or origin is UnionType: 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

650 at_least_one = False 2a 6iXz! ^ !b#b_ $b%bb 8iZz# eb(b)bfb*b+bc !i1z' zb;b=bAb?b@bd #i3z) Kb]b^bLb_b`be $i5z+ Vb|b}bWb~bacf %i7z- 6bccdc7becfc

651 for arg in get_args(annotation): 2a 6iXz! ^ !b#b_ $b%bb 8iZz# eb(b)bfb*b+bc !i1z' zb;b=bAb?b@bd #i3z) Kb]b^bLb_b`be $i5z+ Vb|b}bWb~bacf %i7z- 6bccdc7becfc

652 if is_uploadfile_sequence_annotation(arg): 2a 6iXz! ^ !b#b_ $b%bb 8iZz# eb(b)bfb*b+bc !i1z' zb;b=bAb?b@bd #i3z) Kb]b^bLb_b`be $i5z+ Vb|b}bWb~bacf %i7z- 6bccdc7becfc

653 at_least_one = True 2XzZz1z3z5z7z

654 continue 2XzZz1z3z5z7z

655 return at_least_one 2a 6iXz! ^ !b#b_ $b%bb 8iZz# eb(b)bfb*b+bc !i1z' zb;b=bAb?b@bd #i3z) Kb]b^bLb_b`be $i5z+ Vb|b}bWb~bacf %i7z- 6bccdc7becfc

656 return field_annotation_is_sequence(annotation) and all( 2a 6iXz! / : `d; = {d? |d@ [ }d] m n o p q r s lbom-s=r8d9d?s?r*x$ g ^ !b#b_ $b%bwmxm` b 8iZz# { | de} ~ eeabfebbcbgedbt u v w x y z mbrm.s@r$d%d@s[r+x% h eb(b)bfb*b+bymzmgbc !i1z' rbsbGetbubHevbIewbxbJeybA B C D E F G nbsm/s]r)d*d[s^r,xhbi zb;b=bAb?b@b.tlnmnBbd #i3z) CbDbNeEbFbOeGbPeHbIbQeJbH I J K L M N obtm:s_r-d.d]s`r-xibj Kb]b^bLb_b`b/tnnonMbe $i5z+ NbObUePbQbVeRbWeSbTbXeUbO P Q R S T U pbum;s{r;d=d^s|r.xjbk Vb|b}bWb~bac:tpnqnXbf %i7z- YbZb1e0b1b2e2b3e3b4b4e5bV W X Y Z 0 1 qbvm=s}r[d]d_s~r/xkbl 6bccdc7becfc;trnsn8b

657 is_uploadfile_or_nonable_uploadfile_annotation(sub_annotation) 

658 for sub_annotation in get_args(annotation) 

659 ) 

660 

661 

662@lru_cache 1abcdef

663def get_cached_model_fields(model: Type[BaseModel]) -> List[ModelField]: 1abcdef

664 return get_model_fields(model) 2$Z|F|3kZlzaelZ%Z(nom?r*xDYEY$ hsmZnZ]x`xzuCuoZpZDCGuJuLujsFYGY(z*zlsayf0HYIY!Er0;z=zqZrZgthtby'Z~Fe4sZrzietZ(Zxorm[r+xJYKY% tsuZvZlyoy?u]uwZxZGC{u~ubvvsLYMY}zaAxstyg0NYOY_Es0hAiAyZzZttutuy)ZbGl4AZwzmeBZ*Z)osm^r,xPYQYhbFsCZDZEyHyQvTvEZFZJCXv0v2vHsRYSYsAuAJsMyh0TYUYVYpFt0BACAGZHZGtHtNy+ZdGs4IZBzqeJZ,Zyptm`r-xWYXYibRsKZLZXy0ygwjwMZNZMCnwqwswTsYYZYMAOAVs5yi00Y1Y2YKFu0VAWAOZPZTtUt6y-ZfGz4QZGzueRZ.Z*pum|r.x3Y4Yjb3sSZTZ)y,y7w!wUZVZPC'w*w,w5s5Y6Y6A8A7s;yj07Y8Y9Y5Fv0(A)AWZXZ6t7t=y/ZhGG4YZLzyeZZ:Zzqvm~r/x!Y#Ykb(s0Z1Z}ybzxxAx2Z3ZSCExHxJx*s$Y%Y?A[A,sgzk0'Y(Y)Y?Fw0}A~A4Z5Z,t-thz