Coverage for fastapi/_compat/v2.py: 100%
242 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1import re 2hg9f!f#f$f%f'f
2import warnings 2hg9f!f#f$f%f'f
3from copy import copy, deepcopy 2hg9f!f#f$f%f'f
4from dataclasses import dataclass 2hg9f!f#f$f%f'f
5from enum import Enum 2hg9f!f#f$f%f'f
6from typing import ( 2hg9f!f#f$f%f'f
7 Any,
8 Dict,
9 List,
10 Sequence,
11 Set,
12 Tuple,
13 Type,
14 Union,
15 cast,
16)
18from fastapi._compat import may_v1, shared 2hg9f!f#f$f%f'f
19from fastapi.openapi.constants import REF_TEMPLATE 2hg9f!f#f$f%f'f
20from fastapi.types import IncEx, ModelNameMap, UnionType 2hg9f!f#f$f%f'f
21from pydantic import BaseModel, TypeAdapter, create_model 2hg9f!f#f$f%f'f
22from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError 2hg9f!f#f$f%f'f
23from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation 2hg9f!f#f$f%f'f
24from pydantic import ValidationError as ValidationError 2hg9f!f#f$f%f'f
25from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined] 2hg9f!f#f$f%f'f
26 GetJsonSchemaHandler as GetJsonSchemaHandler,
27)
28from pydantic._internal._typing_extra import eval_type_lenient 2hg9f!f#f$f%f'f
29from pydantic._internal._utils import lenient_issubclass as lenient_issubclass 2hg9f!f#f$f%f'f
30from pydantic.fields import FieldInfo as FieldInfo 2hg9f!f#f$f%f'f
31from pydantic.json_schema import GenerateJsonSchema as GenerateJsonSchema 2hg9f!f#f$f%f'f
32from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue 2hg9f!f#f$f%f'f
33from pydantic_core import CoreSchema as CoreSchema 2hg9f!f#f$f%f'f
34from pydantic_core import PydanticUndefined, PydanticUndefinedType 2hg9f!f#f$f%f'f
35from pydantic_core import Url as Url 2hg9f!f#f$f%f'f
36from typing_extensions import Annotated, Literal, get_args, get_origin 2hg9f!f#f$f%f'f
38try: 2hg9f!f#f$f%f'f
39 from pydantic_core.core_schema import ( 2hg9f!f#f$f%f'f
40 with_info_plain_validator_function as with_info_plain_validator_function,
41 )
42except ImportError: # pragma: no cover
43 from pydantic_core.core_schema import (
44 general_plain_validator_function as with_info_plain_validator_function, # noqa: F401
45 )
47RequiredParam = PydanticUndefined 2hg9f!f#f$f%f'f
48Undefined = PydanticUndefined 2hg9f!f#f$f%f'f
49UndefinedType = PydanticUndefinedType 2hg9f!f#f$f%f'f
50evaluate_forwardref = eval_type_lenient 2hg9f!f#f$f%f'f
51Validator = Any 2hg9f!f#f$f%f'f
54class BaseConfig: 2hg9f!f#f$f%f'f
55 pass 2hg9f!f#f$f%f'f
58class ErrorWrapper(Exception): 2hg9f!f#f$f%f'f
59 pass 2hg9f!f#f$f%f'f
62@dataclass 2hg9f!f#f$f%f'f
63class ModelField: 2hg9f!f#f$f%f'f
64 field_info: FieldInfo 2hg9f!f#f$f%f'f
65 name: str 2hg9f!f#f$f%f'f
66 mode: Literal["validation", "serialization"] = "validation" 2hg9f!f#f$f%f'f
68 @property 2hg9f!f#f$f%f'f
69 def alias(self) -> str: 2hg9f!f#f$f%f'f
70 a = self.field_info.alias 2iTfe_fWd.llv?xmv@xrsCt~rasvlpijTxHXskT+6yHgwIF,6hwJF-6YsPtQtiwRtStjwTtkwUtVtlwWtmwKF.6nwLF/6lTmT[xnTsj~LaMoTpTqTLdrTbMsTzHowcMXdAHxBMFdMeMfMpwBHqwrwswtwgM: ; = ? @ [ ] wftTuTwlvTwTyBxTCHyTzT:6ATtj|7BTgeCThM%jiMMd]xYdzBuj{cubPsABDTDHxlETBBCBFTDBGTHTjMkMITJTKTlMLTMTNTmMnMOTPToMpMqMQTrMRTSTsMtMTTUTuMVTvMWTwMxMXTYTZTyM0T1T2TzM3T4TAM5TBM6TCM7TDMEM8T9TFMGM!THMIM#TJMKM$TLMMM%TNMOM'TPMQM(T)T*T+Tyl,T-TNdf }7~7EbEH.TFHEB/TRMGHHH:TSM;TTMUMVMWM^xIHJHKHLH=TMH?TNHOH@TXM[T]TYMZM0M_x1M^Tzl_TAl`TBl{TPH|TQHFBRH}T~TSHaUTHa8bUZd)b2M3MxfcUdU;6QsFb`xnvXtYt{xovZt0t1t|xpv2teUfUgUhUCliUjUkUlUGB0d*bUH4M`f5MmU1d}xnU{f6MoU2d~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNBDlyUzUOBPBAUVHBUQBCUWHDUEUXHYH7M8M3d4d9MayRBSB5dNFTB!M'j#M6dZHFUGUHUbycydyeyvjfygyhyiywjUBxjIUJU6h$MOFyjPFzjKULU0HMUElNUOUPUQURUSUTUUUVUWUXUYUZU0U1U1H2H2U3UFl4UGl5UHl6U7d%M'Mhe(f]j|c7U8UIl9U!UJl#U$UKl%U'U(MLl(U)U)MMljykylymyqinyoypyqyrirysytyuyvysi*UAjVBBjWBtiXB8d+UNl,U-U*M.U/UVhCjwyxy+MyyDjzyAy,MBy:UYBOlZBuwEjFj;U-M3H4H=Uui5H0B?UGj@U(j1B[U6H.M]U^U7HHj2B/M3B:M8H;M4B9H5B=M!H6Bvw7B#Hww$HxwQFRFSFTF%HywUFVFWFXF?MYFCyDyZF8Bzw'H9BAw_U!B`UPl#B{UQl@M9dOd[M]MPd^M_M!d`M#d{M$d|MEyFyGyBwHyIyCwDwEwFwGw+b,bJyQdKyRdHw}MIw|U=63tJwKw4tLwMwNw(H$B%B'B}U%d$ 0F1Fie2F3F'dLy~M5t~UaVSdyf}c/lqvMyrvNybsDt9r!r^jvibV)HDscV?6*HOw4F@6Pw5F[6EsZs0s6t1s2s7t3s8t4s5s9t6sQw6F]6Rw7F^6dVeVOyfVIjaNbNgVhViV-bjVcNkV+HSwdN~c,H(B8FeNfNgNTw-H!tUwVw#thNV W X Y Z 0 1 jelVmVRlnVoV)BpV.HqVrV_6sVJjb8tVTduViN)jjN.bPyad*BKjGb% Rs+BvV/HSlwV,B-BxV.ByVzVkNlNAVBVCVmNDVEVFVnNoNGVHVpNqNrNIVsNJVKVtNuNLVMVvNNVwNOVxNyNPVQVRVzNSVTVUVANVVWVBNXVCNYVDNZVENFN0V1VGNHN2VINJN3VKNLN4VMNNN5VONPN6VQNRN7V8V9V!VTl#V$V/be c8d8^ :H%V;H/B'VSN=H?H(VTN)VUNVNWNXNQy@H[H]H^H*V_H+V`H{H,VYN-V.VZN0N1Nsv2N/VUl:VVl;VWl=V|H?V}HWw~H@V[VaI]VbIe8^Vbdvb3N4Nke_V`V`6xs_ Rytv$t%tSyuv't(t)tTyvv*t{V|V}V~VXlaWbWcWdW:BcdwbcI5Nzf6NeWddUyfWAf7NgWedVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BYlqWrW_B`BsWdItW{BuWeIvWwWfIgI8N9Nfdgd!NWy|B}Bhd9F~B#N*j$NidhIxWyWzWwvXyYyZyLjxv0y1y2yMjaCNjAWBW7h%N!FOj#FPjCWDWiIEWZlFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWjIkIUWVW0lWW1lXW2lYWjd'N(NUd;e_jHbZW0W3l1W2W4l3W4W5l5W6W)N6l7W8W*N7lyv3y4y5ywizv6y7y8yxiAv9y!y#y$yyi9WQjbCRjcCzidCkd!W8l#W$W+N%W'WOhSjBv%y,N'yTjCv(y-N)y(WeC9lfCXwUjVj)W.NlImI*WAinIgC+WWj,W+jhC-WoI/N.W/WpIXjiC:NjC;NqI=NkCrIlC?NsImCYwnCtIZwuI+t$F%F'F(FvI,t)F*F+F,F@N-F*y+y.FoC0wwIpC1w:WqC;W!lrC=W#l[Nld:b]N^N;b_N`Nmd{Nnd|Nod}N,y-y.y2w/y:y3w4w5w6w7wxbyb;y=b=y?b-t~N.t?W{67s/t:t8s;t=t8wxIsCtCuC@W[Wpdl /F:FVd;F=Fqd?yaO9s]W^Wrd=e@b)lDv@yEv[ycsEt#r$r,j/h_WyIFs`W|6zI9w?F}6!w@F~6Gs!s#s?t$s%s@t's[t(s)s]t*s#w[Fa7$w]Fb7{W|W]y}WBibOcO~WaXbXIbcXdOdXAI%weO[bBIvC^FfOgOhO'wCI^t(w)w_tiOm n o p q r s (deXfX`jgXhXwCiXDIjXkXc7lXCif8mXsdnXjOYjkOJb^y]bxCDi` 2 SsyCoXEI{jpXzCACqXBCrXsXlOmOtXuXvXnOwXxXyXoOpOzXAXqOrOsOBXtOCXDXuOvOEXFXwOGXxOHXyOzOIXJXKXAOLXMXNXBOOXPXCOQXDORXEOSXFOGOTXUXHOIOVXJOKOWXLOMOXXNOOOYXPOQOZXROSO0X1X2X3X|j4X5XKba g8h8' FI6XGICC7XTOHIII8XUO9XVOWOXOYO_yJIKILIMI!XNI#XOIPI$XZO%X'X0O1O2OFv3O%r_r'rWhmsdsss(X}j)X~j*Xak+XQI,XRI*wSI-X.XTI/XUIi8:X^b{ 4O5O)d;X=Xd7ys( `yGv`t{t{yHv|t}t~t|yIvau?X@X[X]Xbk^X_X`X{XDC_b| VI6O?e7O|X`b}y}X@e8O~X{b~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCckjYkYLCMClYWImYNCnYXIoYpYYIZI9O!O|b}b#OazOCPC~b_FQC$OZj%Oac0IqYrYsYJvbzczdzEiKvezfzgzFiRCGitYuY1h'O`FHi{FIivYwY1IxYdkyYzYAYBYCYDYEYFYGYHYIYJYKYLYMY2I3INYOYekPYfkQYgkRYbc(O)Otdle-jzbSYTYhkUYVYikWYXYjkYYZY*Okk0Y1Y+OlkLvhzizjz:hMvkzlzmz;hNvnzozpzqz=h2YJiSCKiTC?hUCcc3Ymk4Y5Y,O6Y7YPhLiOvrz-OszMiPvtz.Ouz8YVCnkWC+wNiOi9Y/O4I5I!Y@h6IXC#YPi$Y0jYC%Y7I:O'Y(Y8IQiZC;O0C=O9I?O1C!I2C@O#I3C,w4C$I-w%Ibu|F}F~FaG'IcubGcGdGeG[OfGvzwzgG5C.w(I6C/w)Y7C*Yok8C+Ypk]OdcLb^O_OMb`O{Oec|Ofc}Ogc~Oxzyzzz:wAzBz;w=w?w@w[w} ~ CzNbDzObduaPeu,Ye7+sfugu,shuiu]w)I9C!C#C-Y.Yhcg hGiGudjGkGicEzbP-s/Y:Yvd[ejc*lQvFzRvGzesFt(r)r.j[h;Y*IHs=Yf7+I^wlGg7_wmGh7Is.s/sju:s;sku=slu?s@smu[s`wnGi7{woGj7?Y@YHz[YRicPdP]Y^Y_YPb`YeP{Y,I|wfPkc-I$CpGgPhPiP}w.Inu~waxoujPt u v w x y z *d|Y}Yqk~YaZ%CbZ/IcZdZk7eZSij8fZwdgZkP1jlPQbIzlc'CTiab3 Ts(ChZ:IrkiZ)C*CjZ+CkZlZmPnPmZnZoZoPpZqZrZpPqPsZtZrPsPtPuZuPvZwZvPwPxZyZxPzZyPAZzPAPBZCZDZBPEZFZGZCPHZIZDPJZEPKZFPLZGPHPMZNZIPJPOZKPLPPZMPNPQZOPPPRZQPRPSZSPTPTZUZVZWZskXZYZRbb k8l8) ;IZZ=I,C0ZUP?I@I1ZVP2ZWPXPYPZPJz[I]I^I_I3Z`I4Z{I|I5Z0P6Z7Z1P2P3PSv4P*r`r+rXhnsfsts8Ztk9Zuk!Zvk#Z}I$Z~IbxaJ%Z'ZbJ(ZcJm8)Zmcbb5P6P+d*Z+Zl7zs* KzTvpuquLzUvrusutuMzVvuu,Z-Z.Z/Zwk:Z;Z=Z?Z-CnccbdJ7P]e8P@ZocNz[Z^e9P]ZpcOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cxkc0d0[C]Ce0eJf0^Cg0fJh0i0gJhJ!P#Pqcrc$PPz_C`CscqG{C%P2j'PtciJj0k0l0WvQzRzSzUiXvTzUzVzVi|CWim0n02h(PrGXisGYio0p0jJq0ykr0s0t0u0v0w0x0y0z0A0B0C0D0E0F0kJlJG0H0zkI0AkJ0BkK0uc)P*Pxdme/jAbL0M0CkN0O0DkP0Q0EkR0S0+PFkT0U0,PGkYvWzXzYz]hZvZz0z1z^h0v2z3z4z5z_hV0Zi}C0i~C`haDvcW0HkX0Y0-PZ000Qh1i1v6z.P7z2i2v8z/P9z10bDIkcDcx3i4i20:PmJnJ30{hoJdD405i503jeD60pJ;P7080qJ6ifD=PgD?PrJ@PhDsJiD[PtJjDdxkDuJexvJvutGuGvGwGwJwuxGyGzGAG]PBG!z#zCGlDfxxJmDgx90nD!0JkoD#0Kk^PwcSb_P`PTb{P|Pxc}Pyc~PzcaQ$z%z'zhx(z)zixjxkxlxmxdbeb*zUb+zVbxubQyu$0m7]szuAu^sBuCunxyJpDqDrD%0'0Ach DGEGydFGGGBc,zcQ_s(0)0zd_eCc+l3v-z4v.zgsGt,r-r:j|h*0zJJs+0n7AJoxHGo7pxIGp7Ks`s{sDu|s}sEu~sFuatbtGuctqxJGq7rxKGr7,0-0/z.07idQeQ/0:0;0Wb=0fQ?0BJsxgQDcCJsDLGhQiQjQtxDJHuuxvxIukQA B C D E F G ,d@0[0Lk]0^0tD_0EJ`0{0s7|08in8}0Ad~0lQ4jmQXb:zEcuD9ifb4 UsvDa1FJMkb1wDxDc1yDd1e1nQoQf1g1h1pQi1j1k1qQrQl1m1sQtQuQn1vQo1p1wQxQq1r1yQs1zQt1AQBQu1v1w1CQx1y1z1DQA1B1EQC1FQD1GQE1HQIQF1G1JQKQH1LQMQI1NQOQJ1PQQQK1RQSQL1TQUQM1N1O1P1NkQ1R1Ybc o8p8+ GJS1HJzDT1VQIJJJU1WQV1XQYQZQ0Q;zKJLJMJNJW1OJX1PJQJY11QZ1012Q3Q4Q5v5Q.r{r/rYhoshsus11Ok21Pk31Qk41RJ51SJwxTJ6171UJ81VJq891Fcgb6Q7Q-d!1#1t7As, =z6vJuKu?z7vLuMuNu@z8vOu$1%1'1(1Rk)1*1+1,1ADGchbWJ8Q`e9Q-1Hc[z.1{e!Q/1Ic]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHDSk`1{1IDJD|1XJ}1KD~1YJa2b2ZJ0J#Q$QJcKc%Q^zLDMDLcMGND'Q5j(QMc1Jc2d2e29v_z`z{z!i!v|z}z~z#iOD$if2g23h)QNG%iOG'ih2i22Jj2Tkk2l2m2n2o2p2q2r2s2t2u2v2w2x2y23J4Jz2A2UkB2VkC2WkD2Nc*Q+QBdne;jBbE2F2XkG2H2YkI2J2ZkK2L2,Q0kM2N2-Q1k#vaAbAcA}h$vdAeAfA~h%vgAhAiAjAaiO2(iPD)iQDbiRDOcP22kQ2R2.QS2T2Rh*i'vkA/QlA+i(vmA:QnAU2SD3kTDxx,i-iV2;Q5J6JW2ci7JUDX2.iY26jVDZ28J=Q02129J/iWD?QXD@Q!J[QYD#JZD]Q$J0Dyx1D%Jzx'JPuPGQGRGSG(JQuTGUGVGWG^QXGoApAYG2DAx)J3DBx224D324k5D425k_QPcZb`Q{Q0b|Q}QQc~QRcaRScbRqArAsACxtAuADxExFxGxHxibjbvA1bwA2bRucRSu52u7dtTuUuetVuWuIx*J6D7D8D6272Tci ZG0GCd1G2GUcxAdRft8292Dd|eVc,l)vyA*vzAisHt:r;r=jdi!2+JLs#2v7,JJx3Gw7Kx4Gx7MsgthtXuitjtYuktZultmt0untLx5Gy7Mx6Gz7$2%2AA'2:ieRfR(2)2*23b+2gR,2-JNxhRWc.J9D7GiRjRkROx/J1uPxQx2ulRH I J K L M N .d-2.26k/2:2!D;2:J=2?2A7@2;ir8[2Ed]2mR7jnR4bBAXc#D=ikb5 Vs$D^2;J7k_2%D'D`2(D{2|2oRpR}2~2a3qRb3c3d3rRsRe3f3tRuRvRg3wRh3i3xRyRj3k3zRl3ARm3BRCRn3o3p3DRq3r3s3ERt3u3FRv3GRw3HRx3IRJRy3z3KRLRA3MRNRB3ORPRC3QRRRD3SRTRE3URVRF3G3H3I38kJ3K35bd s8t8- =JL3?J)DM3WR@J[JN3XRO3YRZR0R1RCA]J^J_J`JP3{JQ3|J}JR32RS3T33R4R5R+v6R=r|r?rZhpsjsvsU39kV3!kW3#kX3~JY3aKRxbKZ303cK13dKu823Yclb7R8R/d3343B7Bs. DA,v3u4uEA-v5u6u7uFA.v8u53637383$k93!3#3$3*DZcmbeK9R}e!R%30cGA'3~e#R(31cHA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D%k=3?3=D?D@3fK[3@D]3gK^3_3hKiK$R%R2c3c'RIA[D]D4c8G^D(R8j)R5cjK`3{3|3/vJAKALA?i:vMANAOA@i_D[i}3~34h*R9G]i!G^ia4b4kKc4'kd4e4f4g4h4i4j4k4l4m4n4o4p4q4r4lKmKs4t4(ku4)kv4*kw46c+R,RFdoe?jCbx4y4+kz4A4,kB4C4-kD4E4-R.kF4G4.R/k;vPAQARAei=vSATAUAfi?vVAWAXAYAgiH4_i`D`i{Dhi|D7cI4:kJ4K4/RL4M4Sh{i@vZA:R0A|i[v1A;R2AN4}D;k~DSx}i~iO4=RnKoKP4iipKaEQ4ajR49jbES4qK?RT4U4rKbjcE@RdE[RsK]ReEtKfE^RuKgETxhEvKUxwK9u#G$G%G'GxK!u(G)G*G+G_R,G3A4A-GiEVxyKjEWxV4kEW4=klEX4?k`R8c6b{R|R7b}R~R9caS!cbS#ccS5A6A7AXx8A9AYxZx0x1x2xnbob!A8b#A9b#udS$uY4C7ot%u'upt(u)u3xzKmEnEoEZ404$cj .G/GGd:G;G%c$AeSqt1424Hdaf'c-l]v%A^v'AksIt@r[r@jji34AKNs44D7BK4x=GE75x?GF7Osrtst*uttut+uvt,uwtxt-uyt6x@GG77x[GH75464(A74cjfSgS8494!4!b#4hS$4CK8xiS(cDKpE]GjSkSlS9xEK.u!x#x/umSO P Q R S T U :d%4'4@k(4)4qE*4FK+4,4I7-4djv8.4Id/4nS!joS#b)A)crEejpb6 WssE:4GK[k;4tEuE=4vE?4@4pSqS[4]4^4rS_4`4{4sStS|4}4uSvSwS~4xSa5b5ySzSc5d5ASe5BSf5CSDSg5h5i5ESj5k5l5FSm5n5GSo5HSp5ISq5JSKSr5s5LSMSt5NSOSu5PSQSv5RSSSw5TSUSx5VSWSy5z5A5B5]kC5D5HKE5IKwEF5XSJKKKG5YSH5ZS0S1S2S*ALKMKNKOKI5PKJ5QKRKK53SL5M54S5S6S_v7S]r}r^r0hqslswsN5^kO5_kP5`kQ5SKR5TK$xUKS5T5VKU5WKw8V5*cqb8S9S;dW5X5J7Cs/ +A`v:u;u,A{v=u?u@u-A|v[uY5Z50515{k25354555xE+crbXK!Sbf#S65,c.A75cf$S85-c/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE|k+5,5FEGE-5YK.5HE/5ZK:5;50K1K%S'S.c/c(S:AIEJE:c^GKE)S#j*S;c2K=5?5@5}v;A=A?Afj~v@A[A]AgjLEhj[5]55h+S_Gij`Gjj^5_53K`5}k{5|5}5~5a6b6c6d6e6f6g6h6i6j6k64K5Kl6m6~kn6alo6blp6=c,S-SJdpe[jDbq6r6cls6t6dlu6v6elw6x6.Sfly6z6/Sglaw^A_A`Akibw{A|A}Alicw~AaBbBcBmiA6kjMEljNEniOE?cB6hlC6D6:SE6F6ThmjdwdB;SeBnjewfB=SgBG6PEilQE%xojpjH6?S6K7KI6oi8KREJ6qjK6$jSEL69K@SM6N6!KrjTE[SUE]S#K^SVE$KWE_S%KXE'xYE'K(x(K]u{G|G}G~G)K^uaHbHcHdH`SeHhBiBfHZE)x*K0E*xO61EP6jl2EQ6kl{S@c$b|S}S%b~SaT[cbT]ccT^cdTjBkBlB+xmBnB,x-x.x/x:xsbtboB'bpB(b_ueT`uR6K7zt{u|uAt}u~u;x+K3E4E5ES6T6_ck gHhHKdiHjH`cqBfTBtU6
71 return a if a is not None else self.name 2iTfe_fWd.llv?xmv@xrsCt~rasvlpijTxHXskT+6yHgwIF,6hwJF-6YsPtQtiwRtStjwTtkwUtVtlwWtmwKF.6nwLF/6lTmT[xnTsj~LaMoTpTqTLdrTbMsTzHowcMXdAHxBMFdMeMfMpwBHqwrwswtwgM: ; = ? @ [ ] wftTuTwlvTwTyBxTCHyTzT:6ATtj|7BTgeCThM%jiMMd]xYdzBuj{cubPsABDTDHxlETBBCBFTDBGTHTjMkMITJTKTlMLTMTNTmMnMOTPToMpMqMQTrMRTSTsMtMTTUTuMVTvMWTwMxMXTYTZTyM0T1T2TzM3T4TAM5TBM6TCM7TDMEM8T9TFMGM!THMIM#TJMKM$TLMMM%TNMOM'TPMQM(T)T*T+Tyl,T-TNdf }7~7EbEH.TFHEB/TRMGHHH:TSM;TTMUMVMWM^xIHJHKHLH=TMH?TNHOH@TXM[T]TYMZM0M_x1M^Tzl_TAl`TBl{TPH|TQHFBRH}T~TSHaUTHa8bUZd)b2M3MxfcUdU;6QsFb`xnvXtYt{xovZt0t1t|xpv2teUfUgUhUCliUjUkUlUGB0d*bUH4M`f5MmU1d}xnU{f6MoU2d~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNBDlyUzUOBPBAUVHBUQBCUWHDUEUXHYH7M8M3d4d9MayRBSB5dNFTB!M'j#M6dZHFUGUHUbycydyeyvjfygyhyiywjUBxjIUJU6h$MOFyjPFzjKULU0HMUElNUOUPUQURUSUTUUUVUWUXUYUZU0U1U1H2H2U3UFl4UGl5UHl6U7d%M'Mhe(f]j|c7U8UIl9U!UJl#U$UKl%U'U(MLl(U)U)MMljykylymyqinyoypyqyrirysytyuyvysi*UAjVBBjWBtiXB8d+UNl,U-U*M.U/UVhCjwyxy+MyyDjzyAy,MBy:UYBOlZBuwEjFj;U-M3H4H=Uui5H0B?UGj@U(j1B[U6H.M]U^U7HHj2B/M3B:M8H;M4B9H5B=M!H6Bvw7B#Hww$HxwQFRFSFTF%HywUFVFWFXF?MYFCyDyZF8Bzw'H9BAw_U!B`UPl#B{UQl@M9dOd[M]MPd^M_M!d`M#d{M$d|MEyFyGyBwHyIyCwDwEwFwGw+b,bJyQdKyRdHw}MIw|U=63tJwKw4tLwMwNw(H$B%B'B}U%d$ 0F1Fie2F3F'dLy~M5t~UaVSdyf}c/lqvMyrvNybsDt9r!r^jvibV)HDscV?6*HOw4F@6Pw5F[6EsZs0s6t1s2s7t3s8t4s5s9t6sQw6F]6Rw7F^6dVeVOyfVIjaNbNgVhViV-bjVcNkV+HSwdN~c,H(B8FeNfNgNTw-H!tUwVw#thNV W X Y Z 0 1 jelVmVRlnVoV)BpV.HqVrV_6sVJjb8tVTduViN)jjN.bPyad*BKjGb% Rs+BvV/HSlwV,B-BxV.ByVzVkNlNAVBVCVmNDVEVFVnNoNGVHVpNqNrNIVsNJVKVtNuNLVMVvNNVwNOVxNyNPVQVRVzNSVTVUVANVVWVBNXVCNYVDNZVENFN0V1VGNHN2VINJN3VKNLN4VMNNN5VONPN6VQNRN7V8V9V!VTl#V$V/be c8d8^ :H%V;H/B'VSN=H?H(VTN)VUNVNWNXNQy@H[H]H^H*V_H+V`H{H,VYN-V.VZN0N1Nsv2N/VUl:VVl;VWl=V|H?V}HWw~H@V[VaI]VbIe8^Vbdvb3N4Nke_V`V`6xs_ Rytv$t%tSyuv't(t)tTyvv*t{V|V}V~VXlaWbWcWdW:BcdwbcI5Nzf6NeWddUyfWAf7NgWedVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BYlqWrW_B`BsWdItW{BuWeIvWwWfIgI8N9Nfdgd!NWy|B}Bhd9F~B#N*j$NidhIxWyWzWwvXyYyZyLjxv0y1y2yMjaCNjAWBW7h%N!FOj#FPjCWDWiIEWZlFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWjIkIUWVW0lWW1lXW2lYWjd'N(NUd;e_jHbZW0W3l1W2W4l3W4W5l5W6W)N6l7W8W*N7lyv3y4y5ywizv6y7y8yxiAv9y!y#y$yyi9WQjbCRjcCzidCkd!W8l#W$W+N%W'WOhSjBv%y,N'yTjCv(y-N)y(WeC9lfCXwUjVj)W.NlImI*WAinIgC+WWj,W+jhC-WoI/N.W/WpIXjiC:NjC;NqI=NkCrIlC?NsImCYwnCtIZwuI+t$F%F'F(FvI,t)F*F+F,F@N-F*y+y.FoC0wwIpC1w:WqC;W!lrC=W#l[Nld:b]N^N;b_N`Nmd{Nnd|Nod}N,y-y.y2w/y:y3w4w5w6w7wxbyb;y=b=y?b-t~N.t?W{67s/t:t8s;t=t8wxIsCtCuC@W[Wpdl /F:FVd;F=Fqd?yaO9s]W^Wrd=e@b)lDv@yEv[ycsEt#r$r,j/h_WyIFs`W|6zI9w?F}6!w@F~6Gs!s#s?t$s%s@t's[t(s)s]t*s#w[Fa7$w]Fb7{W|W]y}WBibOcO~WaXbXIbcXdOdXAI%weO[bBIvC^FfOgOhO'wCI^t(w)w_tiOm n o p q r s (deXfX`jgXhXwCiXDIjXkXc7lXCif8mXsdnXjOYjkOJb^y]bxCDi` 2 SsyCoXEI{jpXzCACqXBCrXsXlOmOtXuXvXnOwXxXyXoOpOzXAXqOrOsOBXtOCXDXuOvOEXFXwOGXxOHXyOzOIXJXKXAOLXMXNXBOOXPXCOQXDORXEOSXFOGOTXUXHOIOVXJOKOWXLOMOXXNOOOYXPOQOZXROSO0X1X2X3X|j4X5XKba g8h8' FI6XGICC7XTOHIII8XUO9XVOWOXOYO_yJIKILIMI!XNI#XOIPI$XZO%X'X0O1O2OFv3O%r_r'rWhmsdsss(X}j)X~j*Xak+XQI,XRI*wSI-X.XTI/XUIi8:X^b{ 4O5O)d;X=Xd7ys( `yGv`t{t{yHv|t}t~t|yIvau?X@X[X]Xbk^X_X`X{XDC_b| VI6O?e7O|X`b}y}X@e8O~X{b~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCckjYkYLCMClYWImYNCnYXIoYpYYIZI9O!O|b}b#OazOCPC~b_FQC$OZj%Oac0IqYrYsYJvbzczdzEiKvezfzgzFiRCGitYuY1h'O`FHi{FIivYwY1IxYdkyYzYAYBYCYDYEYFYGYHYIYJYKYLYMY2I3INYOYekPYfkQYgkRYbc(O)Otdle-jzbSYTYhkUYVYikWYXYjkYYZY*Okk0Y1Y+OlkLvhzizjz:hMvkzlzmz;hNvnzozpzqz=h2YJiSCKiTC?hUCcc3Ymk4Y5Y,O6Y7YPhLiOvrz-OszMiPvtz.Ouz8YVCnkWC+wNiOi9Y/O4I5I!Y@h6IXC#YPi$Y0jYC%Y7I:O'Y(Y8IQiZC;O0C=O9I?O1C!I2C@O#I3C,w4C$I-w%Ibu|F}F~FaG'IcubGcGdGeG[OfGvzwzgG5C.w(I6C/w)Y7C*Yok8C+Ypk]OdcLb^O_OMb`O{Oec|Ofc}Ogc~Oxzyzzz:wAzBz;w=w?w@w[w} ~ CzNbDzObduaPeu,Ye7+sfugu,shuiu]w)I9C!C#C-Y.Yhcg hGiGudjGkGicEzbP-s/Y:Yvd[ejc*lQvFzRvGzesFt(r)r.j[h;Y*IHs=Yf7+I^wlGg7_wmGh7Is.s/sju:s;sku=slu?s@smu[s`wnGi7{woGj7?Y@YHz[YRicPdP]Y^Y_YPb`YeP{Y,I|wfPkc-I$CpGgPhPiP}w.Inu~waxoujPt u v w x y z *d|Y}Yqk~YaZ%CbZ/IcZdZk7eZSij8fZwdgZkP1jlPQbIzlc'CTiab3 Ts(ChZ:IrkiZ)C*CjZ+CkZlZmPnPmZnZoZoPpZqZrZpPqPsZtZrPsPtPuZuPvZwZvPwPxZyZxPzZyPAZzPAPBZCZDZBPEZFZGZCPHZIZDPJZEPKZFPLZGPHPMZNZIPJPOZKPLPPZMPNPQZOPPPRZQPRPSZSPTPTZUZVZWZskXZYZRbb k8l8) ;IZZ=I,C0ZUP?I@I1ZVP2ZWPXPYPZPJz[I]I^I_I3Z`I4Z{I|I5Z0P6Z7Z1P2P3PSv4P*r`r+rXhnsfsts8Ztk9Zuk!Zvk#Z}I$Z~IbxaJ%Z'ZbJ(ZcJm8)Zmcbb5P6P+d*Z+Zl7zs* KzTvpuquLzUvrusutuMzVvuu,Z-Z.Z/Zwk:Z;Z=Z?Z-CnccbdJ7P]e8P@ZocNz[Z^e9P]ZpcOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cxkc0d0[C]Ce0eJf0^Cg0fJh0i0gJhJ!P#Pqcrc$PPz_C`CscqG{C%P2j'PtciJj0k0l0WvQzRzSzUiXvTzUzVzVi|CWim0n02h(PrGXisGYio0p0jJq0ykr0s0t0u0v0w0x0y0z0A0B0C0D0E0F0kJlJG0H0zkI0AkJ0BkK0uc)P*Pxdme/jAbL0M0CkN0O0DkP0Q0EkR0S0+PFkT0U0,PGkYvWzXzYz]hZvZz0z1z^h0v2z3z4z5z_hV0Zi}C0i~C`haDvcW0HkX0Y0-PZ000Qh1i1v6z.P7z2i2v8z/P9z10bDIkcDcx3i4i20:PmJnJ30{hoJdD405i503jeD60pJ;P7080qJ6ifD=PgD?PrJ@PhDsJiD[PtJjDdxkDuJexvJvutGuGvGwGwJwuxGyGzGAG]PBG!z#zCGlDfxxJmDgx90nD!0JkoD#0Kk^PwcSb_P`PTb{P|Pxc}Pyc~PzcaQ$z%z'zhx(z)zixjxkxlxmxdbeb*zUb+zVbxubQyu$0m7]szuAu^sBuCunxyJpDqDrD%0'0Ach DGEGydFGGGBc,zcQ_s(0)0zd_eCc+l3v-z4v.zgsGt,r-r:j|h*0zJJs+0n7AJoxHGo7pxIGp7Ks`s{sDu|s}sEu~sFuatbtGuctqxJGq7rxKGr7,0-0/z.07idQeQ/0:0;0Wb=0fQ?0BJsxgQDcCJsDLGhQiQjQtxDJHuuxvxIukQA B C D E F G ,d@0[0Lk]0^0tD_0EJ`0{0s7|08in8}0Ad~0lQ4jmQXb:zEcuD9ifb4 UsvDa1FJMkb1wDxDc1yDd1e1nQoQf1g1h1pQi1j1k1qQrQl1m1sQtQuQn1vQo1p1wQxQq1r1yQs1zQt1AQBQu1v1w1CQx1y1z1DQA1B1EQC1FQD1GQE1HQIQF1G1JQKQH1LQMQI1NQOQJ1PQQQK1RQSQL1TQUQM1N1O1P1NkQ1R1Ybc o8p8+ GJS1HJzDT1VQIJJJU1WQV1XQYQZQ0Q;zKJLJMJNJW1OJX1PJQJY11QZ1012Q3Q4Q5v5Q.r{r/rYhoshsus11Ok21Pk31Qk41RJ51SJwxTJ6171UJ81VJq891Fcgb6Q7Q-d!1#1t7As, =z6vJuKu?z7vLuMuNu@z8vOu$1%1'1(1Rk)1*1+1,1ADGchbWJ8Q`e9Q-1Hc[z.1{e!Q/1Ic]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHDSk`1{1IDJD|1XJ}1KD~1YJa2b2ZJ0J#Q$QJcKc%Q^zLDMDLcMGND'Q5j(QMc1Jc2d2e29v_z`z{z!i!v|z}z~z#iOD$if2g23h)QNG%iOG'ih2i22Jj2Tkk2l2m2n2o2p2q2r2s2t2u2v2w2x2y23J4Jz2A2UkB2VkC2WkD2Nc*Q+QBdne;jBbE2F2XkG2H2YkI2J2ZkK2L2,Q0kM2N2-Q1k#vaAbAcA}h$vdAeAfA~h%vgAhAiAjAaiO2(iPD)iQDbiRDOcP22kQ2R2.QS2T2Rh*i'vkA/QlA+i(vmA:QnAU2SD3kTDxx,i-iV2;Q5J6JW2ci7JUDX2.iY26jVDZ28J=Q02129J/iWD?QXD@Q!J[QYD#JZD]Q$J0Dyx1D%Jzx'JPuPGQGRGSG(JQuTGUGVGWG^QXGoApAYG2DAx)J3DBx224D324k5D425k_QPcZb`Q{Q0b|Q}QQc~QRcaRScbRqArAsACxtAuADxExFxGxHxibjbvA1bwA2bRucRSu52u7dtTuUuetVuWuIx*J6D7D8D6272Tci ZG0GCd1G2GUcxAdRft8292Dd|eVc,l)vyA*vzAisHt:r;r=jdi!2+JLs#2v7,JJx3Gw7Kx4Gx7MsgthtXuitjtYuktZultmt0untLx5Gy7Mx6Gz7$2%2AA'2:ieRfR(2)2*23b+2gR,2-JNxhRWc.J9D7GiRjRkROx/J1uPxQx2ulRH I J K L M N .d-2.26k/2:2!D;2:J=2?2A7@2;ir8[2Ed]2mR7jnR4bBAXc#D=ikb5 Vs$D^2;J7k_2%D'D`2(D{2|2oRpR}2~2a3qRb3c3d3rRsRe3f3tRuRvRg3wRh3i3xRyRj3k3zRl3ARm3BRCRn3o3p3DRq3r3s3ERt3u3FRv3GRw3HRx3IRJRy3z3KRLRA3MRNRB3ORPRC3QRRRD3SRTRE3URVRF3G3H3I38kJ3K35bd s8t8- =JL3?J)DM3WR@J[JN3XRO3YRZR0R1RCA]J^J_J`JP3{JQ3|J}JR32RS3T33R4R5R+v6R=r|r?rZhpsjsvsU39kV3!kW3#kX3~JY3aKRxbKZ303cK13dKu823Yclb7R8R/d3343B7Bs. DA,v3u4uEA-v5u6u7uFA.v8u53637383$k93!3#3$3*DZcmbeK9R}e!R%30cGA'3~e#R(31cHA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D%k=3?3=D?D@3fK[3@D]3gK^3_3hKiK$R%R2c3c'RIA[D]D4c8G^D(R8j)R5cjK`3{3|3/vJAKALA?i:vMANAOA@i_D[i}3~34h*R9G]i!G^ia4b4kKc4'kd4e4f4g4h4i4j4k4l4m4n4o4p4q4r4lKmKs4t4(ku4)kv4*kw46c+R,RFdoe?jCbx4y4+kz4A4,kB4C4-kD4E4-R.kF4G4.R/k;vPAQARAei=vSATAUAfi?vVAWAXAYAgiH4_i`D`i{Dhi|D7cI4:kJ4K4/RL4M4Sh{i@vZA:R0A|i[v1A;R2AN4}D;k~DSx}i~iO4=RnKoKP4iipKaEQ4ajR49jbES4qK?RT4U4rKbjcE@RdE[RsK]ReEtKfE^RuKgETxhEvKUxwK9u#G$G%G'GxK!u(G)G*G+G_R,G3A4A-GiEVxyKjEWxV4kEW4=klEX4?k`R8c6b{R|R7b}R~R9caS!cbS#ccS5A6A7AXx8A9AYxZx0x1x2xnbob!A8b#A9b#udS$uY4C7ot%u'upt(u)u3xzKmEnEoEZ404$cj .G/GGd:G;G%c$AeSqt1424Hdaf'c-l]v%A^v'AksIt@r[r@jji34AKNs44D7BK4x=GE75x?GF7Osrtst*uttut+uvt,uwtxt-uyt6x@GG77x[GH75464(A74cjfSgS8494!4!b#4hS$4CK8xiS(cDKpE]GjSkSlS9xEK.u!x#x/umSO P Q R S T U :d%4'4@k(4)4qE*4FK+4,4I7-4djv8.4Id/4nS!joS#b)A)crEejpb6 WssE:4GK[k;4tEuE=4vE?4@4pSqS[4]4^4rS_4`4{4sStS|4}4uSvSwS~4xSa5b5ySzSc5d5ASe5BSf5CSDSg5h5i5ESj5k5l5FSm5n5GSo5HSp5ISq5JSKSr5s5LSMSt5NSOSu5PSQSv5RSSSw5TSUSx5VSWSy5z5A5B5]kC5D5HKE5IKwEF5XSJKKKG5YSH5ZS0S1S2S*ALKMKNKOKI5PKJ5QKRKK53SL5M54S5S6S_v7S]r}r^r0hqslswsN5^kO5_kP5`kQ5SKR5TK$xUKS5T5VKU5WKw8V5*cqb8S9S;dW5X5J7Cs/ +A`v:u;u,A{v=u?u@u-A|v[uY5Z50515{k25354555xE+crbXK!Sbf#S65,c.A75cf$S85-c/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE|k+5,5FEGE-5YK.5HE/5ZK:5;50K1K%S'S.c/c(S:AIEJE:c^GKE)S#j*S;c2K=5?5@5}v;A=A?Afj~v@A[A]AgjLEhj[5]55h+S_Gij`Gjj^5_53K`5}k{5|5}5~5a6b6c6d6e6f6g6h6i6j6k64K5Kl6m6~kn6alo6blp6=c,S-SJdpe[jDbq6r6cls6t6dlu6v6elw6x6.Sfly6z6/Sglaw^A_A`Akibw{A|A}Alicw~AaBbBcBmiA6kjMEljNEniOE?cB6hlC6D6:SE6F6ThmjdwdB;SeBnjewfB=SgBG6PEilQE%xojpjH6?S6K7KI6oi8KREJ6qjK6$jSEL69K@SM6N6!KrjTE[SUE]S#K^SVE$KWE_S%KXE'xYE'K(x(K]u{G|G}G~G)K^uaHbHcHdH`SeHhBiBfHZE)x*K0E*xO61EP6jl2EQ6kl{S@c$b|S}S%b~SaT[cbT]ccT^cdTjBkBlB+xmBnB,x-x.x/x:xsbtboB'bpB(b_ueT`uR6K7zt{u|uAt}u~u;x+K3E4E5ES6T6_ck gHhHKdiHjH`cqBfTBtU6
73 @property 2hg9f!f#f$f%f'f
74 def required(self) -> bool: 2hg9f!f#f$f%f'f
75 return self.field_info.is_required() 2hg|ffe_fWd.llv?xmv@xCt~rasvlpiXsyHfhgwIFhwJFYsPtQtRtStTtUtVtWtmwKFnwLF[xsjLdXdxBMFpwrwswmh: ; = ? @ [ ] igwfnhwlyBCHtjohge%jkHMd]xYdUhzBuj{cubABDHxlBBCBDBylNdf EbEHFHEBGHHH^xIHJHKHLHMHNHOHzlAlBl}fPHQHRH}T~TSHTHQsFbBf`xnvXtYtCf{xovZt0tDf1t|xpv2tClGB0d*b`f1d}x{f2d~xHBIBJBKBLBMBNBDlOBPBVHQBWHXHEfL73d4dayRBSB5dTB'j6dcydyeyvjgyhyiywjUBxj+h6hOFyjPFzj0HEl1H2HFlGlHl7dhe|cIlJlKlLlphMlkylymyqioypyqyrisytyuyvysiAjVBBjWBtiXB8dqhdfefNlVhCjxyyyDjAyByYBOlZBuwEjFj3H4Hui5H0BGj(j1B6H7HHjrh2B3B)f4B5Bsh~f6B7BagthQFRFSFTFuhUFVFWFXFvhYFCyDyZFwh8Bzw9BAwFfGf!BPl#BQl9dOdPd!d#d$dEyFyGyHfBwHyIyIfCwDwEwFwGw+b,bJyQdKyRd3t4tNw(H$B%B'B%d$ 0F1Fie2F3F'dLyxh5t9fJfSdyf}c/lqvMyrvNyDt9r!r^jviDs*HbgOw4FPw5FEsZs0s1s2s3s4s5s6sQw6FRw7FOyIj-b~c(B8FTwUwVwjgV W X Y Z 0 1 *fjekgRl)B.HJjlgTd)jrB.bPyadIh*BKjGb% +B/HSl,B-B.BTl/be ^ :H;H/B=H?HQy@H[H]H^H_H`H{HUlVlWlKf|H}H~H@V[VaIbIxs_ qeRytv$t%treSyuv't(tse)tTyvv*tXl:BcdwbzfddUyAfedVy;B=B?B@B[B]B^BYl_B`BdI{BeIfIteM7fdgdWy|B}Bhd~B*jidXyYyZyLj0y1y2yMjaCNj,h7h!FOj#FPjiIZljIkI0l1l2ljdUdHb3l4l5l6lmg7l3y4y5ywi6y7y8yxi9y!y#y$yyiQjbCRjcCzidCkdng=d?d8lOhSj%y'yTj(y)yeC9lfCXwUjVjlImIAinIgCWj+jhCoIpIXjogiCjCffkClCpgLfmCnCMfqg$F%F'F(Frg)F*F+F,Fsg-F*y+y.FtgoC0wpC1wueveqC!lrC#lld:b;bmdndod,y-y.ywe2w/y:yxe3w4w5w6w7wxbyb;y=b=y?b7s8s8wxIsCtCuCpdl /F:FVd;F=Fqd?yug9s!fNfrd=e@b)lDv@yEv[yEt#r$r,j/hFszIcg9w?F!w@FGs!s#s$s%s's(s)s*s#w[F$w]F]yBiIb[bvC^F'w(w)wvgm n o p q r s +f(dwg`jwCDICixgsdYjsBJb^y]bJhxCDi` 2 yCEI{jzCACBC|jKba ' FIGICCHIII_yJIKILIMINIOIPI%r7 _r'rWhds}j~jakOfQIRISI-X.XTIUIys( ye`yGv`t{tze{yHv|t}tAe~t|yIvaubkDC_b| ?e`b}y@e{b~yECFCGCHCICJCKCckLCMCWINCXIYIBeN7|b}bazOCPC~bQCZjacbzczdzEiezfzgzFiRCGi8h1h`FHi{FIi1Idk2I3Iekfkgkbctdzbhkikjkkkyglkhzizjz:hkzlzmz;hnzozpzqz=hJiSCKiTC?hUCcczg@d[dmkPhLirzszMitzuzVCnkWC+wNiOi4I5I@h6IXCPi0jYC7I8IQiAgZC0Cgf1C2CBgPf3C4CQfCg|F}F~FaGDgbGcGdGeGEgfGvzwzgGFg5C.w6C/wCeDe7Cok8CpkdcLbMbecfcgcxzyzzzEe:wAzBzFe;w=w?w@w[w} ~ CzNbDzOb+s,s]w)I9C!C#Chcg hGiGudjGkGicEzGg-s#fRfvd[ejc*lQvFzRvGzFt(r)r.j[hHs+Idg^wlG_wmGIs.s/s:s;s=s?s@s[s`wnG{woGHzRiPbkc$CpG}w~waxHgt u v w x y z ,f*dIgqk%C/ISiJgwd1jtBQbIzlcKh'CTiab3 (C:Irk)C*C+CskRbb ) ;I=I,C?I@IJz[I]I^I_I`I{I|I*r8 `r+rXhfstkukvkSf}I~IaJ%Z'ZbJcJzs* GeKzTvpuquHeLzUvrusuIetuMzVvuuwk-Cnccb]eocNz^epcOz.C/C:C;C=C?C@Cxk[C]CeJ^CfJgJJeO7qcrcPz_C`Csc{C2jtcQzRzSzUiTzUzVzVi|CWi9h2hrGXisGYijJykkJlJzkAkBkucxdAbCkDkEkFkKgGkWzXzYz]hZz0z1z^h2z3z4z5z_hZi}C0i~C`haDvcLg]d^dHkQh1i6z7z2i8z9zbDIkcDcx3i4imJnJ{hoJdD5i3jeDpJqJ6iMgfDgDhfhDiDNgTfjDkDUfOgtGuGvGwGPgxGyGzGAGQgBG!z#zCGRglDfxmDgxKeLenDJkoDKkwcSbTbxcyczc$z%z'zMehx(z)zNeixjxkxlxmxdbeb*zUb+zVb]s^snxyJpDqDrDAch DGEGydFGGGBc,zSg_s$fVfzd_eCc+l3v-z4v.zGt,r-r:j|hJsAJegoxHGpxIGKs`s{s|s}s~satbtctqxJGrxKG/z7iWbDcsDLGtxuxvxTgA B C D E F G -f,dUgLktDEJ8iVgAd4juBXb:zEcLhuD9ifb4 vDFJMkwDxDyDNkYbc + GJHJzDIJJJ;zKJLJMJNJOJPJQJ.r9 {r/rYhhsOkPkQkWfRJSJTJ6171UJVJAs, Oe=z6vJuKuPe?z7vLuMuQeNu@z8vOuRkADGchb`eHc[z{eIc]zBDCDDDEDFDGDHDSkIDJDXJKDYJZJReP7JcKc^zLDMDLcND5jMc_z`z{z!i|z}z~z#iOD$i!h3hNG%iOG'i2JTk3J4JUkVkWkNcBdBbXkYkZk0kWg1kaAbAcA}hdAeAfA~hgAhAiAjAai(iPD)iQDbiRDOcXg_d`d2kRh*ikAlA+imAnASD3kTDxx,i-i5J6Jci7JUD.i6jVD8J9J/iYgWDXDifYDZDZgXf0D1DYf0gPGQGRGSG1gTGUGVGWG2gXGoApAYG3g2DAx3DBxSeTe4D4k5D5kPcZb0bQcRcScqArAsAUeCxtAuAVeDxExFxGxHxibjbvA1bwA2bdtetIx*J6D7D8DTci ZG0GCd1G2GUcxA4gft%fZfDd|eVc,l)vyA*vzAHt:r;r=jdiLs,JfgJx3GKx4GMsgthtitjtktltmtntLx5GMx6GAA:i3bWc9D7GOxPxQx5gH I J K L M N .f.d6g6k!D:J;i7gEd7jvB4bBAXcMh#D=ikb5 $D;J7k%D'D(D8k5bd - =J?J)D@J[JCA]J^J_J`J{J|J}J=r! |r?rZhjs9k!k#k0f~JaKbKZ303cKdKBs. WeDA,v3u4uXeEA-v5u6uYe7uFA.v8u$k*DZcmb}e0cGA~e1cHA+D,D-D.D/D:D;D%k=D?DfK@DgKhKZeQ72c3cIA[D]D4c^D8j5cJAKALA?iMANAOA@i_D[i#h4h9G]i!G^ikK'klKmK(k)k*k6cFdCb+k,k-k.k8g/kPAQARAeiSATAUAfiVAWAXAYAgi_i`D`i{Dhi|D7c9g{d|d:kSh{iZA0A|i1A2A}D;k~DSx}i~inKoKiipKaEaj9jbEqKrKbj!gcEdEjfeEfE#g1fgEhE2f$g#G$G%G'G%g(G)G*G+G'g,G3A4A-G(giEVxjEWx0e1ekE=klE?k8c6b7b9c!c#c5A6A7A2eXx8A9A3eYxZx0x1x2xnbob!A8b#A9botpt3xzKmEnEoE$cj .G/GGd:G;G%c$A)gqt'f3fHdaf'c-l]v%A^v'AIt@r[r@jjiNsBKgg4x=G5x?GOsrtstttutvtwtxtyt6x@G7x[G(Acj!b(cpE]G9x!x#x*gO P Q R S T U /f:d+g@kqEFKdj,gId!jwB#b)A)cNhrEejpb6 sEGK[ktEuEvE]kHKIKwEJKKK*ALKMKNKOKPKQKRK]r# }r^r0hls^k_k`k4fSKTKUKS5T5VKWKCs/ 4e+A`v:u;u5e,A{v=u?u6e@u-A|v[u{kxE+crbbf,c.Acf-c/AyEzEAEBECEDEEE|kFEGEYKHEZK0K7eR7.c/c:AIEJE:cKE#j;c;A=A?Afj@A[A]AgjLEhj$h5h_Gij`Gjj3K}k4K5K~kalbl=cJdDbcldlelfl-ggl^A_A`Aki{A|A}Ali~AaBbBcBmikjMEljNEniOE?c.g}d~dhlThmjdBeBnjfBgBPEilQE%xojpj6K7Koi8KREqj$jSE9K!Krj/gTEUEkfVEWE:g5fXEYE6f;g{G|G}G~G=gaHbHcHdH?geHhBiBfH@gZE)x0E*x8e9e1Ejl2Ekl@c$b%b[c]c^cjBkBlB!e+xmBnB#e,x-x.x/x:xsbtboB'bpB(bztAt;x+K3E4E5E_ck gHhHKdiHjH`cqB[gBt
77 @property 2hg9f!f#f$f%f'f
78 def default(self) -> Any: 2hg9f!f#f$f%f'f
79 return self.get_default() 2lv?xmv@xCt~rasV6gwIFhwJFYsmwKFnwLF[xxBMFpwrwswyBCH]xzBABDHBBCBDBEBHH^xKHLHMHQs`xnvXtYt{xovZt0t1t|xpv2tGB}x~xHBIBayRBSBcydyeygyhyiyUBOFPFkylymyoypyqysytyuyvyVBWBXBxyyyAyByZB3H4H5H0B1B6H7H4B5B!B#BEyFyGyBwHyIyCwDwEwFwGwJyKy3t4tNw(H$B%B'BLyqvMyrvNyDt9r!r,KOw4FPw5FEsQw6FRw7FOy(B8FTwUwVw)B.HPy*B+B/H,B-B.B/B?HQy]H^H_HxsRytv$t%tSyuv't(t)tTyvv*t:BUyVy;B=BWy|B}BXyYyZy0y1y2yaC!F#F3y4y5y6y7y8y9y!y#y$ybCcCdC%y'y(y)yfClImInIgChCoIpIkClCqCrC,y-y.y2w/y:y3w4w5w6w7w;y=y7s8s8wxIsCtCuC?yDv@yEv[yEt#r$r-K9w?F!w@FGs#w[F$w]F]yvC^F'w(w)wwCDI^yxCyCEIzCACBCCCII_yLIMINI%rdsys`yGv`t{t{yHv|t}t~t|yIvauDC}y~yECFCazOCPCbzczdzezfzgzRC`F{FhzizjzkzlzmznzozpzqzSCTCUCrzsztzuzWC4I5I6IXCYC7I8I1C2C7C8Cxzyzzz:wAzBz;w=w?w@w[wCzDz+s,s]w)I9C!C#CEzQvFzRvGzFt(r)r.K^wlG_wmGIs`wnG{woGHz$CpG}w~wax%C/IIz'C(C:I)C*C+C,C@IJz^I_I`I*rfszsKzTvpuquLzUvrusutuMzVvuu-CNzOz.C/CPz_C`CQzRzSzTzUzVz|CrGsGWzXzYzZz0z1z2z3z4z5z}C~CaD6z7z8z9zcDmJnJoJdDeDpJqJhDiDnDoD$z%z'zhx(z)zixjxkxlxmx*z+z]s^snxyJpDqDrD,z3v-z4v.zGt,r-r/KoxHGpxIGKsqxJGrxKG/zsDLGtxuxvxtDEJ:zuDvDFJwDxDyDzDJJ;zMJNJOJ.rhsAs=z6vJuKu?z7vLuMuNu@z8vOuAD[z]zBDCD^zLDMD_z`z{z|z}z~zODNGOGaAbAcAdAeAfAgAhAiAjAPDQDRDkAlAmAnATD5J6J7JUDVD8J9JYDZD4D5DqArAsACxtAuADxExFxGxHxvAwAdtetIx*J6D7D8DxA)vyA*vzAHt:r;r:KJx3GKx4GMsLx5GMx6GAA9D7GOxPxQx!D:JBA#D$D;J%D'D(D)D[JCA_J`J{J=rjsBsDA,v3u4uEA-v5u6u7uFA.v8u*DGAHA+D,DIA[D]DJAKALAMANAOA_D9G!GPAQARASATAUAVAWAXAYA`D{D|DZA0A1A2A~DnKoKpKaEbEqKrKeEfEkElE5A6A7AXx8A9AYxZx0x1x2x!A#Aotpt3xzKmEnEoE$A]v%A^v'AIt@r[r;K4x=G5x?GOs6x@G7x[G(ApE]G9x!x#xqEFK)ArEsEGKtEuEvEwEKK*ANKOKPK]rlsCs+A`v:u;u,A{v=u?u@u-A|v[uxE.A/AyEzE:AIEJE;A=A?A@A[A]ALE_G`G^A_A`A{A|A}A~AaBbBcBMENEOEdBeBfBgBQE6K7K8KRESE9K!KVEWE1E2EjBkBlB+xmBnB,x-x.x/x:xoBpBztAt;x+K3E4E5EqB
81 @property 2hg9f!f#f$f%f'f
82 def type_(self) -> Any: 2hg9f!f#f$f%f'f
83 return self.field_info.annotation 2hgiTk$|fx8y8fe_fWd.l7fyhlv?xmv@xrsCt~rasvlpijTgT=KzhxH]gXskTz8fhA8YsPtQtiwRtStjwTtkwUtVtlwWtlTmTHh[xnTsj~LaMoTpTqTLdrTbMsTzHowcMXdAHxBMFdMeMfMpwBHqwrwswtwmhgM: ; = ? @ [ ] igwfB8nhtTuTwlvTwTyBxTCHyTzTATtj?K@K[K]KohC8geD8E8CThM%jkHiMMd]xYdUhzBuj^K_K`K{cubPsABDTDHxlETBBCBFTDB$lGTHTjMkMITJTKTlMLTMTNTmMnMOTPToMpMqMQTrMRTSTsMtMTTUTuMVTvMWTwMxMXTYTZTyM0T1T2TzM3T4TAM5TBM6TCM7TDMEM8T9TFMGM!THMIM#TJMKM$TLMMM%TNMOM'TPMQM(T)T*T+Tyl,T-TF8Ndl$m$n$o$p$G8q$r$s$H8I8f t$u$v$w$x$Eby$z$A$B$C$J8K8L8D$EH.TFHEB/TRMGHHH:TSM;TTMUMVMWM^xIHJHKHLH=TMH?TNHOH@TXM[T]TYMZM0M_x1M{K^Tzl_TAl`TBl}f{TPH|TQHFBRHSHaUTHbUZd8f:f)b2MM83MN8xfcUdUQsFbAhBf`xnvXtYtCf{xovZt0tDf1t|xpv2teUfUgUhUCliUjUkUlUGB0dO8P8*bUH4MQ8R8`f5MmU1d}xnU{f6MoU2d~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNBDlyUzUOBPBAUVHBUQBCUWHDUEUXHS8T8U8V8EfW8X8L7Y8Z808182838YH7M8M3d4d9MayRBSB5dNFTB!M'jE$48#M6dZHFUGUHUbycydyeyvjfygyhyiywjUBxjIUJUF$G$58+h68H$-h6h$MyjzjKULU0HMUElNUOUPUQURUSUTUUUVUWUXUYUZU0U1U1H2H2U3UFl4UGl5UHl6U7d%M'Mhe(f]j|c78887U8UIl9U!UJl#U$UKl%U'U(MLlph98!8(U)U)MMljykylymyqinyoypyqyrirysytyuyvysi*UAjVBBjWBtiXB8dqhdf#8ef$8+UNl,U-U*M.U/UVh;fCjwyxy+MyyDjzyAy,MBy:UYBOlZBuwEjFj;U-M3H4H=Uui5H0B?UGj@U(j1B[U6H%l.M]U^U7HHjrh2B/M3B:M8H)f;M4B9H5Bsh=M!H~f6Bvw7B#Hagww$HthxwQFRFSFTFuh%HywUFVFWFXFvh?MYFCyDyZFwh8Bzw'H9BAw_UFf%8Gf'8!B`UPl#B{UQl@M9dOd[M]MPd^M_M!d`M#d{M$d|MEyFyGyHfBwHyIyIfCwDwEwFwGw(8+b)8,bJyQdKyRdHw}MIw|U3tJwKw4tLwMwNw(H$B%B'B}U%d*8+8$ 0F1Fie2F3F'd,8-8Ly~Mxh|K5t~U9faVI$Jf.8/8Sdyf}c/l$e^gqvMyrvNybsDt9r!r^jvibVlH6E_g)H=fDscV:8bg;8EsZs0s6t1s2s7t3s8t4s5s9t6sdVeVBhOyfVIjaNbNgVhViV-bjVcNkV+HSwdN~c,H(B8FeNfNgNTw-H!tUwVw#tjghNV W X Y Z 0 1 *fje=8kglVmVRlnVoV)BpV.HqVrVsVJj7E8E9E!Elg?8Td@8[8uViN)jrBjN.bPyadIh*BKj#E$E%EGb% Rs+BvV/HSlwV,B-BxV.B'lyVzVkNlNAVBVCVmNDVEVFVnNoNGVHVpNqNrNIVsNJVKVtNuNLVMVvNNVwNOVxNyNPVQVRVzNSVTVUVANVVWVBNXVCNYVDNZVENFN0V1VGNHN2VINJN3VKNLN4VMNNN5VONPN6VQNRN7V8V9V!VTl#V$V]8/bJ$K$L$M$N$^8O$P$Q$_8`8e R$S$T$U$V$^ W$X$Y$Z$0${8|8}81$:H%V;H/B'VSN=H?H(VTN)VUNVNWNXNQy@H[H]H^H*V_H+V`H{H,VYN-V.VZN0N1Nsv2N'E/VUl:VVl;VWlKf=V|H?V}HWw~HaI]VbI^Vbd%elfvb3N~84Na9ke_V`Vxs_ ghqeRytv$t%treSyuv't(tse)tTyvv*t{V|V}V~VXlaWbWcWdW:Bcdb9c9wbcI5Nd9e9zf6NeWddUyfWAf7NgWedVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BYlqWrW_B`BsWdItW{BuWeIvWwWfIf9g9h9i9tej9k9M7l9m9n9o9p9q9gI8N9Nfdgd!NWy|B}Bhd9F~B#N*j2$r9$NidhIxWyWzWwvXyYyZyLjxv0y1y2yMjaCNjAWBW3$4$s9,ht95$.h7h%NOjPjCWDWiIEWZlFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWjIkIUWVW0lWW1lXW2lYWjd'N(NUd;e_jHbu9v9ZW0W3l1W2W4l3W4W5l5W6W)N6lmgw9x97W8W*N7lyv3y4y5ywizv6y7y8yxiAv9y!y#y$yyi9WQjbCRjcCzidCkdng=dy9?dz9!W8l#W$W+N%W'WOhmfSjBv%y,N'yTjCv(y-N)y(WeC9lfCXwUjVj)W.NlImI*WAinIgC+WWj,W+jhC-WoI(l/N.W/WpIXjogiC:NjC;NqIff=NkCrIlCpg?NsILfmCYwnCtIMfZwuIqg+t$F%F'F(FrgvI,t)F*F+F,Fsg@N-F*y+y.FtgoC0wwIpC1w:WueA9veB9qC;W!lrC=W#l[Nld:b]N^N;b_N`Nmd{Nnd|Nod}N,y-y.ywe2w/y:yxe3w4w5w6w7wC9xbD9yb;y=b=y?b-t~N.t?W7s/t:t8s;t=t8wxIsCtCuC@W[WpdE9F9l /F:FVd;F=FqdG9H9?yaOug(E9s]W!f^W6$NfI9J9rd=e@b)l'e`gDv@yEv[ycsEt#r$r,j/h_WmH)E{gyI?fFs`WK9cgL9Gs!s#s?t$s%s@t's[t(s)s]t*s{W|WCh]y}WBibOcO~WaXbXIbcXdOdXAI%weO[bBIvC^FfOgOhO'wCI^t(w)w_tvgiOm n o p q r s +f(dM9wgeXfX`jgXhXwCiXDIjXkXlXCi*E+E,E-ExgN9sdO9P9nXjOYjsBkOJb^y]bJhxCDi.E/E:E` 2 SsyCoXEI{jpXzCACqXBCllrXsXlOmOtXuXvXnOwXxXyXoOpOzXAXqOrOsOBXtOCXDXuOvOEXFXwOGXxOHXyOzOIXJXKXAOLXMXNXBOOXPXCOQXDORXEOSXFOGOTXUXHOIOVXJOKOWXLOMOXXNOOOYXPOQOZXROSO0X1X2X3X|j4X5XQ9Kb7$8$9$!$#$R9$$%$'$S9T9a ($)$*$+$,$' -$.$/$:$;$U9V9W9=$FI6XGICC7XTOHIII8XUO9XVOWOXOYO_yJIKILIMI!XNI#XOIPI$XZO%X'X0O1O2OFv3O;E%r7 _r'rWhmsdsss(X}j)X~j*XakOf+XQI,XRI*wSITI/XUI:X^b(enf{ 4OX95OY9)d;X=Xaeys( hhye`yGv`t{tze{yHv|t}tAe~t|yIvau?X@X[X]Xbk^X_X`X{XDC_bZ909| VI6O1929?e7O|X`b}y}X@e8O~X{b~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCckjYkYLCMClYWImYNCnYXIoYpYYI39495969Be7989N799!9#9$9%9'9ZI9O!O|b}b#OazOCPC~b_FQC$OZj?$(9%Oac0IqYrYsYJvbzczdzEiKvezfzgzFiRCGitYuY@$[$)98h*9]$%h1h'OHiIivYwY1IxYdkyYzYAYBYCYDYEYFYGYHYIYJYKYLYMY2I3INYOYekPYfkQYgkRYbc(O)Otdle-jzb+9,9SYTYhkUYVYikWYXYjkYYZY*Okkyg-9.90Y1Y+OlkLvhzizjz:hMvkzlzmz;hNvnzozpzqz=h2YJiSCKiTC?hUCcczg@d/9[d:93Ymk4Y5Y,O6Y7YPhofLiOvrz-OszMiPvtz.Ouz8YVCnkWC+wNiOi9Y/O4I5I!Y@h6IXC#YPi$Y0jYC%Y7Iml:O'Y(Y8IQiAgZC;O0C=O9Igf?O1C!I2CBg@O#IPf3C,w4C$IQf-w%ICgbu|F}F~FaGDg'IcubGcGdGeGEg[OfGvzwzgGFg5C.w(I6C/w)YCe;9De=97C*Yok8C+Ypk]OdcLb^O_OMb`O{Oec|Ofc}Ogc~OxzyzzzEe:wAzBzFe;w=w?w@w[w?9} @9~ CzNbDzObduaPeu,Y+sfugu,shuiu]w)I9C!C#C-Y.Y=Ehc[9]9g hGiGudjGkGic^9_9EzbPGg?E-s/Y#f:Y^$Rf`9{9vd[ejc*l)e|gQvFzRvGzesFt(r)r.j[h;YnH@E}g*I@fHs=Y|9dg}9Is.s/sju:s;sku=slu?s@smu[s?Y@YDhHz[YRicPdP]Y^Y_YPb`YeP{Y,I|wfPkc-I$CpGgPhPiP}w.Inu~waxouHgjPt u v w x y z ,f*d~9Ig|Y}Yqk~YaZ%CbZ/IcZdZeZSi[E]E^E_EJga!wdb!c!gZkP1jtBlPQbIzlcKh'CTi`E{E|Eab3 Ts(ChZ:IrkiZ)C*CjZ+CnlkZlZmPnPmZnZoZoPpZqZrZpPqPsZtZrPsPtPuZuPvZwZvPwPxZyZxPzZyPAZzPAPBZCZDZBPEZFZGZCPHZIZDPJZEPKZFPLZGPHPMZNZIPJPOZKPLPPZMPNPQZOPPPRZQPRPSZSPTPTZUZVZWZskXZYZd!Rb_$`${$|$}$e!~$a%b%f!g!b c%d%e%f%g%) h%i%j%k%l%h!i!j!m%;IZZ=I,C0ZUP?I@I1ZVP2ZWPXPYPZPJz[I]I^I_I3Z`I4Z{I|I5Z0P6Z7Z1P2P3PSv4P}E*r8 `r+rXhnsfsts8Ztk9Zuk!ZvkSf#Z}I$Z~IbxaJbJ(ZcJ)Zmc*epfbb5Pk!6Pl!+d*Z+Zbezs* ihGeKzTvpuquHeLzUvrusuIetuMzVvuu,Z-Z.Z/Zwk:Z;Z=Z?Z-Cncm!n!cbdJ7Po!p!]e8P@ZocNz[Z^e9P]ZpcOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cxkc0d0[C]Ce0eJf0^Cg0fJh0i0gJq!r!s!t!Jeu!v!O7w!x!y!z!A!B!hJ!P#Pqcrc$PPz_C`CscqG{C%P2jn%C!'PtciJj0k0l0WvQzRzSzUiXvTzUzVzVi|CWim0n0o%p%D!9hE!q%'h2h(PXiYio0p0jJq0ykr0s0t0u0v0w0x0y0z0A0B0C0D0E0F0kJlJG0H0zkI0AkJ0BkK0uc)P*Pxdme/jAbF!G!L0M0CkN0O0DkP0Q0EkR0S0+PFkKgH!I!T0U0,PGkYvWzXzYz]hZvZz0z1z^h0v2z3z4z5z_hV0Zi}C0i~C`haDvcLg]dJ!^dK!W0HkX0Y0-PZ000Qhqf1i1v6z.P7z2i2v8z/P9z10bDIkcDcx3i4i20:PmJnJ30{hoJdD405i503jeD60pJol;P7080qJ6iMgfD=PgD?PrJhf@PhDsJiDNg[PtJTfjDdxkDuJUfexvJOgvutGuGvGwGPgwJwuxGyGzGAGQg]PBG!z#zCGRglDfxxJmDgx90KeL!LeM!nD!0JkoD#0Kk^PwcSb_P`PTb{P|Pxc}Pyc~PzcaQ$z%z'zMehx(z)zNeixjxkxlxmxN!dbO!eb*zUb+zVbxubQyu$0]szuAu^sBuCunxyJpDqDrD%0'0~EAcP!Q!h DGEGydFGGGBcR!S!,zcQSgaF_s(0$f)0r%VfT!U!zd_eCc+l+e~g3v-z4v.zgsGt,r-r:j|h*0oHbFahzJ[fJs+0V!egW!Ks`s{sDu|s}sEu~sFuatbtGuct,0-0Eh/z.07idQeQ/0:0;0Wb=0fQ?0BJsxgQDcCJsDLGhQiQjQtxDJHuuxvxIuTgkQA B C D E F G -f,dX!Ug@0[0Lk]0^0tD_0EJ`0{0|08icFdFeFfFVgY!AdZ!0!~0lQ4juBmQXb:zEcLhuD9igFhFiFfb4 UsvDa1FJMkb1wDxDc1yDpld1e1nQoQf1g1h1pQi1j1k1qQrQl1m1sQtQuQn1vQo1p1wQxQq1r1yQs1zQt1AQBQu1v1w1CQx1y1z1DQA1B1EQC1FQD1GQE1HQIQF1G1JQKQH1LQMQI1NQOQJ1PQQQK1RQSQL1TQUQM1N1O1P1NkQ1R11!Ybs%t%u%v%w%2!x%y%z%3!4!c A%B%C%D%E%+ F%G%H%I%J%5!6!7!K%GJS1HJzDT1VQIJJJU1WQV1XQYQZQ0Q;zKJLJMJNJW1OJX1PJQJY11QZ1012Q3Q4Q5v5QjF.r9 {r/rYhoshsus11Ok21Pk31QkWf41RJ51SJwxTJUJ81VJ91Fc,erfgb6Q8!7Q9!-d!1#1ceAs, jhOe=z6vJuKuPe?z7vLuMuQeNu@z8vOu$1%1'1(1Rk)1*1+1,1ADGc!!#!hbWJ8Q$!%!`e9Q-1Hc[z.1{e!Q/1Ic]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHDSk`1{1IDJD|1XJ}1KD~1YJa2b2ZJ'!(!)!*!Re+!,!P7-!.!/!:!;!=!0J#Q$QJcKc%Q^zLDMDLcMGND'Q5jL%?!(QMc1Jc2d2e29v_z`z{z!i!v|z}z~z#iOD$if2g2M%N%@!!h[!O%(h3h)Q%i'ih2i22Jj2Tkk2l2m2n2o2p2q2r2s2t2u2v2w2x2y23J4Jz2A2UkB2VkC2WkD2Nc*Q+QBdne;jBb]!^!E2F2XkG2H2YkI2J2ZkK2L2,Q0kWg_!`!M2N2-Q1k#vaAbAcA}h$vdAeAfA~h%vgAhAiAjAaiO2(iPD)iQDbiRDOcXg_d{!`d|!P22kQ2R2.QS2T2Rhsf*i'vkA/QlA+i(vmA:QnAU2SD3kTDxx,i-iV2;Q5J6JW2ci7JUDX2.iY26jVDZ28Jql=Q02129J/iYgWD?QXD@Q!Jif[QYD#JZDZg]Q$JXf0Dyx1D%JYfzx'J0gPuPGQGRGSG1g(JQuTGUGVGWG2g^QXGoApAYG3g2DAx)J3DBx22Se}!Te~!4D324k5D425k_QPcZb`Q{Q0b|Q}QQc~QRcaRScbRqArAsAUeCxtAuAVeDxExFxGxHxa#ibb#jbvA1bwA2bRucRSu52dtTuUuetVuWuIx*J6D7D8D6272kFTcc#d#i ZG0GCd1G2GUce#f#xAdR4glFft82%f92P%Zfg#h#Dd|eVc,l-ebh)vyA*vzAisHt:r;r=jdi!2pHmFch+J]fLs#2i#fgj#MsgthtXuitjtYuktZultmt0unt$2%2FhAA'2:ieRfR(2)2*23b+2gR,2-JNxhRWc.J9D7GiRjRkROx/J1uPxQx2u5glRH I J K L M N .f.dk#6g-2.26k/2:2!D;2:J=2?2@2;inFoFpFqF7gl#Edm#n#]2mR7jvBnR4bBAXcMh#D=irFsFtFkb5 Vs$D^2;J7k_2%D'D`2(Drl{2|2oRpR}2~2a3qRb3c3d3rRsRe3f3tRuRvRg3wRh3i3xRyRj3k3zRl3ARm3BRCRn3o3p3DRq3r3s3ERt3u3FRv3GRw3HRx3IRJRy3z3KRLRA3MRNRB3ORPRC3QRRRD3SRTRE3URVRF3G3H3I38kJ3K3o#5bQ%R%S%T%U%p#V%W%X%q#r#d Y%Z%0%1%2%- 3%4%5%6%7%s#t#u#8%=JL3?J)DM3WR@J[JN3XRO3YRZR0R1RCA]J^J_J`JP3{JQ3|J}JR32RS3T33R4R5R+v6RuF=r! |r?rZhpsjsvsU39kV3!kW3#k0fX3~JY3aKRxbKcK13dK23Yc.etflb7Rv#8Rw#/d3343deBs. khWeDA,v3u4uXeEA-v5u6uYe7uFA.v8u53637383$k93!3#3$3*DZcx#y#mbeK9Rz#A#}e!R%30cGA'3~e#R(31cHA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D%k=3?3=D?D@3fK[3@D]3gK^3_3hKB#C#D#E#ZeF#G#Q7H#I#J#K#L#M#iK$R%R2c3c'RIA[D]D4c8G^D(R8j9%N#)R5cjK`3{3|3/vJAKALA?i:vMANAOA@i_D[i}3~3!%#%O##hP#$%)h4h*R]i^ia4b4kKc4'kd4e4f4g4h4i4j4k4l4m4n4o4p4q4r4lKmKs4t4(ku4)kv4*kw46c+R,RFdoe?jCbQ#R#x4y4+kz4A4,kB4C4-kD4E4-R.k8gS#T#F4G4.R/k;vPAQARAei=vSATAUAfi?vVAWAXAYAgiH4_i`D`i{Dhi|D7c9g{dU#|dV#I4:kJ4K4/RL4M4Shuf{i@vZA:R0A|i[v1A;R2AN4}D;k~DSx}i~iO4=RnKoKP4iipKaEQ4ajR49jbES4qKsl?RT4U4rKbj!gcE@RdE[RsKjf]ReEtKfE#g^RuK1fgETxhEvK2fUxwK$g9u#G$G%G'G%gxK!u(G)G*G+G'g_R,G3A4A-G(giEVxyKjEWxV40eW#1eX#kEW4=klEX4?k`R8c6b{R|R7b}R~R9caS!cbS#ccS5A6A7A2eXx8A9A3eYxZx0x1x2xY#nbZ#ob!A8b#A9b#udS$uY4ot%u'upt(u)u3xzKmEnEoEZ404vF$c0#1#j .G/GGd:G;G%c2#3#$AeS)gwFqt14'f24%%3f4#5#Hdaf'c-l/edh]v%A^v'AksIt@r[r@jji34qHxFehAK^fNs446#gg7#Osrtst*uttut+uvt,uwtxt-uyt5464Gh(A74cjfSgS8494!4!b#4hS$4CK8xiS(cDKpE]GjSkSlS9xEK.u!x#x/u*gmSO P Q R S T U /f:d8#+g%4'4@k(4)4qE*4FK+4,4-4djyFzFAFBF,g9#Id!###/4nS!jwBoS#b)A)cNhrEejCFDFEFpb6 WssE:4GK[k;4tEuE=4vEtl?4@4pSqS[4]4^4rS_4`4{4sStS|4}4uSvSwS~4xSa5b5ySzSc5d5ASe5BSf5CSDSg5h5i5ESj5k5l5FSm5n5GSo5HSp5ISq5JSKSr5s5LSMSt5NSOSu5PSQSv5RSSSw5TSUSx5VSWSy5z5A5B5]kC5D5HKE5IKwEF5XSJKKKG5YSH5ZS0S1S2S*ALKMKNKOKI5PKJ5QKRKK53SL5M54S5S6S_v7SFF]r# }r^r0hqslswsN5^kO5_kP5`k4fQ5SKR5TK$xUKVKU5WKV5*c:evfqb8S$#9S%#;dW5X5eeCs/ lh4e+A`v:u;u5e,A{v=u?u6e@u-A|v[uY5Z50515{k25354555xE+c'#(#rbXK!S)#*#bf#S65,c.A75cf$S85-c/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE|k+5,5FEGE-5YK.5HE/5ZK:5;50K+#,#-#.#7e/#:#R7;#=#?#@#[#]#1K%S'S.c/c(S:AIEJE:c^GKE)S#j'%^#*S;c2K=5?5@5}v;A=A?Afj~v@A[A]AgjLEhj[5]5(%)%_#$h`#*%*h5h+Sijjj^5_53K`5}k{5|5}5~5a6b6c6d6e6f6g6h6i6j6k64K5Kl6m6~kn6alo6blp6=c,S-SJdpe[jDb{#|#q6r6cls6t6dlu6v6elw6x6.Sfl-g}#~#y6z6/Sglaw^A_A`Akibw{A|A}Alicw~AaBbBcBmiA6kjMEljNEniOE?c.g}da$~db$B6hlC6D6:SE6F6ThmjdwdB;SeBnjewfB=SgBG6PEilQE%xojpjH6?S6K7KI6oi8KREJ6qjK6$jSEL69Kul@SM6N6!Krj/gTE[SUE]S#Kkf^SVE$KWE:g_S%K5fXE'xYE'K6f(x(K;g]u{G|G}G~G=g)K^uaHbHcHdH?g`SeHhBiBfH@gZE)x*K0E*xO68ec$9ed$1EP6jl2EQ6kl{S@c$b|S}S%b~SaT[cbT]ccT^cdTjBkBlB!e+xmBnB#e,x-x.x/x:xe$sbf$tboB'bpB(b_ueT`uR6zt{u|uAt}u~u;x+K3E4E5ES6T6GF_cg$h$k gHhHKdiHjH`ci$j$qBfT[gHFBtU6
85 def __post_init__(self) -> None: 2hg9f!f#f$f%f'f
86 with warnings.catch_warnings(): 2hg|ffe_fWd7fyhrs~rasgTV6=Kfw=xzh]gXsW6fhYsPtQtiwRtStjwTtkwUtVtlwWt+%HhLdXdqwtwmh: ; = ? @ [ ] igwfnhX6Y6Z606162636?K@K[K]KohgekHMdYdUh^K_K`K{cubhTNdf Eb_x{K}fFBZd8f:f,%)b-%.%/%:%xf4656667686QsFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dbyfy7dhe(f|cphjynyry8dqhdfefVh;fwyzyrh)fsh~fagthxwuhywvhwhFfGf;%9dOdPd!d#d$dHfIf+b,bQdRdHwIw3tJwKw4tLwMw%d$ ie'dxh|K96!65t9fJfSdyf}c$e^gbs9r!rlH,K6EJtav_g=fDs}KbgEsZs0s6t1s2s7t3s8t4s5s9t6sS7Bh-b~c!t#tjgV W X Y Z 0 1 *fjekg~KaLbLcLdLeLfL7E8E9E!ElgTdrB.badIh#E$E%EGb% rH/be ^ sv'EKfWwbd%elfT7vbU7V7W7X7kegLhLiLjLkLxs_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dOhmfBvCvogffpgLfMfqg+trg,tsgtgueveY7ld:b;bmdndodwexexbyb=b?b-t.t7s/t:t8s;t=tpdl Vdqdug(ElLmL9s!fNfrd=e@b'e`gcs#r$rmH-K)EKtbvcv{g?fFsnLcgGs!s#s?t$s%s@t's[t(s)s]t*sZ7ChIb[b^t_tvgm n o p q r s +f(dwgoLpLqLrLsLtLuL*E+E,E-ExgsdsBJb]bJh.E/E:E` 2 sHKba ' Fv;E%r7 _r'rWhmsdsssOf*w^b(enf07{ 17273747)dvLwLxLyLzLaeys( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dPhofOvPvAggfBgPfQfCgbuDgcuEgFgCeDe57dcLbMbecfcgcEeFe} ~ NbObdueu+sfugu,shuiu=Ehcg udicGg?EALBL-s#fRfvd[ejc)e|ges(r)rnH.K@ELtdvev}g@fHsCLdgIs.s/sju:s;sku=slu?s@smu[s67DhPbkcnuouHgt u v w x y z ,f*dIgDLELFLGLHLILJL[E]E^E_EJgwdtBQblcKh`E{E|Eab3 tHRbb ) Sv}E*r8 `r+rXhnsfstsSfbxmc*epf77bb8797!7#7+dKLLLMLNLOLbezs* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dQhqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLe$7wcSbTbxcyczcMeNedbebUbVbxuyu]szuAu^sBuCu~EAch ydBcSgaFPLQL_s$fVfzd_eCc+e~ggs,r-roH/KbFMtfvgvah[fJsRLegKs`s{sDu|s}sEu~sFuatbtGuct%7EhWbDcHuIuTgA B C D E F G -f,dUgSLTLULVLWLXLYLcFdFeFfFVgAduBXbEcLhgFhFiFfb4 uHYbc + 5vjF.r9 {r/rYhoshsusWfwxFc,erf'7gb(7)7*7+7-dZL0L1L2L3LceAs, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dRhsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTe,7PcZb0bQcRcScUeVeibjb1b2bRuSudtTuUuetVuWukFTci CdUc4glF4L5Lft%fZfDd|eVc-ebhis:r;rpH:KmFNthvivch]fLs6LfgMsgthtXuitjtYuktZultmt0unt-7Fh3bWc1u2u5gH I J K L M N .f.d6g7L8L9L!L#L$L%LnFoFpFqF7gEdvB4bXcMhrFsFtFkb5 vH5bd - +vuF=r! |r?rZhpsjsvs0fRxYc.etf.7lb/7:7;7=7/d'L(L)L*L+LdeBs. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|dShuf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e?78c6b7b9c!c#c2e3enbob8b9b#u$uot%u'upt(u)uvF$cj Gd%c)gwF,L-Lqt'f3fHdaf'c/edhks@r[rqH;KxFOtjvkveh^fNs.LggOsrtst*uttut+uvt,uwtxt-uyt@7Gh!b(c.u/u*gO P Q R S T U /f:d+g/L:L;L=L?L@L[LyFzFAFBF,gIdwB#b)cNhCFDFEFpb6 wH_vFF]r# }r^r0hqslsws4f$x*c:evf[7qb]7^7_7`7;d]L^L_L`L{LeeCs/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~dThdwew/gkf:g5f6f;g]u=g^u?g@g8e9e{7@c$b%b[c]c^c!e#esbtb'b(b_u`uzt{u|uAt}u~uGF_ck Kd`c[gHF|L}LBt
87 # Pydantic >= 2.12.0 warns about field specific metadata that is unused
88 # (e.g. `TypeAdapter(Annotated[int, Field(alias='b')])`). In some cases, we
89 # end up building the type adapter from a model field annotation so we
90 # need to ignore the warning:
91 if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 12): 2hg|ffe_fWd7fyhrs~rasgTV6=Kfw=xzh]gXsW6fhYsPtQtiwRtStjwTtkwUtVtlwWt+%HhLdXdqwtwmh: ; = ? @ [ ] igwfnhX6Y6Z606162636?K@K[K]KohgekHMdYdUh^K_K`K{cubhTNdf Eb_x{K}fFBZd8f:f,%)b-%.%/%:%xf4656667686QsFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dbyfy7dhe(f|cphjynyry8dqhdfefVh;fwyzyrh)fsh~fagthxwuhywvhwhFfGf;%9dOdPd!d#d$dHfIf+b,bQdRdHwIw3tJwKw4tLwMw%d$ ie'dxh|K96!65t9fJfSdyf}c$e^gbs9r!rlH,K6EJtav_g=fDs}KbgEsZs0s6t1s2s7t3s8t4s5s9t6sS7Bh-b~c!t#tjgV W X Y Z 0 1 *fjekg~KaLbLcLdLeLfL7E8E9E!ElgTdrB.badIh#E$E%EGb% rH/be ^ sv'EKfWwbd%elfT7vbU7V7W7X7kegLhLiLjLkLxs_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dOhmfBvCvogffpgLfMfqg+trg,tsgtgueveY7ld:b;bmdndodwexexbyb=b?b-t.t7s/t:t8s;t=tpdl Vdqdug(ElLmL9s!fNfrd=e@b'e`gcs#r$rmH-K)EKtbvcv{g?fFsnLcgGs!s#s?t$s%s@t's[t(s)s]t*sZ7ChIb[b^t_tvgm n o p q r s +f(dwgoLpLqLrLsLtLuL*E+E,E-ExgsdsBJb]bJh.E/E:E` 2 sHKba ' Fv;E%r7 _r'rWhmsdsssOf*w^b(enf07{ 17273747)dvLwLxLyLzLaeys( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dPhofOvPvAggfBgPfQfCgbuDgcuEgFgCeDe57dcLbMbecfcgcEeFe} ~ NbObdueu+sfugu,shuiu=Ehcg udicGg?EALBL-s#fRfvd[ejc)e|ges(r)rnH.K@ELtdvev}g@fHsCLdgIs.s/sju:s;sku=slu?s@smu[s67DhPbkcnuouHgt u v w x y z ,f*dIgDLELFLGLHLILJL[E]E^E_EJgwdtBQblcKh`E{E|Eab3 tHRbb ) Sv}E*r8 `r+rXhnsfstsSfbxmc*epf77bb8797!7#7+dKLLLMLNLOLbezs* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dQhqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLe$7wcSbTbxcyczcMeNedbebUbVbxuyu]szuAu^sBuCu~EAch ydBcSgaFPLQL_s$fVfzd_eCc+e~ggs,r-roH/KbFMtfvgvah[fJsRLegKs`s{sDu|s}sEu~sFuatbtGuct%7EhWbDcHuIuTgA B C D E F G -f,dUgSLTLULVLWLXLYLcFdFeFfFVgAduBXbEcLhgFhFiFfb4 uHYbc + 5vjF.r9 {r/rYhoshsusWfwxFc,erf'7gb(7)7*7+7-dZL0L1L2L3LceAs, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dRhsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTe,7PcZb0bQcRcScUeVeibjb1b2bRuSudtTuUuetVuWukFTci CdUc4glF4L5Lft%fZfDd|eVc-ebhis:r;rpH:KmFNthvivch]fLs6LfgMsgthtXuitjtYuktZultmt0unt-7Fh3bWc1u2u5gH I J K L M N .f.d6g7L8L9L!L#L$L%LnFoFpFqF7gEdvB4bXcMhrFsFtFkb5 vH5bd - +vuF=r! |r?rZhpsjsvs0fRxYc.etf.7lb/7:7;7=7/d'L(L)L*L+LdeBs. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|dShuf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e?78c6b7b9c!c#c2e3enbob8b9b#u$uot%u'upt(u)uvF$cj Gd%c)gwF,L-Lqt'f3fHdaf'c/edhks@r[rqH;KxFOtjvkveh^fNs.LggOsrtst*uttut+uvt,uwtxt-uyt@7Gh!b(c.u/u*gO P Q R S T U /f:d+g/L:L;L=L?L@L[LyFzFAFBF,gIdwB#b)cNhCFDFEFpb6 wH_vFF]r# }r^r0hqslsws4f$x*c:evf[7qb]7^7_7`7;d]L^L_L`L{LeeCs/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~dThdwew/gkf:g5f6f;g]u=g^u?g@g8e9e{7@c$b%b[c]c^c!e#esbtb'b(b_u`uzt{u|uAt}u~uGF_ck Kd`c[gHF|L}LBt
92 from pydantic.warnings import UnsupportedFieldAttributeWarning 29fJfSdyf}c$e^gbs9r!rlH,K6EJtav_g=fDs}KbgEsZs0s6t1s2s7t3s8t4s5s9t6sS7Bh-b~c!t#tjgV W X Y Z 0 1 *fjekg~KaLbLcLdLeLfL7E8E9E!ElgTdrB.badIh#E$E%EGb% rH/be ^ sv'EKfWwbd%elfT7vbU7V7W7X7kegLhLiLjLkLxs_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dOhmfBvCvogffpgLfMfqg+trg,tsgtgueveY7ld:b;bmdndodwexexbyb=b?b-t.t7s/t:t8s;t=tpdl Vdqdug(ElLmL9s!fNfrd=e@b'e`gcs#r$rmH-K)EKtbvcv{g?fFsnLcgGs!s#s?t$s%s@t's[t(s)s]t*sZ7ChIb[b^t_tvgm n o p q r s +f(dwgoLpLqLrLsLtLuL*E+E,E-ExgsdsBJb]bJh.E/E:E` 2 sHKba ' Fv;E%r7 _r'rWhmsdsssOf*w^b(enf07{ 17273747)dvLwLxLyLzLaeys( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dPhofOvPvAggfBgPfQfCgbuDgcuEgFgCeDe57dcLbMbecfcgcEeFe} ~ NbObdueu+sfugu,shuiu=Ehcg udicGg?EALBL-s#fRfvd[ejc)e|ges(r)rnH.K@ELtdvev}g@fHsCLdgIs.s/sju:s;sku=slu?s@smu[s67DhPbkcnuouHgt u v w x y z ,f*dIgDLELFLGLHLILJL[E]E^E_EJgwdtBQblcKh`E{E|Eab3 tHRbb ) Sv}E*r8 `r+rXhnsfstsSfbxmc*epf77bb8797!7#7+dKLLLMLNLOLbezs* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dQhqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLe$7wcSbTbxcyczcMeNedbebUbVbxuyu]szuAu^sBuCu~EAch ydBcSgaFPLQL_s$fVfzd_eCc+e~ggs,r-roH/KbFMtfvgvah[fJsRLegKs`s{sDu|s}sEu~sFuatbtGuct%7EhWbDcHuIuTgA B C D E F G -f,dUgSLTLULVLWLXLYLcFdFeFfFVgAduBXbEcLhgFhFiFfb4 uHYbc + 5vjF.r9 {r/rYhoshsusWfwxFc,erf'7gb(7)7*7+7-dZL0L1L2L3LceAs, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dRhsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTe,7PcZb0bQcRcScUeVeibjb1b2bRuSudtTuUuetVuWukFTci CdUc4glF4L5Lft%fZfDd|eVc-ebhis:r;rpH:KmFNthvivch]fLs6LfgMsgthtXuitjtYuktZultmt0unt-7Fh3bWc1u2u5gH I J K L M N .f.d6g7L8L9L!L#L$L%LnFoFpFqF7gEdvB4bXcMhrFsFtFkb5 vH5bd - +vuF=r! |r?rZhpsjsvs0fRxYc.etf.7lb/7:7;7=7/d'L(L)L*L+LdeBs. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|dShuf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e?78c6b7b9c!c#c2e3enbob8b9b#u$uot%u'upt(u)uvF$cj Gd%c)gwF,L-Lqt'f3fHdaf'c/edhks@r[rqH;KxFOtjvkveh^fNs.LggOsrtst*uttut+uvt,uwtxt-uyt@7Gh!b(c.u/u*gO P Q R S T U /f:d+g/L:L;L=L?L@L[LyFzFAFBF,gIdwB#b)cNhCFDFEFpb6 wH_vFF]r# }r^r0hqslsws4f$x*c:evf[7qb]7^7_7`7;d]L^L_L`L{LeeCs/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~dThdwew/gkf:g5f6f;g]u=g^u?g@g8e9e{7@c$b%b[c]c^c!e#esbtb'b(b_u`uzt{u|uAt}u~uGF_ck Kd`c[gHF|L}LBt
94 warnings.simplefilter( 29fJfSdyf}c$e^gbs9r!rlH,K6EJtav_g=fDs}KbgEsZs0s6t1s2s7t3s8t4s5s9t6sS7Bh-b~c!t#tjgV W X Y Z 0 1 *fjekg~KaLbLcLdLeLfL7E8E9E!ElgTdrB.badIh#E$E%EGb% rH/be ^ sv'EKfWwbd%elfT7vbU7V7W7X7kegLhLiLjLkLxs_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dOhmfBvCvogffpgLfMfqg+trg,tsgtgueveY7ld:b;bmdndodwexexbyb=b?b-t.t7s/t:t8s;t=tpdl Vdqdug(ElLmL9s!fNfrd=e@b'e`gcs#r$rmH-K)EKtbvcv{g?fFsnLcgGs!s#s?t$s%s@t's[t(s)s]t*sZ7ChIb[b^t_tvgm n o p q r s +f(dwgoLpLqLrLsLtLuL*E+E,E-ExgsdsBJb]bJh.E/E:E` 2 sHKba ' Fv;E%r7 _r'rWhmsdsssOf*w^b(enf07{ 17273747)dvLwLxLyLzLaeys( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dPhofOvPvAggfBgPfQfCgbuDgcuEgFgCeDe57dcLbMbecfcgcEeFe} ~ NbObdueu+sfugu,shuiu=Ehcg udicGg?EALBL-s#fRfvd[ejc)e|ges(r)rnH.K@ELtdvev}g@fHsCLdgIs.s/sju:s;sku=slu?s@smu[s67DhPbkcnuouHgt u v w x y z ,f*dIgDLELFLGLHLILJL[E]E^E_EJgwdtBQblcKh`E{E|Eab3 tHRbb ) Sv}E*r8 `r+rXhnsfstsSfbxmc*epf77bb8797!7#7+dKLLLMLNLOLbezs* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dQhqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLe$7wcSbTbxcyczcMeNedbebUbVbxuyu]szuAu^sBuCu~EAch ydBcSgaFPLQL_s$fVfzd_eCc+e~ggs,r-roH/KbFMtfvgvah[fJsRLegKs`s{sDu|s}sEu~sFuatbtGuct%7EhWbDcHuIuTgA B C D E F G -f,dUgSLTLULVLWLXLYLcFdFeFfFVgAduBXbEcLhgFhFiFfb4 uHYbc + 5vjF.r9 {r/rYhoshsusWfwxFc,erf'7gb(7)7*7+7-dZL0L1L2L3LceAs, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dRhsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTe,7PcZb0bQcRcScUeVeibjb1b2bRuSudtTuUuetVuWukFTci CdUc4glF4L5Lft%fZfDd|eVc-ebhis:r;rpH:KmFNthvivch]fLs6LfgMsgthtXuitjtYuktZultmt0unt-7Fh3bWc1u2u5gH I J K L M N .f.d6g7L8L9L!L#L$L%LnFoFpFqF7gEdvB4bXcMhrFsFtFkb5 vH5bd - +vuF=r! |r?rZhpsjsvs0fRxYc.etf.7lb/7:7;7=7/d'L(L)L*L+LdeBs. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|dShuf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e?78c6b7b9c!c#c2e3enbob8b9b#u$uot%u'upt(u)uvF$cj Gd%c)gwF,L-Lqt'f3fHdaf'c/edhks@r[rqH;KxFOtjvkveh^fNs.LggOsrtst*uttut+uvt,uwtxt-uyt@7Gh!b(c.u/u*gO P Q R S T U /f:d+g/L:L;L=L?L@L[LyFzFAFBF,gIdwB#b)cNhCFDFEFpb6 wH_vFF]r# }r^r0hqslsws4f$x*c:evf[7qb]7^7_7`7;d]L^L_L`L{LeeCs/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~dThdwew/gkf:g5f6f;g]u=g^u?g@g8e9e{7@c$b%b[c]c^c!e#esbtb'b(b_u`uzt{u|uAt}u~uGF_ck Kd`c[gHF|L}LBt
95 "ignore", category=UnsupportedFieldAttributeWarning
96 )
97 self._type_adapter: TypeAdapter[Any] = TypeAdapter( 2hg|ffe_fWd7fyhrs~rasgTV6=Kfw=xzh]gXsW6fhYsPtQtiwRtStjwTtkwUtVtlwWt+%HhLdXdqwtwmh: ; = ? @ [ ] igwfnhX6Y6Z606162636?K@K[K]KohgekHMdYdUh^K_K`K{cubhTNdf Eb_x{K}fFBZd8f:f,%)b-%.%/%:%xf4656667686QsFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dbyfy7dhe(f|cphjynyry8dqhdfefVh;fwyzyrh)fsh~fagthxwuhywvhwhFfGf;%9dOdPd!d#d$dHfIf+b,bQdRdHwIw3tJwKw4tLwMw%d$ ie'dxh|K96!65t9fJfSdyf}c$e^gbs9r!rlH,K6EJtav_g=fDs}KbgEsZs0s6t1s2s7t3s8t4s5s9t6sS7Bh-b~c!t#tjgV W X Y Z 0 1 *fjekg~KaLbLcLdLeLfL7E8E9E!ElgTdrB.badIh#E$E%EGb% rH/be ^ sv'EKfWwbd%elfT7vbU7V7W7X7kegLhLiLjLkLxs_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dOhmfBvCvogffpgLfMfqg+trg,tsgtgueveY7ld:b;bmdndodwexexbyb=b?b-t.t7s/t:t8s;t=tpdl Vdqdug(ElLmL9s!fNfrd=e@b'e`gcs#r$rmH-K)EKtbvcv{g?fFsnLcgGs!s#s?t$s%s@t's[t(s)s]t*sZ7ChIb[b^t_tvgm n o p q r s +f(dwgoLpLqLrLsLtLuL*E+E,E-ExgsdsBJb]bJh.E/E:E` 2 sHKba ' Fv;E%r7 _r'rWhmsdsssOf*w^b(enf07{ 17273747)dvLwLxLyLzLaeys( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dPhofOvPvAggfBgPfQfCgbuDgcuEgFgCeDe57dcLbMbecfcgcEeFe} ~ NbObdueu+sfugu,shuiu=Ehcg udicGg?EALBL-s#fRfvd[ejc)e|ges(r)rnH.K@ELtdvev}g@fHsCLdgIs.s/sju:s;sku=slu?s@smu[s67DhPbkcnuouHgt u v w x y z ,f*dIgDLELFLGLHLILJL[E]E^E_EJgwdtBQblcKh`E{E|Eab3 tHRbb ) Sv}E*r8 `r+rXhnsfstsSfbxmc*epf77bb8797!7#7+dKLLLMLNLOLbezs* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dQhqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLe$7wcSbTbxcyczcMeNedbebUbVbxuyu]szuAu^sBuCu~EAch ydBcSgaFPLQL_s$fVfzd_eCc+e~ggs,r-roH/KbFMtfvgvah[fJsRLegKs`s{sDu|s}sEu~sFuatbtGuct%7EhWbDcHuIuTgA B C D E F G -f,dUgSLTLULVLWLXLYLcFdFeFfFVgAduBXbEcLhgFhFiFfb4 uHYbc + 5vjF.r9 {r/rYhoshsusWfwxFc,erf'7gb(7)7*7+7-dZL0L1L2L3LceAs, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dRhsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTe,7PcZb0bQcRcScUeVeibjb1b2bRuSudtTuUuetVuWukFTci CdUc4glF4L5Lft%fZfDd|eVc-ebhis:r;rpH:KmFNthvivch]fLs6LfgMsgthtXuitjtYuktZultmt0unt-7Fh3bWc1u2u5gH I J K L M N .f.d6g7L8L9L!L#L$L%LnFoFpFqF7gEdvB4bXcMhrFsFtFkb5 vH5bd - +vuF=r! |r?rZhpsjsvs0fRxYc.etf.7lb/7:7;7=7/d'L(L)L*L+LdeBs. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|dShuf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e?78c6b7b9c!c#c2e3enbob8b9b#u$uot%u'upt(u)uvF$cj Gd%c)gwF,L-Lqt'f3fHdaf'c/edhks@r[rqH;KxFOtjvkveh^fNs.LggOsrtst*uttut+uvt,uwtxt-uyt@7Gh!b(c.u/u*gO P Q R S T U /f:d+g/L:L;L=L?L@L[LyFzFAFBF,gIdwB#b)cNhCFDFEFpb6 wH_vFF]r# }r^r0hqslsws4f$x*c:evf[7qb]7^7_7`7;d]L^L_L`L{LeeCs/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~dThdwew/gkf:g5f6f;g]u=g^u?g@g8e9e{7@c$b%b[c]c^c!e#esbtb'b(b_u`uzt{u|uAt}u~uGF_ck Kd`c[gHF|L}LBt
98 Annotated[self.field_info.annotation, self.field_info]
99 )
101 def get_default(self) -> Any: 2hg9f!f#f$f%f'f
102 if self.field_info.is_required(): 2lv?xmv@xCt~rasV6gwIFhwJFYsmwKFnwLF[xxBMFpwrwswyBCH]xzBABDHBBCBDBEBHH^xKHLHMHQs`xnvXtYt{xovZt0t1t|xpv2tGB}x~xHBIBayRBSBcydyeygyhyiyUBOFPFkylymyoypyqysytyuyvyVBWBXBxyyyAyByZB3H4H5H0B1B6H7H4B5B!B#BEyFyGyBwHyIyCwDwEwFwGwJyKy3t4tNw(H$B%B'BLyqvMyrvNyDt9r!r,KOw4FPw5FEsQw6FRw7FOy(B8FTwUwVw)B.HPy*B+B/H,B-B.B/B?HQy]H^H_HxsRytv$t%tSyuv't(t)tTyvv*t:BUyVy;B=BWy|B}BXyYyZy0y1y2yaC!F#F3y4y5y6y7y8y9y!y#y$ybCcCdC%y'y(y)yfClImInIgChCoIpIkClCqCrC,y-y.y2w/y:y3w4w5w6w7w;y=y7s8s8wxIsCtCuC?yDv@yEv[yEt#r$r-K9w?F!w@FGs#w[F$w]F]yvC^F'w(w)wwCDI^yxCyCEIzCACBCCCII_yLIMINI%rdsys`yGv`t{t{yHv|t}t~t|yIvauDC}y~yECFCazOCPCbzczdzezfzgzRC`F{FhzizjzkzlzmznzozpzqzSCTCUCrzsztzuzWC4I5I6IXCYC7I8I1C2C7C8Cxzyzzz:wAzBz;w=w?w@w[wCzDz+s,s]w)I9C!C#CEzQvFzRvGzFt(r)r.K^wlG_wmGIs`wnG{woGHz$CpG}w~wax%C/IIz'C(C:I)C*C+C,C@IJz^I_I`I*rfszsKzTvpuquLzUvrusutuMzVvuu-CNzOz.C/CPz_C`CQzRzSzTzUzVz|CrGsGWzXzYzZz0z1z2z3z4z5z}C~CaD6z7z8z9zcDmJnJoJdDeDpJqJhDiDnDoD$z%z'zhx(z)zixjxkxlxmx*z+z]s^snxyJpDqDrD,z3v-z4v.zGt,r-r/KoxHGpxIGKsqxJGrxKG/zsDLGtxuxvxtDEJ:zuDvDFJwDxDyDzDJJ;zMJNJOJ.rhsAs=z6vJuKu?z7vLuMuNu@z8vOuAD[z]zBDCD^zLDMD_z`z{z|z}z~zODNGOGaAbAcAdAeAfAgAhAiAjAPDQDRDkAlAmAnATD5J6J7JUDVD8J9JYDZD4D5DqArAsACxtAuADxExFxGxHxvAwAdtetIx*J6D7D8DxA)vyA*vzAHt:r;r:KJx3GKx4GMsLx5GMx6GAA9D7GOxPxQx!D:JBA#D$D;J%D'D(D)D[JCA_J`J{J=rjsBsDA,v3u4uEA-v5u6u7uFA.v8u*DGAHA+D,DIA[D]DJAKALAMANAOA_D9G!GPAQARASATAUAVAWAXAYA`D{D|DZA0A1A2A~DnKoKpKaEbEqKrKeEfEkElE5A6A7AXx8A9AYxZx0x1x2x!A#Aotpt3xzKmEnEoE$A]v%A^v'AIt@r[r;K4x=G5x?GOs6x@G7x[G(ApE]G9x!x#xqEFK)ArEsEGKtEuEvEwEKK*ANKOKPK]rlsCs+A`v:u;u,A{v=u?u@u-A|v[uxE.A/AyEzE:AIEJE;A=A?A@A[A]ALE_G`G^A_A`A{A|A}A~AaBbBcBMENEOEdBeBfBgBQE6K7K8KRESE9K!KVEWE1E2EjBkBlB+xmBnB,x-x.x/x:xoBpBztAt;x+K3E4E5EqB
103 return Undefined 2V6,K-K.K/K:K;K
104 return self.field_info.get_default(call_default_factory=True) 2lv?xmv@xCt~rasgwIFhwJFYsmwKFnwLF[xxBMFpwrwswyBCH]xzBABDHBBCBDBEBHH^xKHLHMHQs`xnvXtYt{xovZt0t1t|xpv2tGB}x~xHBIBayRBSBcydyeygyhyiyUBOFPFkylymyoypyqysytyuyvyVBWBXBxyyyAyByZB3H4H5H0B1B6H7H4B5B!B#BEyFyGyBwHyIyCwDwEwFwGwJyKy3t4tNw(H$B%B'BLyqvMyrvNyDt9r!rOw4FPw5FEsQw6FRw7FOy(B8FTwUwVw)B.HPy*B+B/H,B-B.B/B?HQy]H^H_HxsRytv$t%tSyuv't(t)tTyvv*t:BUyVy;B=BWy|B}BXyYyZy0y1y2yaC!F#F3y4y5y6y7y8y9y!y#y$ybCcCdC%y'y(y)yfClImInIgChCoIpIkClCqCrC,y-y.y2w/y:y3w4w5w6w7w;y=y7s8s8wxIsCtCuC?yDv@yEv[yEt#r$r9w?F!w@FGs#w[F$w]F]yvC^F'w(w)wwCDI^yxCyCEIzCACBCCCII_yLIMINI%rdsys`yGv`t{t{yHv|t}t~t|yIvauDC}y~yECFCazOCPCbzczdzezfzgzRC`F{FhzizjzkzlzmznzozpzqzSCTCUCrzsztzuzWC4I5I6IXCYC7I8I1C2C7C8Cxzyzzz:wAzBz;w=w?w@w[wCzDz+s,s]w)I9C!C#CEzQvFzRvGzFt(r)r^wlG_wmGIs`wnG{woGHz$CpG}w~wax%C/IIz'C(C:I)C*C+C,C@IJz^I_I`I*rfszsKzTvpuquLzUvrusutuMzVvuu-CNzOz.C/CPz_C`CQzRzSzTzUzVz|CrGsGWzXzYzZz0z1z2z3z4z5z}C~CaD6z7z8z9zcDmJnJoJdDeDpJqJhDiDnDoD$z%z'zhx(z)zixjxkxlxmx*z+z]s^snxyJpDqDrD,z3v-z4v.zGt,r-roxHGpxIGKsqxJGrxKG/zsDLGtxuxvxtDEJ:zuDvDFJwDxDyDzDJJ;zMJNJOJ.rhsAs=z6vJuKu?z7vLuMuNu@z8vOuAD[z]zBDCD^zLDMD_z`z{z|z}z~zODNGOGaAbAcAdAeAfAgAhAiAjAPDQDRDkAlAmAnATD5J6J7JUDVD8J9JYDZD4D5DqArAsACxtAuADxExFxGxHxvAwAdtetIx*J6D7D8DxA)vyA*vzAHt:r;rJx3GKx4GMsLx5GMx6GAA9D7GOxPxQx!D:JBA#D$D;J%D'D(D)D[JCA_J`J{J=rjsBsDA,v3u4uEA-v5u6u7uFA.v8u*DGAHA+D,DIA[D]DJAKALAMANAOA_D9G!GPAQARASATAUAVAWAXAYA`D{D|DZA0A1A2A~DnKoKpKaEbEqKrKeEfEkElE5A6A7AXx8A9AYxZx0x1x2x!A#Aotpt3xzKmEnEoE$A]v%A^v'AIt@r[r4x=G5x?GOs6x@G7x[G(ApE]G9x!x#xqEFK)ArEsEGKtEuEvEwEKK*ANKOKPK]rlsCs+A`v:u;u,A{v=u?u@u-A|v[uxE.A/AyEzE:AIEJE;A=A?A@A[A]ALE_G`G^A_A`A{A|A}A~AaBbBcBMENEOEdBeBfBgBQE6K7K8KRESE9K!KVEWE1E2EjBkBlB+xmBnB,x-x.x/x:xoBpBztAt;x+K3E4E5EqB
106 def validate( 2hg9f!f#f$f%f'f
107 self,
108 value: Any,
109 values: Dict[str, Any] = {}, # noqa: B006
110 *,
111 loc: Tuple[Union[int, str], ...] = (),
112 ) -> Tuple[Any, Union[List[Dict[str, Any]], None]]:
113 try: 2iTk$x8y8lv?xmv@xrsCt~rasjTgT=K=%xH?%XsW6@%[%]%^%kTz8+6yHA8gwIF,6hwJF-6YsiwjwkwlwmwKF.6nwLF/6_%lTmT`%nT~LaMoTpTqTrTbMsTzHowcMAHdMeMfMpwBHqwrwswtwgMB8tTuTvTwTyBxTyTzT:6AT|7BTC8D8E8CThMiM]xzB^K_K`KhTPsDTETBBCBFTDBGTHTjMkMITJTKTlMLTMTNTmMnMOTPToMpMqMQTrMRTSTsMtMTTUTuMVTvMWTwMxMXTYTZTyM0T1T2TzM3T4TAM5TBM6TCM7TDMEM8T9TFMGM!THMIM#TJMKM$TLMMM%TNMOM'TPMQM(T)T*T+T,T-TF8{%|%}%~%a'b'c'd'l$m$n$o$p$G8q$r$s$H8I8e'f'g'h'i'}7~7t$u$v$w$x$j'k'l'm'n'o'y$z$A$B$C$J8K8L8D$.TEB/TRM:TSM;TTMUMVMWM^x=T?T@TXM[T]TYMZM0M_x1M{K^T_T`T{TPH|TQHFBRHaUa8bUp'q'r's't'u'v'w'x'y'z'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'2MM8Y'3MN8Z'0'1'2'3'4'5'6'7'cUdU465666;67686Qs8'`xnvXtYt{xovZt0t1t|xpv2t9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'eUfUgUhUiUjUkUlUGBO8P8UH4MQ8R85MmU}xnU6MoU~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNByUzUOBPBAUBUQBCUDUEUS8T8U8V8W8X8Y8Z808182838YH7M8M9MayRBSBNFTB!ME$48#MZHFUGUHUbycydyeyfygyhyiyUBIUJUF$G$5868H$^'_'$MOFPFKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U%M'M`'{'|'78887U8U9U!U#U$U%U'U(M98!8(U)U)Mjykylymynyoypyqyrysytyuyvy*UVBWBXB#8$8+U,U-U*M.U/U}'wyxy+MyyzyAy,MBy:UYBZBuw;U-M=U0B?U@U1B[U.M]U^U/M:M8H;M9H=M!Hvw#Hww$HxwQFRFSFTF%HywUFVFWFXF?MCyDyzw'HAw_U%8'8!B`U#B{U@M[M]M^M_M`M{M|MEyFyGyBwHyIyCwDwEwFwGw(8~')8a(JyKyHw}MIw|U=6JwKwLwMwNw$B%B'B}U*8+8$ 0F1F2F3F,8-8b(c(d(e(Ly~Mf(g(h(i(|K~UaVI$.8/8qvMyrvNybsDt9r!rbVlH6Ej()Hk(Ds}Kl(m(n(o(cV:8?6*H;8Ow4F@6Pw5F[6Es6t7t8t9tQw6F]6Rw7F^6p(dVeVq(fVaNbNgVhViVjVcNkV+HSwdN,HeNfNgNTw-H!tUwVw#thN=8lVmVnVoV)BpVqVrV_6sVb8tV?8@8[8uViNjNPy*B#E$E%ErHRsvVwV,B-BxV.ByVzVkNlNAVBVCVmNDVEVFVnNoNGVHVpNqNrNIVsNJVKVtNuNLVMVvNNVwNOVxNyNPVQVRVzNSVTVUVANVVWVBNXVCNYVDNZVENFN0V1VGNHN2VINJN3VKNLN4VMNNN5VONPN6VQNRN7V8V9V!V#V$V]8r(s(t(u(v(w(x(y(J$K$L$M$N$^8O$P$Q$_8`8z(A(B(C(D(c8d8R$S$T$U$V$E(F(G(H(I(J(W$X$Y$Z$0${8|8}81$%V/B'VSN(VTN)VUNVNWNXNQy*V+V,VYN-V.VZN0N1Nsv2N'E/V:V;V=V|H?V}HWw~H]Ve8^VK(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z(0(1(2(3(4(5(6(7(8(9(!(#($(%('((()(*(+(3N~8,(4Na9-(.(/(:(;(=(?(@([(_V`VgLhLiL`6jLkLxs](Rytv$t%tSyuv't(t)tTyvv*t^(_(`({(|(}(~(a)b)c)d)e)f)g)h)i)j)k)l)m)n){V|V}V~VaWbWcWdW:Bb9c9cI5Nd9e96NeWUyfW7NgWVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BqWrW_B`BsWtW{BuWvWwWf9g9h9i9j9k9l9m9n9o9p9q9gI8N9N!NWy|B}B9F~B#N2$r9$NhIxWyWzWwvXyYyZyxv0y1y2yaCAWBW3$4$s9t95$o)p)%N!F#FCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYW'N(Nq)r)s)u9v9ZW0W1W2W3W4W5W6W)Nw9x97W8W*Nyv3y4y5yzv6y7y8yAv9y!y#y$y9WbCcCdCy9z9!W#W$W+N%W'Wt)Bv%y,N'yCv(y-N)y(WeCfCXw)W.N*WgC+W,WhC-W/N.W/W:N;NqI=NrI?NsIYwtIZwuI+t$F%F'F(FvI,t)F*F+F,F@N*y+y0wwI1w:WA9B9qC;WrC=W[N]N^N_N`N{N|N}N,y-y.y2w/y:y3w4w5w6w7wC9u)D9v);y=y-t~N.t?W{6/t:t;t=t8wsCtCuC@W[WE9F9l /F:F;F=FG9H9w)x)y)z)?yaOA)B)C)D)(E]W^W6$I9J9Dv@yEv[ycsEt#r$r_WmH)EE)yIF)FsnLG)H)I)J)`WK9|6zIL99w?F}6!w@F~6Gs?t@t[t]t#w[Fa7$w]Fb7K){W|WL)}WbOcO~WaXbXcXdOdXAI%weOBIfOgOhO'wCI^t(w)w_tiOM9eXfXgXhXwCiXjXkXc7lXf8mXN9O9P9nXjOkO^yxC.E/E:EsHSsoXpXzCACqXBCrXsXlOmOtXuXvXnOwXxXyXoOpOzXAXqOrOsOBXtOCXDXuOvOEXFXwOGXxOHXyOzOIXJXKXAOLXMXNXBOOXPXCOQXDORXEOSXFOGOTXUXHOIOVXJOKOWXLOMOXXNOOOYXPOQOZXROSO0X1X2X3X4X5XQ9M)N)O)P)Q)R)S)T)7$8$9$!$#$R9$$%$'$S9T9U)V)W)X)Y)g8h8($)$*$+$,$Z)0)1)2)3)4)-$.$/$:$;$U9V9W9=$6XCC7XTO8XUO9XVOWOXOYO_y!X#X$XZO%X'X0O1O2OFv3O;E_r'rmsss(X)X*X+XQI,XRI*wSI/Xi8:X5)6)7)8)9)!)#)$)%)')()))*)+),)-).)/):);)=)?)@)[)])^)_)`){)|)})~)a*b*c*4OX9d*5OY9e*f*g*h*i*j*k*l*m*;X=XvLwLxLd7yLzLn*yso*`yGv`t{t{yHv|t}t~t|yIvaup*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*F*G*H*I*J*?X@X[X]X^X_X`X{XDCZ909VI6O19297O|X}y}X8O~X~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCjYkYLCMClYmYNCnYoYpY39495969798999!9#9$9%9'9ZI9O!O#OazOCPC_FQC$O?$(9%O0IqYrYsYJvbzczdzKvezfzgzRCtYuY@$[$)9*9]$K*L*'O`F{FvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRY(O)OM*N*O*+9,9SYTYUYVYWYXYYYZY*O-9.90Y1Y+OLvhzizjzMvkzlzmzNvnzozpzqz2YSCTCUC/9:93Y4Y5Y,O6Y7YP*Ovrz-OszPvtz.Ouz8YVCWC+w9Y/O!YXC#Y$YYC%Y:O'Y(Y;O=O9I?O!I@O#I,w$I-w%Ibu|F}F~FaG'IcubGcGdGeG[Ovzwz.w(I/w)Y;9=97C*Y8C+Y]O^O_O`O{O|O}O~Oxzyzzz:wAzBz;w=w?w@w[w?9Q*@9R*CzDzduaPeu,Ye7fuguhuiu]w9C!C#C-Y.Y=E[9]9g hGiGjGkG^9_9S*T*U*V*EzbPW*X*Y*Z*?E/Y:Y^$`9{9QvFzRvGzesFt(r)r;YnH@E0**I1*HsCL2*3*4*5*=Y|9f7+I}9^wlGg7_wmGh7Isjukulumu`wnGi7{woGj76*?Y@Y7*[YcPdP]Y^Y_Y`YeP{Y,I|wfP-IgPhPiP}w.Inu~waxoujP~9|Y}Y~YaZ%CbZcZdZk7eZj8fZa!b!c!gZkPlPIz'C`E{E|EtHTshZiZ)C*CjZ+CkZlZmPnPmZnZoZoPpZqZrZpPqPsZtZrPsPtPuZuPvZwZvPwPxZyZxPzZyPAZzPAPBZCZDZBPEZFZGZCPHZIZDPJZEPKZFPLZGPHPMZNZIPJPOZKPLPPZMPNPQZOPPPRZQPRPSZSPTPTZUZVZWZXZYZd!8*9*!*#*$*%*'*(*_$`${$|$}$e!~$a%b%f!g!)***+*,*-*k8l8c%d%e%f%g%.*/*:*;*=*?*h%i%j%k%l%h!i!j!m%ZZ,C0ZUP1ZVP2ZWPXPYPZPJz3Z4Z5Z0P6Z7Z1P2P3PSv4P}E`r+rnsts8Z9Z!Z#Z}I$Z~IbxaJ(Zm8)Z@*[*]*^*_*`*{*|*}*~*a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+5Pk!z+6Pl!A+B+C+D+E+F+G+H+I+*Z+ZKLLLMLl7NLOLJ+zsK+KzTvpuquLzUvrusutuMzVvuuL+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+0+1+2+3+4+5+,Z-Z.Z/Z:Z;Z=Z?Z-Cm!n!dJ7Po!p!8P@ZNz[Z9P]ZOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cc0d0[C]Ce0f0^Cg0h0i0q!r!s!t!u!v!w!x!y!z!A!B!hJ!P#P$PPz_C`CqG{C%Pn%C!'PiJj0k0l0WvQzRzSzXvTzUzVz|Cm0n0o%p%D!E!q%6+7+(PrGsGo0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0)P*P8+9+!+F!G!L0M0N0O0P0Q0R0S0+PH!I!T0U0,PYvWzXzYzZvZz0z1z0v2z3z4z5zV0}C~CaDJ!K!W0X0Y0-PZ000#+1v6z.P7z2v8z/P9z10bDcDcx20:P30dD4050eD60;P7080=P?PrJ@PsJ[PtJdxuJexvJvutGuGvGwGwJwuxGyGzGAG]P!z#zfxxJgx90L!M!nD!0oD#0^P_P`P{P|P}P~PaQ$z%z'zhx(z)zixjxkxlxmxN!$+O!%+*z+zxubQyu$0m7zuAuBuCunxpDqDrD%0'0~EP!Q!h DGEGFGGGR!S!'+(+)+*+,zcQ++,+-+.+aF(0)0r%T!U!3v-z4v.zgsGt,r-r*0oHbF/+zJ:+JsRL;+=+?+@++0V!n7AJW!oxHGo7pxIGp7KsDuEuFuGuqxJGq7rxKGr7[+,0-0]+.0dQeQ/0:0;0=0fQ?0BJsxgQCJhQiQjQtxDJHuuxvxIukQX!@0[0]0^0tD_0`0{0s7|0n8}0Y!Z!0!~0lQmQ:zuDgFhFiFuHUsa1b1wDxDc1yDd1e1nQoQf1g1h1pQi1j1k1qQrQl1m1sQtQuQn1vQo1p1wQxQq1r1yQs1zQt1AQBQu1v1w1CQx1y1z1DQA1B1EQC1FQD1GQE1HQIQF1G1JQKQH1LQMQI1NQOQJ1PQQQK1RQSQL1TQUQM1N1O1P1Q1R11!^+_+`+{+|+}+~+a,s%t%u%v%w%2!x%y%z%3!4!b,c,d,e,f,o8p8A%B%C%D%E%g,h,i,j,k,l,F%G%H%I%J%5!6!7!K%S1zDT1VQU1WQV1XQYQZQ0Q;zW1X1Y11QZ1012Q3Q4Q5v5QjF{r/rosus11213141RJ51SJwxTJ81q891m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,6Q8!V,7Q9!W,X,Y,Z,0,1,2,3,4,!1#1ZL0L1Lt72L3L5,As6,=z6vJuKu?z7vLuMuNu@z8vOu7,8,9,!,#,$,%,',(,),*,+,,,-,.,/,:,;,=,?,@,$1%1'1(1)1*1+1,1AD!!#!WJ8Q$!%!9Q-1[z.1!Q/1]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHD`1{1IDJD|1}1KD~1a2b2'!(!)!*!+!,!-!.!/!:!;!=!0J#Q$Q%Q^zLDMDMGND'QL%?!(Q1Jc2d2e29v_z`z{z!v|z}z~zODf2g2M%N%@![!O%[,],)QNGOGh2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2*Q+Q^,_,`,]!^!E2F2G2H2I2J2K2L2,Q_!`!M2N2-Q#vaAbAcA$vdAeAfA%vgAhAiAjAO2PDQDRD{!|!P2Q2R2.QS2T2{,'vkA/QlA(vmA:QnAU2SDTDxxV2;QW2UDX2Y2VDZ2=Q0212?Q@Q!J[Q#J]Q$Jyx%Jzx'JPuPGQGRGSG(JQuTGUGVGWG^QoApAAx)JBx22}!~!4D325D42_Q`Q{Q|Q}Q~QaRbRqArAsACxtAuADxExFxGxHxa#|,b#},vAwARucRSu52u7TuUuVuWuIx6D7D8D6272kFc#d#i ZG0G1G2Ge#f#~,a-b-c-xAdRd-e-f-g-lF8292P%g#h#)vyA*vzAisHt:r;r!2pHmFh-+Ji-Ls6Lj-k-l-m-#2i#v7,Jj#Jx3Gw7Kx4Gx7MsXuYuZu0uLx5Gy7Mx6Gz7n-$2%2o-'2eRfR(2)2*2+2gR,2-JNxhR.JiRjRkROx/J1uPxQx2ulRk#-2.2/2:2!D;2=2?2A7@2r8[2l#m#n#]2mRnRBA#DrFsFtFvHVs^2_2%D'D`2(D{2|2oRpR}2~2a3qRb3c3d3rRsRe3f3tRuRvRg3wRh3i3xRyRj3k3zRl3ARm3BRCRn3o3p3DRq3r3s3ERt3u3FRv3GRw3HRx3IRJRy3z3KRLRA3MRNRB3ORPRC3QRRRD3SRTRE3URVRF3G3H3I3J3K3o#p-q-r-s-t-u-v-w-Q%R%S%T%U%p#V%W%X%q#r#x-y-z-A-B-s8t8Y%Z%0%1%2%C-D-E-F-G-H-3%4%5%6%7%s#t#u#8%L3)DM3WRN3XRO3YRZR0R1RCAP3Q3R32RS3T33R4R5R+v6RuF|r?rpsvsU3V3W3X3~JY3aKRxbK13u823I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-0-1-2-3-4-5-6-7-8-9-!-#-$-%-'-(-)-7Rv#*-8Rw#+-,---.-/-:-;-=-?-3343'L(L)LB7*L+L@-Bs[-DA,v3u4uEA-v5u6u7uFA.v8u]-^-_-`-{-|-}-~-a.b.c.d.e.f.g.h.i.j.k.l.m.5363738393!3#3$3*Dx#y#eK9Rz#A#!R%3GA'3#R(3HA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D=3?3=D?D@3[3@D]3^3_3B#C#D#E#F#G#H#I#J#K#L#M#iK$R%R'RIA[D]D8G^D(R9%N#)RjK`3{3|3/vJAKALA:vMANAOA_D}3~3!%#%O#P#$%n.o.*R9G!Ga4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4+R,Rp.q.r.Q#R#x4y4z4A4B4C4D4E4-RS#T#F4G4.R;vPAQARA=vSATAUA?vVAWAXAYAH4`D{D|DU#V#I4J4K4/RL4M4s.@vZA:R0A[v1A;R2AN4}D~DSxO4=RP4aEQ4R4bES4?RT4U4@R[RsK]RtK^RuKTxvKUxwK9u#G$G%G'GxK!u(G)G*G+G_R3A4AVxyKWxV4W#X#kEW4lEX4`R{R|R}R~RaSbScS5A6A7AXx8A9AYxZx0x1x2xY#t.Z#u.!A#A#udS$uY4C7%u'u(u)u3xmEnEoEZ404vF0#1#j .G/G:G;G2#3#v.w.x.y.$AeSz.A.B.C.wF1424%%4#5#]v%A^v'AksIt@r[r34qHxFD.AKE.Ns.LF.G.H.I.446#D7BK7#4x=GE75x?GF7Os*u+u,u-u6x@GG77x[GH7J.5464K.74fSgS8494!4#4hS$4CK8xiSDKjSkSlS9xEK.u!x#x/umS8#%4'4(4)4qE*4+4,4I7-4v8.49#!###/4nSoS)ArECFDFEFwHWs:4;4tEuE=4vE?4@4pSqS[4]4^4rS_4`4{4sStS|4}4uSvSwS~4xSa5b5ySzSc5d5ASe5BSf5CSDSg5h5i5ESj5k5l5FSm5n5GSo5HSp5ISq5JSKSr5s5LSMSt5NSOSu5PSQSv5RSSSw5TSUSx5VSWSy5z5A5B5C5D5E5wEF5XSG5YSH5ZS0S1S2S*AI5J5K53SL5M54S5S6S_v7SFF}r^rqswsN5O5P5Q5SKR5TK$xUKU5w8V5L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.0.1.2.3.4.5.6.7.8.9.!.#.$.%.'.(.).*.+.,.8S$#-.9S%#../.:.;.=.?.@.[.].W5X5]L^L_LJ7`L{L^.Cs_.+A`v:u;u,A{v=u?u@u-A|v[u`.{.|.}.~.a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/Y5Z5051525354555xE'#(#XK!S)#*##S65.A75$S85/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE+5,5FEGE-5.5HE/5:5;5+#,#-#.#/#:#;#=#?#@#[#]#1K%S'S(S:AIEJE^GKE)S'%^#*S2K=5?5@5}v;A=A?A~v@A[A]ALE[5]5(%)%_#`#*%q/r/+S_G`G^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6,S-Ss/t/u/{#|#q6r6s6t6u6v6w6x6.S}#~#y6z6/Saw^A_A`Abw{A|A}Acw~AaBbBcBA6MENEOEa$b$B6C6D6:SE6F6dwdB;SeBewfB=SgBG6PEQE%xH6?SI6REJ6K6SEL6@SM6N6[S]S#K^S$K_S%K'x'K(x(K]u{G|G}G~G)K^uaHbHcHdH`ShBiB)x*K*xO6c$d$1EP62EQ6{S|S}S~SaTbTcTdTjBkBlB+xmBnB,x-x.x/x:xe$v/f$w/oBpB_ueT`uR6K7{u|u}u~u;x3E4E5ES6T6GFg$h$k gHhHiHjHi$j$x/y/z/A/qBfTB/C/D/E/HFU6
114 return ( 2iTk$y8lv?xmv@xrsCt~rasjTgT=K=%xH?%XsW6@%[%]%^%kTz8+6yHA8gwIF,6hwJF-6YsiwjwkwlwmwKF.6nwLF/6_%lTmT`%nTaMoTpTqTrTbMsTzHowcMAHdMeMfMpwBHqwtwgMB8tTuTvTwTyBxTyTzT:6AT|7BTD8CTiM]xzB^K_K`KhTPsDTETBBCBFTDBGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T{%|%}%~%a'b'c'd'l$m$n$o$p$q$r$s$e'f'g'h'i'}7~7t$u$v$w$x$j'k'l'm'n'o'y$z$A$B$C$D$.TEB/T:T;TVMWM^x=T?T@T[T]TYMZM0M_x1M{K^T_T`T{T|TFBaUa8bUp'q'r's't'u'v'w'x'y'z'A'B'E'F'G'H'I'J'K'L'O'P'Q'R'U'V'W'X'2MM8Y'3MN8Z'0'1'2'3'4'5'6'7'cUdU465666;67686Qs8'`xnvXtYt{xovZt0t1t|xpv2t9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'eUfUgUhUiUjUkUlUGBP84MR85MmU}xnU6MoU~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNByUzUOBPBAUBUQBCUDUEUS8T8U8V8081828YH7M8M9MRBSBNFTB!ME$#MZHFUGUHUbycydyfygyUBIUJUF$G$H$^'_'$MOFPFKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U%M'M`'{'|'78887U8U9U!U#U$U%U'U98(U)Ujykylynyoyrysyty*UVBWBXB#8$8+U,U-U.U/U}'wyxy+MzyAy:UYBZBuw;U=U0B?U@U1B[U]U^U/M:M8H;M9H=M!Hvw#Hww$Hxwyw?MCyDyzw'HAw_U%8'8!B`U#B{U@M[M]M^M_M`M{M|MEyFyGyBwHyIyCwDwEwFwGw(8~')8a(JyKyHw}MIw|U=6JwKwLwMwNw$B%B'B}U*8+8$ 2F3F,8-8Ly~Mi(|K~UaVI$/8qvMyrvNybsDt9r!rbVlH6Ej()Hk(Ds}Kl(m(n(o(cV:8?6*H;8Ow4F@6Pw5F[6Es6t7t8t9tQw6F]6Rw7F^6p(dVeVq(fVbNgVhViVjVcNkV+HSwdN,HeNfNgNTw-H!t#thN=8lVmVnVoV)BpVqVrV_6sVb8tV@8uVjNPy*B#E$E%ErHRsvVwV,B-BxV.ByVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$Vr(s(t(u(v(w(x(y(J$K$L$M$N$O$P$Q$z(A(B(C(D(c8d8R$S$T$U$V$E(F(G(H(I(J(W$X$Y$Z$0$1$%V/B'V(V)VWNXNQy*V+V,V-V.VZN0N1Nsv2N'E/V:V;V=V?VWw]Ve8^VK(L(M(N(O(P(Q(R(S(T(U(V(W(Z(0(1(2(3(4(5(6(9(!(#($((()(*(+(3N~8,(4Na9-(.(/(:(;(=(?(@([(_V`VgLhLiL`6jLkLxs](Rytv$t%tSyuv't(t)tTyvv*t^(_(`({(|(}(~(a)b)c)d)e)f)g)h)i)j)k)l)m)n){V|V}V~VaWbWcWdW:Bc95Ne96NeWUyfW7NgWVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BqWrW_B`BsWtW{BuWvWwWf9g9h9i9n9o9p9gI8N9N!N|B}B9F~B#N2$$NhIxWyWzWwvXyYyxv0yaCAWBW3$4$5$o)p)%N!F#FCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYW'N(Nq)r)s)u9v9ZW0W1W2W3W4W5W6Ww97W8Wyv3y4yzv6yAv9y!y9WbCcCdCy9z9!W#W$W%W'Wt)Bv%y,NCv(y(WeCfCXw)W*WgC+W,WhC-W.W/W:N;NqI=NrI?NsIYwtIZwuI+t,t@N*y+y0wwI1w:WA9B9qC;WrC=W[N]N^N_N`N{N|N}N,y-y.y2w/y:y3w4w5w6w7wC9u)D9v);y=y-t~N.t?W{6/t:t;t=t8wsCtCuC@W[WE9F9l ;F=FG9H9?yaOD)(E]W^W6$J9Dv@yEv[ycsEt#r$r_WmH)EE)yIF)FsnLG)H)I)J)`WK9|6zIL99w?F}6!w@F~6Gs?t@t[t]t#w[Fa7$w]Fb7K){W|WL)}WcO~WaXbXcXdOdXAI%weOBIfOgOhO'wCI^t_tiOM9eXfXgXhXwCiXjXkXc7lXf8mXO9nXkO^yxC.E/E:EsHSsoXpXzCACqXBCrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX0X1X2X3X4X5XM)N)O)P)Q)R)S)T)7$8$9$!$#$$$%$'$U)V)W)X)Y)g8h8($)$*$+$,$Z)0)1)2)3)4)-$.$/$:$;$=$6XCC7X8X9XXOYO_y!X#X$X%X'X0O1O2OFv3O;E_rss(X)X*X+X,X*w/Xi8:X5)6)7)8)9)!)#)$)%)')()))*)-).)/):);)=)?)@)^)_)`){)~)a*b*c*4OX9d*5OY9e*f*g*h*i*j*k*l*m*;X=XvLwLxLd7yLzLn*yso*`yGv`t{t{yHv|t}t~t|yIvaup*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*F*G*H*I*J*?X@X[X]X^X_X`X{XDC096O297O|X}y}X8O~X~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCjYkYLCMClYmYNCnYoYpY39495969#9$9%9ZI9O!O#OOCPC_FQC$O?$%O0IqYrYsYJvbzczKvezRCtYuY@$[$]$K*L*'O`F{FvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRY(O)OM*N*O*+9,9SYTYUYVYWYXYYYZY-90Y1YLvhzizMvkzNvnzoz2YSCTCUC/9:93Y4Y5Y6Y7YP*Ovrz-OPvtz8YVCWC+w9Y!YXC#Y$YYC%Y'Y(Y;O=O9I?O!I@O#I,w$I-w%Ibucu[Ovzwz.w(I/w)Y;9=97C*Y8C+Y]O^O_O`O{O|O}O~Oxzyzzz:wAzBz;w=w?w@w[w?9Q*@9R*CzDzduaPeu,Ye7fuguhuiu]w9C!C#C-Y.Y=E[9]9g jGkG^9_9EzbPZ*?E/Y:Y^${9QvFzRvGzesFt(r)r;YnH@E0**I1*HsCL2*3*4*5*=Y|9f7+I}9^wlGg7_wmGh7Isjukulumu`wnGi7{woGj76*?Y@Y7*[YdP]Y^Y_Y`YeP{Y,I|wfP-IgPhPiP}w.InuoujP~9|Y}Y~YaZ%CbZcZdZk7eZj8fZb!gZlPIz'C`E{E|EtHTshZiZ)C*CjZ+CkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ8*9*!*#*$*%*'*(*_$`${$|$}$~$a%b%)***+*,*-*k8l8c%d%e%f%g%.*/*:*;*=*?*h%i%j%k%l%m%ZZ,C0Z1Z2ZYPZPJz3Z4Z5Z6Z7Z1P2P3PSv4P}E`rts8Z9Z!Z#Z$Zbx(Zm8)Z@*[*]*^*_*`*{*|*}*~*a+b+c+f+g+h+i+j+k+l+m+p+q+r+s+v+w+x+y+5Pk!z+6Pl!A+B+C+D+E+F+G+H+I+*Z+ZKLLLMLl7NLOLJ+zsK+KzTvpuquLzUvrusutuMzVvuuL+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+0+1+2+3+4+5+,Z-Z.Z/Z:Z;Z=Z?Z-Cn!7Pp!8P@ZNz[Z9P]ZOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cc0d0[C]Ce0f0^Cg0h0i0q!r!s!t!y!z!A!hJ!P#P$P_C`CqG{C%Pn%'PiJj0k0l0WvQzRzXvTz|Cm0n0o%p%q%6+7+(PrGsGo0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0)P*P8+9+!+F!G!L0M0N0O0P0Q0R0S0H!T0U0YvWzXzZvZz0v2z3zV0}C~CaDJ!K!W0X0Y0Z000#+1v6z.P2v8z10bDcDcx2030dD4050eD607080=P?PrJ@PsJ[PtJdxuJexvJvuwu]P!z#zfxxJgx90L!M!nD!0oD#0^P_P`P{P|P}P~PaQ$z%z'zhx(z)zixjxkxlxmxN!$+O!%+*z+zxubQyu$0m7zuAuBuCunxpDqDrD%0'0~EP!Q!h FGGGR!S!,zcQ.+aF(0)0r%U!3v-z4v.zgsGt,r-r*0oHbF/+zJ:+JsRL;+=+?+@++0V!n7AJW!oxHGo7pxIGp7KsDuEuFuGuqxJGq7rxKGr7[+,0-0]+.0eQ/0:0;0=0fQ?0BJsxgQCJhQiQjQtxDJHuIukQX!@0[0]0^0tD_0`0{0s7|0n8}0Z!~0mQ:zuDgFhFiFuHUsa1b1wDxDc1yDd1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1^+_+`+{+|+}+~+a,s%t%u%v%w%x%y%z%b,c,d,e,f,o8p8A%B%C%D%E%g,h,i,j,k,l,F%G%H%I%J%K%S1zDT1U1V1ZQ0Q;zW1X1Y1Z1012Q3Q4Q5v5QjF{rus1121314151wx81q891m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H,I,L,M,N,O,R,S,T,U,6Q8!V,7Q9!W,X,Y,Z,0,1,2,3,4,!1#1ZL0L1Lt72L3L5,As6,=z6vJuKu?z7vLuMuNu@z8vOu7,8,9,!,#,$,%,',(,),*,+,,,-,.,/,:,;,=,?,@,$1%1'1(1)1*1+1,1AD#!8Q%!9Q-1[z.1!Q/1]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHD`1{1IDJD|1}1KD~1a2b2'!(!)!*!/!:!;!0J#Q$Q%QLDMDMGND'QL%(Q1Jc2d2e29v_z`z!v|zODf2g2M%N%O%[,],)QNGOGh2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2*Q+Q^,_,`,]!^!E2F2G2H2I2J2K2L2_!M2N2#vaAbA$vdA%vgAhAO2PDQDRD{!|!P2Q2R2S2T2{,'vkA/Q(vmAU2SDTDxxV2W2UDX2Y2VDZ20212?Q@Q!J[Q#J]Q$Jyx%Jzx'JPuQu^QoApAAx)JBx22}!~!4D325D42_Q`Q{Q|Q}Q~QaRbRqArAsACxtAuADxExFxGxHxa#|,b#},vAwARucRSu52u7TuUuVuWuIx6D7D8D6272kFc#d#i 1G2Ge#f#xAdRg-lF8292P%h#)vyA*vzAisHt:r;r!2pHmFh-+Ji-Ls6Lj-k-l-m-#2i#v7,Jj#Jx3Gw7Kx4Gx7MsXuYuZu0uLx5Gy7Mx6Gz7n-$2%2o-'2fR(2)2*2+2gR,2-JNxhR.JiRjRkROx/J1u2ulRk#-2.2/2:2!D;2=2?2A7@2r8[2m#]2nRBA#DrFsFtFvHVs^2_2%D'D`2(D{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3A3B3C3D3E3F3G3H3I3J3K3p-q-r-s-t-u-v-w-Q%R%S%T%U%V%W%X%x-y-z-A-B-s8t8Y%Z%0%1%2%C-D-E-F-G-H-3%4%5%6%7%8%L3)DM3N3O30R1RCAP3Q3R3S3T33R4R5R+v6RuF|rvsU3V3W3X3Y3Rx13u823I-J-K-L-M-N-O-P-Q-R-S-T-U-X-Y-Z-0-1-2-3-4-7-8-9-!-%-'-(-)-7Rv#*-8Rw#+-,---.-/-:-;-=-?-3343'L(L)LB7*L+L@-Bs[-DA,v3u4uEA-v5u6u7uFA.v8u]-^-_-`-{-|-}-~-a.b.c.d.e.f.g.h.i.j.k.l.m.5363738393!3#3$3*Dy#9RA#!R%3GA'3#R(3HA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D=3?3=D?D@3[3@D]3^3_3B#C#D#E#J#K#L#iK$R%R'R[D]D8G^D(R9%)RjK`3{3|3/vJAKA:vMA_D}3~3!%#%$%n.o.*R9G!Ga4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4+R,Rp.q.r.Q#R#x4y4z4A4B4C4D4E4S#F4G4;vPAQA=vSA?vVAWAH4`D{D|DU#V#I4J4K4L4M4s.@vZA:R[v1AN4}D~DSxO4P4aEQ4R4bES4T4U4@R[RsK]RtK^RuKTxvKUxwK9u!u_R3A4AVxyKWxV4W#X#kEW4lEX4`R{R|R}R~RaSbScS5A6A7AXx8A9AYxZx0x1x2xY#t.Z#u.!A#A#udS$uY4C7%u'u(u)u3xmEnEoEZ404vF0#1#j :G;G2#3#$AeSC.wF1424%%5#]v%A^v'AksIt@r[r34qHxFD.AKE.Ns.LF.G.H.I.446#D7BK7#4x=GE75x?GF7Os*u+u,u-u6x@GG77x[GH7J.5464K.74gS8494!4#4hS$4CK8xiSDKjSkSlS9xEK.u/umS8#%4'4(4)4qE*4+4,4I7-4v8.4!#/4oS)ArECFDFEFwHWs:4;4tEuE=4vE?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5A5B5C5D5E5wEF5G5H51S2S*AI5J5K5L5M54S5S6S_v7SFF}rwsN5O5P5Q5R5$xU5w8V5L.M.N.O.P.Q.R.S.T.U.V.W.X.0.1.2.3.4.5.6.7.!.#.$.%.).*.+.,.8S$#-.9S%#../.:.;.=.?.@.[.].W5X5]L^L_LJ7`L{L^.Cs_.+A`v:u;u,A{v=u?u@u-A|v[u`.{.|.}.~.a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/Y5Z5051525354555xE(#!S*##S65.A75$S85/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE+5,5FEGE-5.5HE/5:5;5+#,#-#.#?#@#[#1K%S'S(SIEJE^GKE)S'%*S2K=5?5@5}v;A=A~v@ALE[5]5(%)%*%q/r/+S_G`G^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6,S-Ss/t/u/{#|#q6r6s6t6u6v6w6x6}#y6z6aw^A_Abw{Acw~AaBA6MENEOEa$b$B6C6D6E6F6dwdB;SewfBG6PEQE%xH6I6REJ6K6SEL6M6N6[S]S#K^S$K_S%K'x'K(x(K]u^u`ShBiB)x*K*xO6c$d$1EP62EQ6{S|S}S~SaTbTcTdTjBkBlB+xmBnB,x-x.x/x:xe$v/f$w/oBpB_ueT`uR6K7{u|u}u~u;x3E4E5ES6T6GFg$h$k iHjHi$j$qBfTE/HFU6
115 self._type_adapter.validate_python(value, from_attributes=True),
116 None,
117 )
118 except ValidationError as exc: 2x8lvmvrsCt~LAHrwswBTC8E8hMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMF8G8H8I8J8K8L8RMSMTMUMXMPHQHRHC'D'M'N'S'T'nvovpvO8UHQ8W8X8Y8Z838YHay48eyhyiy5868(M!8)Mmypyqyuyvy*Myy,MByuw-M.MQFRFSFTF%HUFVFWFXFNw0F1Fb(c(d(e(f(g(h(.8qvrvbsDtaN,HUwVwtV?8[8iNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRN]8^8_8`8{8|8}8SNTNUNVNYN|H}H~HX(Y(7(8(%('(tvuvvvb9cId9j9k9l9m9q9gIWyr9Zy1y2ys9t9)Nx9*N5y7y8y#y$y+N'y-N)yXw.N/N$F%F'F(FvI)F*F+F,F8w/F:Fw)x)y)z)A)B)C)I9DvEvcsEtbOBI(w)wmXN9P9jOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOQ9R9S9T9U9V9W9TOUOVOWOZO'rmsQIRISI+),)[)])|)})GvHvIvZ9VI19798999!9'9ZIaz(9dzfzgz)9*9*O.9+Ojzlzmzpzqz,Osz.Ouz+w/O:O|F}F~FaG'IbGcGdGeG]whGiGS*T*U*V*W*X*Y*`9QvRvesFtcP-I~waxfZa!c!kPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPd!e!f!g!h!i!j!UPVPWPXP0P+rns}I~IaJd+e+n+o+t+u+TvUvVvm!dJo!u!v!w!x!B!hJPzC!SzUzVzD!E!+PI!,PYz0z1z4z5z-P7z/P9zcx:P;PtGuGvGwGwJxGyGzGAGnxDGEG'+(+)+*+++,+-+T!3v4vgsGtdQCJuxvx}0Y!0!lQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQ1!2!3!4!5!6!7!VQWQXQYQ1Q/rosRJSJTJz,A,J,K,P,Q,6v7v8v!!WJ$!+!,!-!.!=!0J^z?!{z}z~z@![!,Q`!-QcAeAfAiAjA.QlA:QnAxx;Q=QPGQGRGSG(JTGUGVGWGIxZG0G~,a-b-c-d-e-f-g#)v*visHteR.JPxQx[2l#n#mRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRo#p#q#r#s#t#u#WRXRYRZR2R?rps~JaKbKV-W-5-6-#-$-,v-v.vx#eKz#F#G#H#I#M#iKIAN#LANAOAO#P#-RT#.RRATAUAXAYA/R0A;R2ASx=R?R#G$G%G'GxK(G)G*G+G3x.G/Gv.w.x.y.z.A.B.4#]v^vksItfSDK!x#x.49###nSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S3S^rqsSKTKUKY.Z.8.9.'.(.`v{v|v'#XK)#/#:#;#=#]#1K:A^#?A[A]A_#`#.S~#/S`A|A}AbBcB:SeB=SgB%x?S@S{G|G}G~G)KaHbHcHdH;xgHhHx/y/z/A/B/C/D/
119 return None, may_v1._regenerate_error_with_loc( 2x8lvmvrsCt~LAHrwswBTC8E8hMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMF8G8H8I8J8K8L8RMSMTMUMXMPHQHRHC'D'M'N'S'T'nvovpvO8UHQ8W8X8Y8Z838YHay48eyhyiy5868(M!8)Mmypyqyuyvy*Myy,MByuw-M.MQFRFSFTF%HUFVFWFXFNw0F1Fb(c(d(e(f(g(h(.8qvrvbsDtaN,HUwVwtV?8[8iNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRN]8^8_8`8{8|8}8SNTNUNVNYN|H}H~HX(Y(7(8(%('(tvuvvvb9cId9j9k9l9m9q9gIWyr9Zy1y2ys9t9)Nx9*N5y7y8y#y$y+N'y-N)yXw.N/N$F%F'F(FvI)F*F+F,F8w/F:Fw)x)y)z)A)B)C)I9DvEvcsEtbOBI(w)wmXN9P9jOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOQ9R9S9T9U9V9W9TOUOVOWOZO'rmsQIRISI+),)[)])|)})GvHvIvZ9VI19798999!9'9ZIaz(9dzfzgz)9*9*O.9+Ojzlzmzpzqz,Osz.Ouz+w/O:O|F}F~FaG'IbGcGdGeG]whGiGS*T*U*V*W*X*Y*`9QvRvesFtcP-I~waxfZa!c!kPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPd!e!f!g!h!i!j!UPVPWPXP0P+rns}I~IaJd+e+n+o+t+u+TvUvVvm!dJo!u!v!w!x!B!hJPzC!SzUzVzD!E!+PI!,PYz0z1z4z5z-P7z/P9zcx:P;PtGuGvGwGwJxGyGzGAGnxDGEG'+(+)+*+++,+-+T!3v4vgsGtdQCJuxvx}0Y!0!lQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQ1!2!3!4!5!6!7!VQWQXQYQ1Q/rosRJSJTJz,A,J,K,P,Q,6v7v8v!!WJ$!+!,!-!.!=!0J^z?!{z}z~z@![!,Q`!-QcAeAfAiAjA.QlA:QnAxx;Q=QPGQGRGSG(JTGUGVGWGIxZG0G~,a-b-c-d-e-f-g#)v*visHteR.JPxQx[2l#n#mRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRo#p#q#r#s#t#u#WRXRYRZR2R?rps~JaKbKV-W-5-6-#-$-,v-v.vx#eKz#F#G#H#I#M#iKIAN#LANAOAO#P#-RT#.RRATAUAXAYA/R0A;R2ASx=R?R#G$G%G'GxK(G)G*G+G3x.G/Gv.w.x.y.z.A.B.4#]v^vksItfSDK!x#x.49###nSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S3S^rqsSKTKUKY.Z.8.9.'.(.`v{v|v'#XK)#/#:#;#=#]#1K:A^#?A[A]A_#`#.S~#/S`A|A}AbBcB:SeB=SgB%x?S@S{G|G}G~G)KaHbHcHdH;xgHhHx/y/z/A/B/C/D/
120 errors=exc.errors(include_url=False), loc_prefix=loc
121 )
123 def serialize( 2hg9f!f#f$f%f'f
124 self,
125 value: Any,
126 *,
127 mode: Literal["json", "python"] = "json",
128 include: Union[IncEx, None] = None,
129 exclude: Union[IncEx, None] = None,
130 by_alias: bool = True,
131 exclude_unset: bool = False,
132 exclude_defaults: bool = False,
133 exclude_none: bool = False,
134 ) -> Any:
135 # What calls this code passes a value that already called
136 # self._type_adapter.validate_python(value)
137 return self._type_adapter.dump_python( 2lv?xmv@x=K=%?%W6@%[%]%^%_%`%cMiM^K`KhT{%|%}%~%a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'VMWM^x{Kp'q'r's't'u'v'w'x'y'z'A'B'E'F'G'H'I'J'K'L'O'P'Q'R'U'V'W'X'2MM8Y'3MN8Z'0'1'2'3'4'5'6'7'46566676868'9'!'#'$'%'''(')'*'+','-'.'/':';'='?'@'[']'5M}x6M~x#MZH^'_'$M%M'M`'{'|'7888#8$8}'%8'8@M[M]M^M_MBwCwDwEwFwGw~'a(JyKy}M$ Ly~Mi(|KqvMyrvNy6Ej(k(}Kl(m(n(o(p(q(dNjN#E%ErHr(s(t(u(v(w(x(y(z(A(B(C(D(E(F(G(H(I(J(WNXNQy'EK(L(M(N(O(P(Q(R(S(T(U(V(W(Z(0(1(2(3(4(5(6(9(!(#($((()(*(+(3N~8,(4Na9-(.(/(:(;(=(?(@([(gLhLiLjLkL](^(_(`({(|(}(~(a)b)c)d)e)f)g)h)i)j)k)l)m)n)6NUy7NVy$NhIo)p)%N'N(Nq)r)s)u9v9y9z9t)A9B9[N]N^N_N`N2w3w4w5w6w7wu)v);y=y~Nl ?yaOD)(EDv@yEv[y)EE)F)nLG)H)I)J)K)L)eOkO.E:EsHM)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)0)1)2)3)4)XOYO_y;E5)6)7)8)9)!)#)$)%)')()))*)-).)/):);)=)?)@)^)_)`){)~)a*b*c*4OX9d*5OY9e*f*g*h*i*j*k*l*m*vLwLxLyLzLn*o*p*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E*F*G*H*I*J*7O}y8O~y%O0IK*L*'O(O)OM*N*O*+9,9/9:9P*;9=9]O^O_O`O{O:w;w=w?w@w[wQ*R*CzDzaP=Eg EzbPZ*?EQvFzRvGz@E0*1*CL2*3*4*5*6*7*fPlP`E|EtH8*9*!*#*$*%*'*(*)***+*,*-*.*/*:*;*=*?*YPZPJz}E@*[*]*^*_*`*{*|*}*~*a+b+c+f+g+h+i+j+k+l+m+p+q+r+s+v+w+x+y+5Pk!z+6Pl!A+B+C+D+E+F+G+H+I+KLLLMLNLOLJ+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+0+1+2+3+4+5+8PNz9POz'PiJ6+7+(P)P*P8+9+!+F!G!J!K!#+L!M!^P_P`P{P|Phxixjxkxlxmx$+%+*z+zbQ~Eh ,zcQ.+aF3v-z4v.zbF/+:+RL;+=+?+@+[+]+gQmQgFiFuH^+_+`+{+|+}+~+a,b,c,d,e,f,g,h,i,j,k,l,ZQ0Q;zjFm,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H,I,L,M,N,O,R,S,T,U,6Q8!V,7Q9!W,X,Y,Z,0,1,2,3,4,ZL0L1L2L3L5,6,7,8,9,!,#,$,%,',(,),*,+,,,-,.,/,:,;,=,?,@,9Q[z!Q]z(Q1J[,],)Q*Q+Q^,_,`,]!^!{!|!{,}!~!_Q`Q{Q|Q}QCxDxExFxGxHx|,},vAwAcRkFi xAdRg-lF)vyA*vzAmFh-i-6Lj-k-l-m-n-o-hRnRrFtFvHp-q-r-s-t-u-v-w-x-y-z-A-B-C-D-E-F-G-H-0R1RCAuFI-J-K-L-M-N-O-P-Q-R-S-T-U-X-Y-Z-0-1-2-3-4-7-8-9-!-%-'-(-)-7Rv#*-8Rw#+-,---.-/-:-;-=-?-'L(L)L*L+L@-[-]-^-_-`-{-|-}-~-a.b.c.d.e.f.g.h.i.j.k.l.m.!RGA#RHA)RjKn.o.*R+R,Rp.q.r.Q#R#U#V#s.W#X#`R{R|R}R~RXxYxZx0x1x2xt.u.!A#AdSvFj $AeSC.wF]v%A^v'AxFD.E..LF.G.H.I.J.K.iSoSCFEFwH1S2S*AFFL.M.N.O.P.Q.R.S.T.U.V.W.X.0.1.2.3.4.5.6.7.!.#.$.%.).*.+.,.8S$#-.9S%#../.:.;.=.?.@.[.].]L^L_L`L{L^._.`.{.|.}.~.a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/#S.A$S/A*S2Kq/r/+S,S-Ss/t/u/{#|#a$b$c$d${S|S}S~SaT+x,x-x.x/x:xv/w/oBpBeTGFk qBfTE/HF
138 value,
139 mode=mode,
140 include=include,
141 exclude=exclude,
142 by_alias=by_alias,
143 exclude_unset=exclude_unset,
144 exclude_defaults=exclude_defaults,
145 exclude_none=exclude_none,
146 )
148 def __hash__(self) -> int: 2hg9f!f#f$f%f'f
149 # Each ModelField is unique for our purposes, to allow making a dict from
150 # ModelField to its JSON Schema.
151 return id(self) 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
154def get_annotation_from_field_info( 2hg9f!f#f$f%f'f
155 annotation: Any, field_info: FieldInfo, field_name: str
156) -> Any:
157 return annotation 2hgrs~rasgT=KXsYsPtQtiwRtStjwTtkwUtVtlwWt: ; = ? @ [ ] igX6Y6Z606162636?K@K[K]KL/M/N/O/P/Q/R/S/T/U/kH^K_K`K{cubhT{KQsFbHwIw3tJwKw4tLwMw$ |K96!65t9fbs9r!rlH6EDsEsZs0s6t1s2s7t3s8t4s5s9t6sV W X Y Z 0 1 *f~KaLbLcLdLeLfL7E8E9E!EV/W/X/Y/Z/0/1/2/3/4/rB#E$E%EGb% rH'Exs_ -t.t7s/t:t8s;t=tl (ElLmL9s!fcs#r$rmH)EFsGs!s#s?t$s%s@t's[t(s)s]t*sm n o p q r s +foLpLqLrLsLtLuL*E+E,E-E5/6/7/8/9/!/#/$/%/'/sB.E/E:E` 2 sH;E%r7 _r'rWhmsdsssys( dueu+sfugu,shuiu=Eg ?EALBL-s#fes(r)rnH@EHsIs.s/sju:s;sku=slu?s@smu[st u v w x y z ,fDLELFLGLHLILJL[E]E^E_E(/)/*/+/,/-/.///:/;/tB`E{E|Eab3 tH}E*r8 `r+rXhnsfstszs* xuyu]szuAu^sBuCu~Eh aFPLQL_s$fgs,r-roHbFJsKs`s{sDu|s}sEu~sFuatbtGuctA B C D E F G -fSLTLULVLWLXLYLcFdFeFfF=/?/@/[/]/^/_/`/{/|/uBgFhFiFfb4 uHjF.r9 {r/rYhoshsusAs, RuSudtTuUuetVuWukFi lF4L5Lft%fis:r;rpHmFLsMsgthtXuitjtYuktZultmt0untH I J K L M N .f7L8L9L!L#L$L%LnFoFpFqF}/~/a:b:c:d:e:f:g:h:vBrFsFtFkb5 vHuF=r! |r?rZhpsjsvsBs. #u$uot%u'upt(u)uvFj wF,L-Lqt'fks@r[rqHxFNsOsrtst*uttut+uvt,uwtxt-uytO P Q R S T U /f/L:L;L=L?L@L[LyFzFAFBFi:j:k:l:m:n:o:p:q:r:wBCFDFEFpb6 wHFF]r# }r^r0hqslswsCs/ _u`uzt{u|uAt}u~uGFk HF|L}LBt
160def _model_rebuild(model: Type[BaseModel]) -> None: 2hg9f!f#f$f%f'f
161 model.model_rebuild() 2hg9f!f#f$f%f'f
164def _model_dump( 2hg9f!f#f$f%f'f
165 model: BaseModel, mode: Literal["json", "python"] = "json", **kwargs: Any
166) -> Any:
167 return model.model_dump(mode=mode, **kwargs) 2|fy8feqm_fWd.l7fyhvlpi:lzhrm]gz8+6fhA8smHhsjaMLdbMXdpwBHqwtwmh: ; = ? @ [ ] igtmwfB8nhwltjs:t:u:v:w:x:y:z:A:ohgeD8%jMd]xYdUhujum_K{cubvmxl$lyl;l=lNdf EbYMZM0M_x1MzlAlBl}fZd8f:fB:)bC:D:E:xfQsFbAhwmF:xmG:ymH:zmI:AmJ:BmK:CmL:DmM:EmN:FmGmHmImJmKmLmMmNmOmPmQmBfO:P:RmSmCfQ:R:DfS:T:TmUmVmU:V:WmW:X:XmY:Z:Cl0dYmP8*bR8`f1d{f2dZm0m1m2m3mDlS8T8U8V8Ef0818287M8M3d4d9M5d!M'j6dZH4mbycydyvjfygywjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlph98MljykylyqinyoyrirysytysiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m0:;mef=mNlVh?l;f@lCjwyxy+MDjzyAyOlEjFjuiGj(j%lHjrh)fsh~fagthxwuhywvhwhFfGfPl?mQl9dOdPd!d`M#d{M$d|M@mHf1:If[m(8+b)8,bQdRd]m^m_m`m%d*8+8$ ie2F3F'd,8-8xhJf/8Sd{myf}c/l$e^g^jvi[l_g|m=f:8?6bg;8}mBhIjbN-bcN~cTw-H!t#tjgV W X Y Z 0 1 *f~mje=8kgRlJj2:3:4:5:6:7:8:9:!:lgTd@8)j.bPyadIhKjan$EGb% bnSl'lTl]l^l/be ^ ZN0N1Nsv2NUlVlWlKfbd%elf#:vb$:%:':kexs_ ghcn(:dn):en*:fn+:gn,:hn-:in.:jn/:kn::lnmnnnonpnqnrnsntnunvnwnqe;:=:xnynre?:@:se[:]:znAnBn^:_:Cn`:{:Dn|:}:XlcdEnc9wbe9zfddAfedFnGnHnInJnYlf9g9h9i9ten9o9p98N9Nfdgd!Nhd#N*jidhIKnwvXyYyLjxv0yMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmgw97lyv3y4ywizv6yxiAv9y!yyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n~:4n?d5n8lOh_lmf`lSjBv%y,NTjCv(y9lUjVjAiWj+j(lXjogffpgLfMfqg+trg,tsgtgueve!l6n#lld:b;bmd{Nnd|Nod}N7nwea;xe8nC9xbD9yb=b?b9n!n#n$npdE9F9l Vd;F=FqdG9H9ugNfJ9rd%n=e@b)l'e`g,j/h{l{g'n?fK9|6cgL9(nChBicOIbdO[b'wCI^t_tvgm n o p q r s +f)n(dM9wg`jCib;c;d;e;f;g;h;i;j;xgsdO9YjJb^y]bJhDi*n/E` 2 +n{jll|j|l}lKba ' 0O1O2OFv3O7 Wh}j~jakOf^b(enfk;{ l;m;n;)daeys( hh,no;-np;.nq;/nr;:ns;;nt;=nu;?nv;@nw;[n]n^n_n`n{n|n}n~naobocoyex;y;doeozez;A;AeB;C;fogohoD;E;ioF;G;joH;I;bk_bko09| 29?e`b@e{blomonooopock39495969Be#9$9%99O!O|b}b#O~b$OZjac0IqoJvbzczEiKvezFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyg-9lkLvhziz:hMvkz;hNvnzoz=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoJ;Ko[dLomkPh~lofamLiOvrz-OMiPvtznkNiOi@hPi0jmlQiAggfBgPfQfCgbuDgcuEgFgCeDeokMopkdcLbMbec|Ofc}Ogc~ONoEeK;FeOo?9} @9~ NbObPoQoRoSohc[9]9g udjGkGic^9_9GgRf{9vdTo[ejc*l)e|g.j[hbm}gUo@f|9f7dg}9VoDhRidPPbePkc}w.InuouHgt u v w x y z ,fWo*d~9IgqkSiL;M;N;O;P;Q;R;S;T;Jgwdb!1jQbIzlcKhTiXo{Eab3 YorknlskcmdmRbb ) 1P2P3PSv4P8 XhtkukvkSfmc*epfU;bbV;W;X;+dbezs* ihZoY;0oZ;1o0;2o1;3o2;4o3;5o4;6o5;7o6;8o9o!o#o$o%o'o(o)o*o+o,oGe7;8;-o.oHe9;!;Ie#;$;/o:o;o%;';=o(;);?o*;+;wknc@on!cbp!]eoc^epc[o]o^o_o`oxkq!r!s!t!Jey!z!A!!P#Pqcrc$Psc%P2jtciJ{oWvQzRzUiXvTzViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgH!GkYvWzXz]hZvZz^h0v2z3z_hZi0i`hhpipjpvcLgkplpmp]dnpoppp,;qp^drpHkQhemqffm1i1v6z.P2i2v8zIk3i4i{h5i3jol6iMghfNgTfUfOgvuPgwuQgRgKeLeJkspKkwcSbTbxc}Pyc~PzcaQtpMe-;NeupN!dbO!ebUbVbvpwpxpypAcP!Q!h ydFGGGBcR!S!SgVfU!zdzp_eCc+l+e~g:j|hgmahAp[fV!n7egW!BpEh7ieQWbfQDctxDJHuIuTgA B C D E F G -fCp,dX!UgLk8i.;/;:;;;=;?;@;[;];VgAdZ!4jXb:zEcLh9iDphFfb4 EpMkplNkhmimYbc + 2Q3Q4Q5v5Q9 YhOkPkQkWfFc,erf^;gb_;`;{;-dceAs, jhFp|;Gp};Hp~;Ipa=Jpb=Kpc=Lpd=Mpe=Npf=OpPpQpRpSpTpUpVpWpXpYpZpOeg=h=0p1pPei=j=Qek=l=2p3p4pm=n=5po=p=6pq=r=RkGc7p#!hb%!`eHc{eIc8p9p!p#p$pSk'!(!)!*!Re/!:!;!#Q$QJcKc%QLc'Q5jMc1J%p9v_z`z!i!v|z#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg_!1k#vaAbA}h$vdA~h%vgAhAai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`ps={p`d|p2kRhjmsfkm*i'vkA/Q+i(vmA3k,i-ici.i6jql/iYgifZgXfYf0gPu1gQu2g3gSeTe4k}p5kPcZb0bQc~QRcaRScbR~pUet=Veaqa#ibb#jb1b2bbqcqdqeqTcc#d#i Cd1G2GUce#f#4gZfh#Ddfq|eVc,l-ebh=jdilmchgq]fi#v7fgj#hqFh:ifR3bgRWcOx/J1u2u5gH I J K L M N .fiq.dk#6g6k;iu=v=w=x=y=z=A=B=C=7gEdm#7j4bBAXcMh=ijqsFkb5 kq7krl8kmmnm5bd - 3R4R5R+v6R! Zh9k!k#k0fYc.etfD=lbE=F=G=/ddeBs. khlqH=mqI=nqJ=oqK=pqL=qqM=rqN=sqO=tqP=uqvqwqxqyqzqAqBqCqDqEqFqWeQ=R=GqHqXeS=T=YeU=V=IqJqKqW=X=LqY=Z=Mq0=1=$kZcNqy#mbA#}e0c~e1cOqPqQqRqSq%kB#C#D#E#ZeJ#K#L#$R%R2c3c'R4c(R8j5cjKTq/vJAKA?i:vMA@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8gS#/k;vPAQAei=vSAfi?vVAWAgi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q2=%q|d'q:kShomufpm{i@vZA:R|i[v1A;k}i~iiiaj9jslbj!gjf#g1f2f$g9u%g!u'g(g0e1e=k(q?k8c6b7b9caS!cbS#ccS)q2e3=3e*qY#nbZ#ob8b9b+q,q-q.q$c0#1#j Gd:G;G%c2#3#)g3f5#Hd/qaf'c-l/edh@jjieh:q^f6#D7gg7#;qGhcjgS!bhS(c9xEK.u/u*gO P Q R S T U /f=q:d8#+g@kdj4=5=6=7=8=9=!=#=$=,gId!#!j#b)A)cNhej?qDFpb6 @q[ktl]k4S5S6S_v7S# 0h^k_k`k4f*c:evf%=qb'=(=)=;deeCs/ lh[q*=]q+=^q,=_q-=`q.={q/=|q:=}q;=~q==arbrcrdrerfrgrhrirjrkrlr4e?=@=mrnr5e[=]=6e^=_=orprqr`={=rr|=}=sr~=a?{k+ctr(#rb*#bf,ccf-curvrwrxryr|k+#,#-#.#7e?#@#[#%S'S.c/c(S:c)S#j;c2Kzr}v;A=Afj~v@AgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-g}#glaw^A_Akibw{Alicw~AaBmikjljniKrLrMr?c.gNrOrPr}dQrRrSrb?Tr~dUrhlThmjdwdB;SnjewfBilojpjoiqj$julrj/gkf:g5f6f;g]u=g^u?g@g8e9ejlVrkl@c$b%b[cbT]ccT^cdTWr!ec?#eXre$sbf$tb'b(bYrZr0r1r_cg$h$k KdiHjH`ci$j$[g
170def _get_model_config(model: BaseModel) -> Any: 2hg9f!f#f$f%f'f
171 return model.model_config 2d?e?f?g?h?i?j?
174def get_schema_from_model_field( 2hg9f!f#f$f%f'f
175 *,
176 field: ModelField,
177 model_name_map: ModelNameMap,
178 field_mapping: Dict[
179 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue
180 ],
181 separate_input_output_schemas: bool = True,
182) -> Dict[str, Any]:
183 computed_fields = field._type_adapter.core_schema.get("schema", {}).get( 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxlylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(jHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% SlTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+jXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {j|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rkskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3j6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6j/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7k8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [k]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$jrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
184 "computed_fields", []
185 )
186 override_mode: Union[Literal["validation"], None] = ( 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxlylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(jHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% SlTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+jXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {j|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rkskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3j6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6j/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7k8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [k]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$jrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
187 None
188 if (separate_input_output_schemas or len(computed_fields) > 0)
189 else "validation"
190 )
191 # This expects that GenerateJsonSchema was already used to generate the definitions
192 json_schema = field_mapping[(field, override_mode or field.mode)] 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxlylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(jHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% SlTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+jXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {j|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rkskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3j6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6j/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7k8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [k]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$jrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
193 if "$ref" not in json_schema: 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxlylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(jHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% SlTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+jXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {j|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rkskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3j6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6j/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7k8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [k]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$jrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
194 # TODO remove when deprecating Pydantic v1
195 # Ref: https://github.com/pydantic/pydantic/blob/d61792cc42c80b13b23e3ffa74bc37ec7c77f7d1/pydantic/schema.py#L207
196 json_schema["title"] = field.field_info.title or field.alias.title().replace( 2fe_fWd.lvlpisjLdXd: ; = ? @ [ ] wfwltjge%jMdYduj{cubxlylNdf EbzlAlBlZd)bxfFbCl0d*b`f1d{f2dDl3d4d5d'j6dvjwjxj6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlMlqirisiAjBjti8dNlCjDjOlEjFjuiGj(jHjPlQl9dOdPd!d#d$d+b,bQdRd%d$ ie'dSdyf}c/l^jviIj-b~cV W X Y Z 0 1 jeRlJjTd)j.badKjGb% SlTl/be ^ UlVlWlbdvbke_ XlcdwbzfddAfedYlfdgdhd*jidLjMjNj7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6l7lwixiyiQjRjzikd8lSjTj9lUjVjAiWj+jXj!l#lld:b;bmdndodxbyb=b?bpdl Vdqdrd=e@b)l,j/hBiIb[bm n o p q r s (d`jCisdYjJb]bDi` 2 {j|jKba ' Wh}j~jak^b{ )d( bk_b| ?e`b@e{bck|b}b~bZjacEiFiGi1hHiIidkekfkgkbctdle-jzbhkikjkkklk:h;h=hJiKi?hccmkLiMinkNiOi@hPi0jQiokpkdcLbMbecfcgc} ~ NbObhcg udicvd[ejc*l.j[hRiPbkct u v w x y z *dqkSiwd1jQblcTiab3 rkskRbb ) Xhtkukvkmcbb+d* wknccb]eoc^epcxkqcrcsc2jtcUiViWi2hXiYiykzkAkBkucxdme/jAbCkDkEkFkGk]h^h_hZi0i`hvcHk1i2iIk3i4i{h5i3j6iJkKkwcSbTbxcyczcdbebUbVbAch ydBczd_eCc+l:j|h7iWbDcA B C D E F G ,dLk8iAd4jXbEc9ifb4 MkNkYbc + YhOkPkQkFcgb-d, RkGchb`eHc{eIcSkJcKcLc5jMc!i#i$i3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0k1k}h~hai(i)ibiOc2k*i+i3k,i-ici.i6j/i4k5kPcZb0bQcRcScibjb1b2bTci CdUcDd|eVc,l=jdi:i3bWcH I J K L M N .d6k;iEd7j4bXc=ikb5 7k8k5bd - Zh9k!k#kYclb/d. $kZcmb}e0c~e1c%k2c3c4c8j5c?i@i[i4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k/keifigi_i`ihi7c:k{i|i;k}i~iiiaj9jbj=k?k8c6b7b9c!c#cnbob8b9b$cj Gd%cHdaf'c-l@jjicj!b(cO P Q R S T U :d@kdjId!j#b)cejpb6 [k]k0h^k_k`k*cqb;d/ {k+crbbf,ccf-c|k.c/c:c#j;cfjgjhj5hijjj}k~kalbl=cJdpe[jDbcldlelflglkilimikjljni?chlmjnjilojpjoiqj$jrjjlkl@c$b%b[c]c^csbtb'b(b_ck Kd`c
197 "_", " "
198 )
199 return json_schema 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxlylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(jHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% SlTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+jXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {j|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rkskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3j6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6j/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7k8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [k]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$jrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
202def get_definitions( 2hg9f!f#f$f%f'f
203 *,
204 fields: Sequence[ModelField],
205 model_name_map: ModelNameMap,
206 separate_input_output_schemas: bool = True,
207) -> Tuple[
208 Dict[Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue],
209 Dict[str, Dict[str, Any]],
210]:
211 has_computed_fields: bool = any( 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
212 field._type_adapter.core_schema.get("schema", {}).get("computed_fields", [])
213 for field in fields
214 )
216 schema_generator = GenerateJsonSchema(ref_template=REF_TEMPLATE) 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
217 override_mode: Union[Literal["validation"], None] = ( 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
218 None if (separate_input_output_schemas or has_computed_fields) else "validation"
219 )
220 validation_fields = [field for field in fields if field.mode == "validation"] 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
221 serialization_fields = [field for field in fields if field.mode == "serialization"] 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
222 flat_validation_models = get_flat_models_from_fields( 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
223 validation_fields, known_models=set()
224 )
225 flat_serialization_models = get_flat_models_from_fields( 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
226 serialization_fields, known_models=set()
227 )
228 flat_validation_model_fields = [ 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
229 ModelField(
230 field_info=FieldInfo(annotation=model),
231 name=model.__name__,
232 mode="validation",
233 )
234 for model in flat_validation_models
235 ]
236 flat_serialization_model_fields = [ 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
237 ModelField(
238 field_info=FieldInfo(annotation=model),
239 name=model.__name__,
240 mode="serialization",
241 )
242 for model in flat_serialization_models
243 ]
244 flat_model_fields = flat_validation_model_fields + flat_serialization_model_fields 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
245 input_types = {f.type_ for f in fields} 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
246 unique_flat_model_fields = { 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
247 f for f in flat_model_fields if f.type_ not in input_types
248 }
250 inputs = [ 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
251 (field, override_mode or field.mode, field._type_adapter.core_schema)
252 for field in list(fields) + list(unique_flat_model_fields)
253 ]
254 field_mapping, definitions = schema_generator.generate_definitions(inputs=inputs) 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
255 for item_def in cast(Dict[str, Dict[str, Any]], definitions).values(): 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
256 if "description" in item_def: 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
257 item_description = cast(str, item_def["description"]).split("\f")[0] 2wfUhZdjeIhbd(dJh^b*dKhmc,dLhFc.dMhYc:dNh*c
258 item_def["description"] = item_description 2wfUhZdjeIhbd(dJh^b*dKhmc,dLhFc.dMhYc:dNh*c
259 new_mapping, new_definitions = _remap_definitions_and_field_mappings( 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
260 model_name_map=model_name_map,
261 definitions=definitions, # type: ignore[arg-type]
262 field_mapping=field_mapping,
263 )
264 return new_mapping, new_definitions 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
267def _replace_refs( 2hg9f!f#f$f%f'f
268 *,
269 schema: Dict[str, Any],
270 old_name_to_new_name_map: Dict[str, str],
271) -> Dict[str, Any]:
272 new_schema = deepcopy(schema) 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
273 for key, value in new_schema.items(): 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
274 if key == "$ref": 2|ffe_fWd7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
275 value = schema["$ref"] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
276 if isinstance(value, str): 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
277 ref_name = schema["$ref"].split("/")[-1] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
278 if ref_name in old_name_to_new_name_map: 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
279 new_name = old_name_to_new_name_map[ref_name] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUhubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIh% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKh3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLh4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMh5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNh6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
280 new_schema["$ref"] = REF_TEMPLATE.format(model=new_name) 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUhubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIh% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKh3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLh4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMh5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNh6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
281 continue 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUhubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIh% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
282 if isinstance(value, dict): 2|ffe_fWd7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
283 new_schema[key] = _replace_refs( 2|ffe_fWd7fyhpizh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohge%jMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d'j6d+h-h6h7dhe(f]j|cphqirisiti8dqhdfef;fCjDjuiGj(jrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^gvi_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd)j.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhd*jid,h.h7hjdUd;e_jHbmgwixiyizikdng=d?dmfSjTjAiWj+jogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g/h{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdYjJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bZjac8h%h1hbctdle-jzbyg:h;h=h?hcczg@d[dofLiMi@hPi0jAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g[h}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwd1jQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsc2jtc9h'h2hucxdme/jAbKg]h^h_h`hvcLg]d^dqf1i2i{h5i3jMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g|hah[fegEhWbDcTgA B C D E F G -f,dUgVgAd4jXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLc5jMc!h(h3hNcBdne;jBbWg}h~haibiOcXg_d`dsf*i+ici.i6jYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhdich]ffgFh3bWc5gH I J K L M N .f.d6g7gEd7j4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c8j5c#h)h4h6cFdoe?jCb8geifigihi7c9g{d|duf{i|iiiaj9j!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edhjieh^fggGh!b(c*gO P Q R S T U /f:d+g,gId!j#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c#j;c$h*h5h=cJdpe[jDb-gkilimini?c.g}d~dmjnjoiqj$j/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
284 schema=value,
285 old_name_to_new_name_map=old_name_to_new_name_map,
286 )
287 elif isinstance(value, list): 2|ffe_fWd7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
288 new_value = [] 2|ffe_fWd7fyhpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhtjohgeMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dhe(f|cphqirisiAjBjti8dqhdfefVh;fCjDjEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^gvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgJjlgTd.badKjGb% 'l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidLjMjNj,h.h7hOjPjjdUd;eHbmgwixiyiQjRjzikdng=d?dOhmfSjTjUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g/h{g?fcgChBiIb[bvgm n o p q r s +f(dwgCixgsdJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacEiFiGi8h%h1hHiIibctdlezbyg:h;h=hJiKi?hcczg@d[dPhofLiMiNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgSiJgwdQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcUiViWi9h'h2hXiYiucxdmeAbKg]h^h_hZi0i`hvcLg]d^dQhqf1i2i3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g|hah[fegEh7iWbDcTgA B C D E F G -f,dUg8iVgAdXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBdneBbWg}h~hai(i)ibiOcXg_d`dRhsf*i+i,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhdich]ffgFh:i3bWc5gH I J K L M N .f.d6g;i7gEd4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdoeCb8geifigi_i`ihi7c9g{d|dShuf{i|i}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edhjieh^fggGhcj!b(c*gO P Q R S T U /f:d+gdj,gId#b)cejpb6 tl# 0h4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdpeDb-gkilimikjljni?c.g}d~dThmjnjojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
289 for item in value: 2|ffe_fWd7fyhpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhtjohgeMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dhe(f|cphqirisiAjBjti8dqhdfefVh;fCjDjEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^gvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgJjlgTd.badKjGb% 'l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidLjMjNj,h.h7hOjPjjdUd;eHbmgwixiyiQjRjzikdng=d?dOhmfSjTjUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g/h{g?fcgChBiIb[bvgm n o p q r s +f(dwgCixgsdJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacEiFiGi8h%h1hHiIibctdlezbyg:h;h=hJiKi?hcczg@d[dPhofLiMiNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgSiJgwdQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcUiViWi9h'h2hXiYiucxdmeAbKg]h^h_hZi0i`hvcLg]d^dQhqf1i2i3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g|hah[fegEh7iWbDcTgA B C D E F G -f,dUg8iVgAdXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBdneBbWg}h~hai(i)ibiOcXg_d`dRhsf*i+i,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhdich]ffgFh:i3bWc5gH I J K L M N .f.d6g;i7gEd4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdoeCb8geifigi_i`ihi7c9g{d|dShuf{i|i}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edhjieh^fggGhcj!b(c*gO P Q R S T U /f:d+gdj,gId#b)cejpb6 tl# 0h4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdpeDb-gkilimikjljni?c.g}d~dThmjnjojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
290 if isinstance(item, dict): 2|ffe_fWd7fyhpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhtjohgeMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dhe(f|cphqirisiAjBjti8dqhdfefVh;fCjDjEjFjuiGj%lHjrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^gvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgJjlgTd.badKjGb% 'l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidLjMjNj,h.h7hOjPjjdUd;eHbmgwixiyiQjRjzikdng=d?dOhmfSjTjUjVjAiWj(lXjogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g/h{g?fcgChBiIb[bvgm n o p q r s +f(dwgCixgsdJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacEiFiGi8h%h1hHiIibctdlezbyg:h;h=hJiKi?hcczg@d[dPhofLiMiNiOi@hPimlQiAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgSiJgwdQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcUiViWi9h'h2hXiYiucxdmeAbKg]h^h_hZi0i`hvcLg]d^dQhqf1i2i3i4i{h5iol6iMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g|hah[fegEh7iWbDcTgA B C D E F G -f,dUg8iVgAdXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBdneBbWg}h~hai(i)ibiOcXg_d`dRhsf*i+i,i-ici.iql/iYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhdich]ffgFh:i3bWc5gH I J K L M N .f.d6g;i7gEd4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdoeCb8geifigi_i`ihi7c9g{d|dShuf{i|i}i~iiiajslbj!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edhjieh^fggGhcj!b(c*gO P Q R S T U /f:d+gdj,gId#b)cejpb6 tl# 0h4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdpeDb-gkilimikjljni?c.g}d~dThmjnjojpjoiqjulrj/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
291 new_item = _replace_refs( 2fepisjLdXdtjgeYduj{cub$lNdf Eb)bFbBfCfDf0d*b1d2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dheqirisiAjBjti8ddfef;fEjFjui%lHj)fFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dSdviIj-b~cJjTdadKjGb% 'l/be ^ vb_ qeresecdwbddedtefdgdhdidLjMjNj,h.h7hOjPjjdUdwixiyiQjRjzikd=d?dmfUjVjAi(lXjffueveld:b;bmdndodwexexbyb=b?bpdl Vdqdrd/hBiIb[bCisd]bDi` 2 llKba ' 7 Wh{ ae( yezeAe_b| `b{bBe|b}b~bacEiFiGi8h%h1hHiIibctd:h;h=hJiKi?hcc@d[dofNiOi@hmlQigfCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicvd[hRiPbkcSiwdlcTiab3 nlRbb ) 8 Xhbbbe* GeHeIenccbocpcJeqcrcsctcUiViWi9h'h2hXiYiucxd]h^h_hZi0i`hvc]d^dqf3i4i{hol6ihfKeLewcSbTbxcyczcMeNedbebUbVbAch ydBczd|h7iWbDc8iAdEc9ifb4 plYbc + 9 Yhgbce, OePeQeGchbHcIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBd}h~hai(i)ibiOc_d`dsf,i-iciql/iifSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUcDddi:i3bWc;iEdXc=ikb5 rl5bd - ! Zhlbde. WeXeYeZcmb0c1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdeifigi_i`ihi7c{d|duf}i~iiislbjjf0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%cHdjicj!b(cdjId)cejpb6 tl# 0hqbee/ 4e5e6e+crb,c-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdkilimikjljni?c}d~dojpjoiulrjkf8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c
292 schema=item,
293 old_name_to_new_name_map=old_name_to_new_name_map,
294 )
295 new_value.append(new_item) 2fepisjLdXdtjgeYduj{cub$lNdf Eb)bFbBfCfDf0d*b1d2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dheqirisiAjBjti8ddfef;fEjFjui%lHj)fFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dSdviIj-b~cJjTdadKjGb% 'l/be ^ vb_ qeresecdwbddedtefdgdhdidLjMjNj,h.h7hOjPjjdUdwixiyiQjRjzikd=d?dmfUjVjAi(lXjffueveld:b;bmdndodwexexbyb=b?bpdl Vdqdrd/hBiIb[bCisd]bDi` 2 llKba ' 7 Wh{ ae( yezeAe_b| `b{bBe|b}b~bacEiFiGi8h%h1hHiIibctd:h;h=hJiKi?hcc@d[dofNiOi@hmlQigfCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicvd[hRiPbkcSiwdlcTiab3 nlRbb ) 8 Xhbbbe* GeHeIenccbocpcJeqcrcsctcUiViWi9h'h2hXiYiucxd]h^h_hZi0i`hvc]d^dqf3i4i{hol6ihfKeLewcSbTbxcyczcMeNedbebUbVbAch ydBczd|h7iWbDc8iAdEc9ifb4 plYbc + 9 Yhgbce, OePeQeGchbHcIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBd}h~hai(i)ibiOc_d`dsf,i-iciql/iifSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUcDddi:i3bWc;iEdXc=ikb5 rl5bd - ! Zhlbde. WeXeYeZcmb0c1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdeifigi_i`ihi7c{d|duf}i~iiislbjjf0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%cHdjicj!b(cdjId)cejpb6 tl# 0hqbee/ 4e5e6e+crb,c-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdkilimikjljni?c}d~dojpjoiulrjkf8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c
297 else:
298 new_value.append(item) 2|f_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYd{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d+h-h6h7dhe(f|cph8dqhdfefVh;fCjDjGjrhsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhd,h.h7hjdUd;eHbmgkdng=d?dOhmfSjTjWjogpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNf=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]b` 2 Kba ' Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~b8h%h1hbctdlezbygcczg@d[dPhofLiMiPiAgBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRf[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcab3 Rbb ) Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsc9h'h2hucxdmeAbKgvcLg]d^dQhqf1i2i5iMgNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVf_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcfb4 Ybc + WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLc!h(h3hNcBdneBbWgOcXg_d`dRhsf*i+i.iYgZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZf|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXckb5 5bd - 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c#h)h4h6cFdoeCb8g7c9g{d|dShuf{i|iaj!g#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3faf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cpb6 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c$h*h5h=cJdpeDb-g?c.g}d~dThmjnjqj/g:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
299 new_schema[key] = new_value 2|ffe_fWd7fyhpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhtjohgeMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dvjwjxj+h-h6hyjzj7dhe(f|cphqirisiAjBjti8dqhdfefVh;fCjDjEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^gvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgJjlgTd.badKjGb% 'l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidLjMjNj,h.h7hOjPjjdUd;eHbmgwixiyiQjRjzikdng=d?dOhmfSjTjUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g/h{g?fcgChBiIb[bvgm n o p q r s +f(dwgCixgsdJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacEiFiGi8h%h1hHiIibctdlezbyg:h;h=hJiKi?hcczg@d[dPhofLiMiNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgSiJgwdQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcUiViWi9h'h2hXiYiucxdmeAbKg]h^h_hZi0i`hvcLg]d^dQhqf1i2i3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~g|hah[fegEh7iWbDcTgA B C D E F G -f,dUg8iVgAdXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!i#i$i!h(h3h%i'iNcBdneBbWg}h~hai(i)ibiOcXg_d`dRhsf*i+i,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhdich]ffgFh:i3bWc5gH I J K L M N .f.d6g;i7gEd4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c?i@i[i#h)h4h]i^i6cFdoeCb8geifigi_i`ihi7c9g{d|dShuf{i|i}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edhjieh^fggGhcj!b(c*gO P Q R S T U /f:d+gdj,gId#b)cejpb6 tl# 0h4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;cfjgjhj$h*h5hijjj=cJdpeDb-gkilimikjljni?c.g}d~dThmjnjojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
300 return new_schema 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
303def _remap_definitions_and_field_mappings( 2hg9f!f#f$f%f'f
304 *,
305 model_name_map: ModelNameMap,
306 definitions: Dict[str, Any],
307 field_mapping: Dict[
308 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue
309 ],
310) -> Tuple[
311 Dict[Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue],
312 Dict[str, Any],
313]:
314 old_name_to_new_name_map = {} 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
315 for field_key, schema in field_mapping.items(): 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
316 model = field_key[0].type_ 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
317 if model not in model_name_map or "$ref" not in schema: 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
318 continue 2rd=e@b)l,j/hBiIb[bm n o p q r s (d`jCisdYjJb]bDi` 2 {jll|jKba ' Wh}j~jak^b{ )dae( bk_b| ?e`b@e{bck|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkklk:h;h=hJiKi?hccmkLiMinkNiOi@hPi0jmlQiokpkdcLbMbecfcgc} ~ NbObhcg udicvd[ejc*l.j[hRiPbkct u v w x y z *dqkSiwd1jQblcTiab3 rknlskRbb ) Xhtkukvkmcbb+dbe* wknccb]eoc^epcxkqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkGk]h^h_hZi0i`hvcHk1i2iIk3i4i{h5i3jol6iJkKkwcSbTbxcyczcdbebUbVbAch ydBczd_eCc+l:j|h7iWbDcA B C D E F G ,dLk8iAd4jXbEc9ifb4 MkplNkYbc + YhOkPkQkFcgb-dce, RkGchb`eHc{eIcSkJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0k1k}h~hai(i)ibiOc2k*i+i3k,i-ici.i6jql/i4k5kPcZb0bQcRcScibjb1b2bTci CdUcDd|eVc,l=jdi:i3bWcH I J K L M N .d6k;iEd7j4bXc=ikb5 7krl8k5bd - Zh9k!k#kYclb/dde. $kZcmb}e0c~e1c%k2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k/keifigi_i`ihi7c:k{i|i;k}i~iiiaj9jslbj=k?k8c6b7b9c!c#cnbob8b9b$cj Gd%cHdaf'c-l@jjicj!b(cO P Q R S T U :d@kdjId!j#b)cejpb6 [ktl]k0h^k_k`k*cqb;dee/ {k+crbbf,ccf-c|k.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelflglkilimikjljni?chlmjnjilojpjoiqj$julrjjlkl@c$b%b[c]c^csbtb'b(b_ck Kd`c
319 new_name = model_name_map[model] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
320 old_name = schema["$ref"].split("/")[-1] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
321 if old_name in {f"{new_name}-Input", f"{new_name}-Output"}: 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
322 continue 2{cf Gbe ` a abb fbc kbd pb
323 old_name_to_new_name_map[old_name] = new_name 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUhubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIh% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKh3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLh4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMh5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNh6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
325 new_field_mapping: Dict[ 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
326 Tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue
327 ] = {}
328 for field_key, schema in field_mapping.items(): 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
329 new_schema = _replace_refs( 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
330 schema=schema,
331 old_name_to_new_name_map=old_name_to_new_name_map,
332 )
333 new_field_mapping[field_key] = new_schema 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
335 new_definitions = {} 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
336 for key, value in definitions.items(): 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
337 if key in old_name_to_new_name_map: 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
338 new_key = old_name_to_new_name_map[key] 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUhubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIh% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKh3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLh4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMh5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNh6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
339 else:
340 new_key = key 2{cf +h-h6hGbe ,h.h7h` a 8h%h1habb 9h'h2hfbc !h(h3hkbd #h)h4hpb$h*h5h
341 new_value = _replace_refs( 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
342 schema=value,
343 old_name_to_new_name_map=old_name_to_new_name_map,
344 )
345 new_definitions[new_key] = new_value 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d+h-h6h7dhe(f|cph8dqhdfefVh;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdid,h.h7hjdUd;eHbmgkdng=d?dOhmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bac8h%h1hbctdlezbygcczg@d[dPhofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctc9h'h2hucxdmeAbKgvcLg]d^dQhqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc!h(h3hNcBdneBbWgOcXg_d`dRhsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c#h)h4h6cFdoeCb8g7c9g{d|dShuf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c$h*h5h=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
346 return new_field_mapping, new_definitions 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
349def is_scalar_field(field: ModelField) -> bool: 2hg9f!f#f$f%f'f
350 from fastapi import params 2hgrs~rasYsPtQtiwRtStjwTtkwUtVtlwWtX6Y6Z606162636?K@K[K]KQsFbHwIw3tJwKw4tLwMw$ 96!65t9fbs9r!rEsZs0s6t1s2s7t3s8t4s5s9t6s~KaLbLcLdLeLfL7E8E9E!Exs_ -t.t7s/t:t8s;t=tl lLmL9s!fcs#r$rGs!s#s?t$s%s@t's[t(s)s]t*soLpLqLrLsLtLuL*E+E,E-EWhmsdsssys( dueu+sfugu,shuiug ALBL-s#fes(r)rIs.s/sju:s;sku=slu?s@smu[sDLELFLGLHLILJL[E]E^E_EXhnsfstszs* xuyu]szuAu^sBuCuh PLQL_s$fgs,r-rKs`s{sDu|s}sEu~sFuatbtGuctSLTLULVLWLXLYLcFdFeFfFYhoshsusAs, RuSudtTuUuetVuWui 4L5Lft%fis:r;rMsgthtXuitjtYuktZultmt0unt7L8L9L!L#L$L%LnFoFpFqFZhpsjsvsBs. #u$uot%u'upt(u)uj ,L-Lqt'fks@r[rOsrtst*uttut+uvt,uwtxt-uyt/L:L;L=L?L@L[LyFzFAFBF0hqslswsCs/ _u`uzt{u|uAt}u~uk |L}LBt
352 return shared.field_annotation_is_scalar( 2hgrs~rasYsPtQtiwRtStjwTtkwUtVtlwWtX6Y6Z606162636?K@K[K]KQsFbHwIw3tJwKw4tLwMw$ 96!65t9fbs9r!rEsZs0s6t1s2s7t3s8t4s5s9t6s~KaLbLcLdLeLfL7E8E9E!Exs_ -t.t7s/t:t8s;t=tl lLmL9s!fcs#r$rGs!s#s?t$s%s@t's[t(s)s]t*soLpLqLrLsLtLuL*E+E,E-EWhmsdsssys( dueu+sfugu,shuiug ALBL-s#fes(r)rIs.s/sju:s;sku=slu?s@smu[sDLELFLGLHLILJL[E]E^E_EXhnsfstszs* xuyu]szuAu^sBuCuh PLQL_s$fgs,r-rKs`s{sDu|s}sEu~sFuatbtGuctSLTLULVLWLXLYLcFdFeFfFYhoshsusAs, RuSudtTuUuetVuWui 4L5Lft%fis:r;rMsgthtXuitjtYuktZultmt0unt7L8L9L!L#L$L%LnFoFpFqFZhpsjsvsBs. #u$uot%u'upt(u)uj ,L-Lqt'fks@r[rOsrtst*uttut+uvt,uwtxt-uyt/L:L;L=L?L@L[LyFzFAFBF0hqslswsCs/ _u`uzt{u|uAt}u~uk |L}LBt
353 field.field_info.annotation
354 ) and not isinstance(field.field_info, params.Body)
357def is_sequence_field(field: ModelField) -> bool: 2hg9f!f#f$f%f'f
358 return shared.field_annotation_is_sequence(field.field_info.annotation) 2iTlv?xmv@xrsCt~rasjTxHXskTgwIF,6hwJF-6YsPtQtiwRtStjwTtkwUtVtlwWtmwKF.6nwLF/6lTmT[xnT~LaMoTpTqTrTbMsTzHowcMAHxBMFdMeMfMpwBHqwrwswtwgMtTuTvTwTyBxTCHyTzT:6ATCThMiM]xzBPsABDTDHETBBCBFTDBGTHTjMkMITJTKTlMLTMTNTmMnMOTPToMpMqMQTrMRTSTsMtMTTUTuMVTvMWTwMxMXTYTZTyM0T1T2TzM3T4TAM5TBM6TCM7TDMEM8T9TFMGM!THMIM#TJMKM$TLMMM%TNMOM'TPMQM(T)T*T+T,T-TEH.TFHEB/TRMGHHH:TSM;TTMUMVMWM^xIHJHKHLH=TMH?TNHOH@TXM[T]TYMZM0M_x1M^T_T`T{TPH|TQHFBRHSHaUTHbU2M3McUdU;6Qs`xnvXtYt{xovZt0t1t|xpv2teUfUgUhUiUjUkUlUGBUH4M5MmU}xnU6MoU~xpUHBIBqUrUsUJBtUuUvUKBLBwUxUMBNByUzUOBPBAUVHBUQBCUWHDUEUXHYH7M8M9MayRBSBNFTB!M#MZHFUGUHUbycydyeyfygyhyiyUBIUJU$MOFPFKULU0HMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U1H2H2U3U4U5U6U%M'M7U8U9U!U#U$U%U'U(M(U)U)Mjykylymynyoypyqyrysytyuyvy*UVBWBXB+U,U-U*M.U/Uwyxy+MyyzyAy,MBy:UYBZBuw;U-M3H4H=U5H0B?U@U1B[U6H.M]U^U7H2B/M3B:M8H;M4B9H5B=M!H6Bvw7B#Hww$HxwQFRFSFTF%HywUFVFWFXF?MYFCyDyZF8Bzw'H9BAw_U!B`U#B{U@M[M]M^M_M`M{M|MEyFyGyBwHyIyCwDwEwFwGwJyKyHw}MIw|U=63tJwKw4tLwMwNw(H$B%B'B}U$ 0F1F2F3FLy~M5t~UaVqvMyrvNybsDt9r!rbV)HDscVOw4F@6Pw5F[6EsZs0s6t1s2s7t3s8t4s5s9t6sQw6F]6Rw7F^6dVeVOyfVaNbNgVhViVjVcNkV+HSwdN,H(B8FeNfNgNTw-H!tUwVw#thNlVmVnVoV)BpV.HqVrV_6sVuViNjNPy*BRs+BvV/HwV,B-BxV.ByVzVkNlNAVBVCVmNDVEVFVnNoNGVHVpNqNrNIVsNJVKVtNuNLVMVvNNVwNOVxNyNPVQVRVzNSVTVUVANVVWVBNXVCNYVDNZVENFN0V1VGNHN2VINJN3VKNLN4VMNNN5VONPN6VQNRN7V8V9V!V#V$V:H%V;H/B'VSN=H?H(VTN)VUNVNWNXNQy@H[H]H^H*V_H+V`H{H,VYN-V.VZN0N1Nsv2N/V:V;V=V|H?V}HWw~HaI]VbI^V3N4N_V`V`6xsRytv$t%tSyuv't(t)tTyvv*t{V|V}V~VaWbWcWdW:BcI5N6NeWUyfW7NgWVyhW;B=BiWjWkW?BlWmWnW@B[BoWpW]B^BqWrW_B`BsWdItW{BuWeIvWwWfIgI8N9N!NWy|B}B9F~B#N$NhIxWyWzWwvXyYyZyxv0y1y2yaCAWBW%N!F#FCWDWiIEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWjIkIUWVWWWXWYW'N(NZW0W1W2W3W4W5W6W)N7W8W*Nyv3y4y5yzv6y7y8yAv9y!y#y$y9WbCcCdC!W#W$W+N%W'WBv%y,N'yCv(y-N)y(WeCfCXw)W.NlImI*WnIgC+W,WhC-WoI/N.W/WpIiC:NjC;NqI=NkCrIlC?NsImCYwnCtIZwuI+t$F%F'F(FvI,t)F*F+F,F@N-F*y+y.FoC0wwIpC1w:WqC;WrC=W[N]N^N_N`N{N|N}N,y-y.y2w/y:y3w4w5w6w7w;y=y-t~N.t?W{67s/t:t8s;t=t8wxIsCtCuC@W[Wl /F:F;F=F?yaO9s]W^WDv@yEv[ycsEt#r$r_WyIFs`W9w?F}6!w@F~6Gs!s#s?t$s%s@t's[t(s)s]t*s#w[Fa7$w]Fb7{W|W]y}WbOcO~WaXbXcXdOdXAI%weOBIvC^FfOgOhO'wCI^t(w)w_tiOeXfXgXhXwCiXDIjXkXc7lXnXjOkO^yxCSsyCoXEIpXzCACqXBCrXsXlOmOtXuXvXnOwXxXyXoOpOzXAXqOrOsOBXtOCXDXuOvOEXFXwOGXxOHXyOzOIXJXKXAOLXMXNXBOOXPXCOQXDORXEOSXFOGOTXUXHOIOVXJOKOWXLOMOXXNOOOYXPOQOZXROSO0X1X2X3X4X5XFI6XGICC7XTOHIII8XUO9XVOWOXOYO_yJIKILIMI!XNI#XOIPI$XZO%X'X0O1O2OFv3O%r_r'rmsdsss(X)X*X+XQI,XRI*wSITI/XUI:X4O5O;X=Xd7ys`yGv`t{t{yHv|t}t~t|yIvau?X@X[X]X^X_X`X{XDCVI6O7O|X}y}X8O~X~yaYECFCbYcYdYGCeYfYgYHCIChYiYJCKCjYkYLCMClYWImYNCnYXIoYpYYIZI9O!O#OazOCPC_FQC$O%O0IqYrYsYJvbzczdzKvezfzgzRCtYuY'O`F{FvYwY1IxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMY2I3INYOYPYQYRY(O)OSYTYUYVYWYXYYYZY*O0Y1Y+OLvhzizjzMvkzlzmzNvnzozpzqz2YSCTCUC3Y4Y5Y,O6Y7YOvrz-OszPvtz.Ouz8YVCWC+w9Y/O4I5I!Y6IXC#Y$YYC%Y7I:O'Y(Y8IZC;O0C=O9I?O1C!I2C@O#I3C,w4C$I-w%Ibu|F}F~FaG'IcubGcGdGeG[OfGvzwzgG5C.w(I6C/w)Y7C*Y8C+Y]O^O_O`O{O|O}O~Oxzyzzz:wAzBz;w=w?w@w[wCzDzduaPeu,Ye7+sfugu,shuiu]w)I9C!C#C-Y.Yg hGiGjGkGEzbP-s/Y:YQvFzRvGzesFt(r)r;Y*IHs=Y^wlGg7_wmGh7Is.s/sju:s;sku=slu?s@smu[s`wnGi7{woGj7?Y@YHz[YcPdP]Y^Y_Y`YeP{Y,I|wfP-I$CpGgPhPiP}w.Inu~waxoujP|Y}Y~YaZ%CbZ/IcZdZk7eZgZkPlPIz'CTs(ChZ:IiZ)C*CjZ+CkZlZmPnPmZnZoZoPpZqZrZpPqPsZtZrPsPtPuZuPvZwZvPwPxZyZxPzZyPAZzPAPBZCZDZBPEZFZGZCPHZIZDPJZEPKZFPLZGPHPMZNZIPJPOZKPLPPZMPNPQZOPPPRZQPRPSZSPTPTZUZVZWZXZYZ;IZZ=I,C0ZUP?I@I1ZVP2ZWPXPYPZPJz[I]I^I_I3Z`I4Z{I|I5Z0P6Z7Z1P2P3PSv4P*r`r+rnsfsts8Z9Z!Z#Z}I$Z~IbxaJbJ(ZcJ)Z5P6P*Z+Zl7zsKzTvpuquLzUvrusutuMzVvuu,Z-Z.Z/Z:Z;Z=Z?Z-CdJ7P8P@ZNz[Z9P]ZOz^Z.C/C_Z`Z{Z:C|Z}Z~Z;C=Ca0b0?C@Cc0d0[C]Ce0eJf0^Cg0fJh0i0gJhJ!P#P$PPz_C`CqG{C%P'PiJj0k0l0WvQzRzSzXvTzUzVz|Cm0n0(PrGsGo0p0jJq0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0kJlJG0H0I0J0K0)P*PL0M0N0O0P0Q0R0S0+PT0U0,PYvWzXzYzZvZz0z1z0v2z3z4z5zV0}C~CaDW0X0Y0-PZ0001v6z.P7z2v8z/P9z10bDcDcx20:PmJnJ30oJdD4050eD60pJ;P7080qJfD=PgD?PrJ@PhDsJiD[PtJjDdxkDuJexvJvutGuGvGwGwJwuxGyGzGAG]PBG!z#zCGlDfxxJmDgx90nD!0oD#0^P_P`P{P|P}P~PaQ$z%z'zhx(z)zixjxkxlxmx*z+zxubQyu$0m7]szuAu^sBuCunxyJpDqDrD%0'0h DGEGFGGG,zcQ_s(0)03v-z4v.zgsGt,r-r*0zJJs+0oxHGo7pxIGp7Ks`s{sDu|s}sEu~sFuatbtGuctqxJGq7rxKGr7,0-0/z.0dQeQ/0:0;0=0fQ?0BJsxgQCJsDLGhQiQjQtxDJHuuxvxIukQ@0[0]0^0tD_0EJ`0{0s7|0~0lQmQ:zuDUsvDa1FJb1wDxDc1yDd1e1nQoQf1g1h1pQi1j1k1qQrQl1m1sQtQuQn1vQo1p1wQxQq1r1yQs1zQt1AQBQu1v1w1CQx1y1z1DQA1B1EQC1FQD1GQE1HQIQF1G1JQKQH1LQMQI1NQOQJ1PQQQK1RQSQL1TQUQM1N1O1P1Q1R1GJS1HJzDT1VQIJJJU1WQV1XQYQZQ0Q;zKJLJMJNJW1OJX1PJQJY11QZ1012Q3Q4Q5v5Q.r{r/roshsus11213141RJ51SJwxTJUJ81VJ916Q7Q!1#1t7As=z6vJuKu?z7vLuMuNu@z8vOu$1%1'1(1)1*1+1,1ADWJ8Q9Q-1[z.1!Q/1]z:1BDCD;1=1?1DD@1[1]1EDFD^1_1GDHD`1{1IDJD|1XJ}1KD~1YJa2b2ZJ0J#Q$Q%Q^zLDMDMGND'Q(Q1Jc2d2e29v_z`z{z!v|z}z~zODf2g2)QNGOGh2i22Jj2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y23J4Jz2A2B2C2D2*Q+QE2F2G2H2I2J2K2L2,QM2N2-Q#vaAbAcA$vdAeAfA%vgAhAiAjAO2PDQDRDP2Q2R2.QS2T2'vkA/QlA(vmA:QnAU2SDTDxxV2;Q5J6JW27JUDX2Y2VDZ28J=Q02129JWD?QXD@Q!J[QYD#JZD]Q$J0Dyx1D%Jzx'JPuPGQGRGSG(JQuTGUGVGWG^QXGoApAYG2DAx)J3DBx224D325D42_Q`Q{Q|Q}Q~QaRbRqArAsACxtAuADxExFxGxHxvAwARucRSu52u7dtTuUuetVuWuIx*J6D7D8D6272i ZG0G1G2GxAdRft8292)vyA*vzAisHt:r;r!2+JLs#2Jx3Gw7Kx4Gx7MsgthtXuitjtYuktZultmt0untLx5Gy7Mx6Gz7$2%2AA'2eRfR(2)2*2+2gR,2-JNxhR.J9D7GiRjRkROx/J1uPxQx2ulR-2.2/2:2!D;2:J=2?2A7@2]2mRnRBA#DVs$D^2;J_2%D'D`2(D{2|2oRpR}2~2a3qRb3c3d3rRsRe3f3tRuRvRg3wRh3i3xRyRj3k3zRl3ARm3BRCRn3o3p3DRq3r3s3ERt3u3FRv3GRw3HRx3IRJRy3z3KRLRA3MRNRB3ORPRC3QRRRD3SRTRE3URVRF3G3H3I3J3K3=JL3?J)DM3WR@J[JN3XRO3YRZR0R1RCA]J^J_J`JP3{JQ3|J}JR32RS3T33R4R5R+v6R=r|r?rpsjsvsU3V3W3X3~JY3aKRxbKcK13dK237R8R3343B7BsDA,v3u4uEA-v5u6u7uFA.v8u5363738393!3#3$3*DeK9R!R%3GA'3#R(3HA)3+D,D*3+3,3-D-3.3/3.D/D:3;3:D;D=3?3=D?D@3fK[3@D]3gK^3_3hKiK$R%R'RIA[D]D8G^D(R)RjK`3{3|3/vJAKALA:vMANAOA_D}3~3*R9G!Ga4b4kKc4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4lKmKs4t4u4v4w4+R,Rx4y4z4A4B4C4D4E4-RF4G4.R;vPAQARA=vSATAUA?vVAWAXAYAH4`D{D|DI4J4K4/RL4M4@vZA:R0A[v1A;R2AN4}D~DSxO4=RnKoKP4pKaEQ4R4bES4qK?RT4U4rKcE@RdE[RsK]ReEtKfE^RuKgETxhEvKUxwK9u#G$G%G'GxK!u(G)G*G+G_R,G3A4A-GiEVxyKjEWxV4kEW4lEX4`R{R|R}R~RaSbScS5A6A7AXx8A9AYxZx0x1x2x!A#A#udS$uY4C7ot%u'upt(u)u3xzKmEnEoEZ404j .G/G:G;G$AeSqt1424]v%A^v'AksIt@r[r34AKNs444x=GE75x?GF7Osrtst*uttut+uvt,uwtxt-uyt6x@GG77x[GH75464(A74fSgS8494!4#4hS$4CK8xiSDKpE]GjSkSlS9xEK.u!x#x/umS%4'4(4)4qE*4FK+4,4I7-4/4nSoS)ArEWssE:4GK;4tEuE=4vE?4@4pSqS[4]4^4rS_4`4{4sStS|4}4uSvSwS~4xSa5b5ySzSc5d5ASe5BSf5CSDSg5h5i5ESj5k5l5FSm5n5GSo5HSp5ISq5JSKSr5s5LSMSt5NSOSu5PSQSv5RSSSw5TSUSx5VSWSy5z5A5B5C5D5HKE5IKwEF5XSJKKKG5YSH5ZS0S1S2S*ALKMKNKOKI5PKJ5QKRKK53SL5M54S5S6S_v7S]r}r^rqslswsN5O5P5Q5SKR5TK$xUKVKU5WKV58S9SW5X5J7Cs+A`v:u;u,A{v=u?u@u-A|v[uY5Z5051525354555xEXK!S#S65.A75$S85/A95yEzE!5#5$5AE%5'5(5BECE)5*5DEEE+5,5FEGE-5YK.5HE/5ZK:5;50K1K%S'S(S:AIEJE^GKE)S*S2K=5?5@5}v;A=A?A~v@A[A]ALE[5]5+S_G`G^5_53K`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k64K5Kl6m6n6o6p6,S-Sq6r6s6t6u6v6w6x6.Sy6z6/Saw^A_A`Abw{A|A}Acw~AaBbBcBA6MENEOEB6C6D6:SE6F6dwdB;SeBewfB=SgBG6PEQE%xH6?S6K7KI68KREJ6K6SEL69K@SM6N6!KTE[SUE]S#K^SVE$KWE_S%KXE'xYE'K(x(K]u{G|G}G~G)K^uaHbHcHdH`SeHhBiBfHZE)x*K0E*xO61EP62EQ6{S|S}S~SaTbTcTdTjBkBlB+xmBnB,x-x.x/x:xoBpB_ueT`uR6K7zt{u|uAt}u~u;x+K3E4E5ES6T6k gHhHiHjHqBfTBtU6
361def is_scalar_sequence_field(field: ModelField) -> bool: 2hg9f!f#f$f%f'f
362 return shared.field_annotation_is_scalar_sequence(field.field_info.annotation) 2hg?K@K[K]K9f7E8E9E!E!f*E+E,E-E#f[E]E^E_E$fcFdFeFfF%fnFoFpFqF'fyFzFAFBF
365def is_bytes_field(field: ModelField) -> bool: 2hg9f!f#f$f%f'f
366 return shared.is_bytes_or_nonable_bytes_annotation(field.type_) 2xHXszHowxBPsAB2B/M3B:M8H;M4B9H5B=M!H6Bvw7B#Hww$H8Bzw'H9BAw)HDs+HSw(BRs+BiC:NjC;NqI=NkCrIlC?NsImCYwnCtIZwuIoC0wwIpC1wyIFsAI%wvCSsyCZC;O0C=O9I?O1C!I2C@O#I3C,w4C$I-w%I5C.w(I6C/w*IHs,I|w$CTs(CfD=PgD?PrJ@PhDsJiD[PtJjDdxkDuJexvJlDfxxJmDgxzJJsBJsxsDUsvDWD?QXD@Q!J[QYD#JZD]Q$J0Dyx1D%Jzx'J2DAx)J3DBx+JLs-JNx9DVs$DcE@RdE[RsK]ReEtKfE^RuKgETxhEvKUxwKiEVxyKjEWxAKNsCK8xpEWssETE[SUE]S#K^SVE$KWE_S%KXE'xYE'K(x(KZE)x*K0E*x
369def is_bytes_sequence_field(field: ModelField) -> bool: 2hg9f!f#f$f%f'f
370 return shared.is_bytes_sequence_annotation(field.type_) 2xHXszHowxBMFdMeMfMpwBHqwrwswtwgMPsAB`xnvXtYt{xovZt0t1t|xpv2tUH4M2B3B8H4B9H5B!H6Bvw7B#Hww$HxwQFRFSFTF%HywUFVFWFXF?MYFCyDyZF8Bzw'H9BAwEyFyGyBwHyIyCwDwEwFwGw0F1F2F3F)HDs+HSw(B8FeNfNgNTw-H!tUwVw#thNRs+BRytv$t%tSyuv't(t)tTyvv*tcI5NiCjCqIkCrIlCsImCYwnCtIZwuI+t$F%F'F(FvI,t)F*F+F,F@N-F*y+y.FoC0wwIpC1w,y-y.y2w/y:y3w4w5w6w7w/F:F;F=FyIFsAI%wvC^FfOgOhO'wCI^t(w)w_tiOSsyC%r_r'r`yGv`t{t{yHv|t}t~t|yIvauVI6OZC0C9I1C!I2C#I3C,w4C$I-w%Ibu|F}F~FaG'IcubGcGdGeG[OfGvzwzgG5C.w(I6C/wxzyzzz:wAzBz;w=w?w@w[whGiGjGkG*IHs,I|w$CpGgPhPiP}w.Inu~waxoujPTs(C*r`r+rKzTvpuquLzUvrusutuMzVvuudJ7PfDgDrJhDsJiDtJjDdxkDuJexvJvutGuGvGwGwJwuxGyGzGAG]PBG!z#zCGlDfxxJmDgx$z%z'zhx(z)zixjxkxlxmxDGEGFGGGzJJsBJsxsDLGhQiQjQtxDJHuuxvxIukQUsvD.r{r/r=z6vJuKu?z7vLuMuNu@z8vOuWJ8QWDXD!JYD#JZD$J0Dyx1D%Jzx'JPuPGQGRGSG(JQuTGUGVGWG^QXGoApAYG2DAx)J3DBxqArAsACxtAuADxExFxGxHxZG0G1G2G+JLs-JNx9D7GiRjRkROx/J1uPxQx2ulRVs$D=r|r?rDA,v3u4uEA-v5u6u7uFA.v8ueK9RcEdEsKeEtKfEuKgETxhEvKUxwK9u#G$G%G'GxK!u(G)G*G+G_R,G3A4A-GiEVxyKjEWx5A6A7AXx8A9AYxZx0x1x2x.G/G:G;GAKNsCK8xpE]GjSkSlS9xEK.u!x#x/umSWssE]r}r^r+A`v:u;u,A{v=u?u@u-A|v[uXK!STEUE#KVE$KWE%KXE'xYE'K(x(K]u{G|G}G~G)K^uaHbHcHdH`SeHhBiBfHZE)x*K0E*xjBkBlB+xmBnB,x-x.x/x:xgHhHiHjH
373def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 2hg9f!f#f$f%f'f
374 cls = type(field_info) 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
375 merged_field_info = cls.from_annotation(annotation) 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
376 new_field_info = copy(field_info) 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
377 new_field_info.metadata = merged_field_info.metadata 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
378 new_field_info.annotation = merged_field_info.annotation 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
379 return new_field_info 2hgrs#6~ras9fbs$69r!r!fcs%6#r$r%r7 _r'rWhmsdsss#fes'6(r)r*r8 `r+rXhnsfsts$fgs(6,r-r.r9 {r/rYhoshsus%fis)6:r;r=r! |r?rZhpsjsvs'fks*6@r[r]r# }r^r0hqslsws
382def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 2hg9f!f#f$f%f'f
383 origin_type = get_origin(field.field_info.annotation) or field.field_info.annotation 2fw=xowPsvwwwJtavSwRsYwZwKtbvcv%wSs,w-wLtdvev|wTsdxexMtfvgvsxUsyxzxNthvivNxVsTxUxOtjvkv8xWs'x(x
384 if origin_type is Union or origin_type is UnionType: # Handle optional sequences 2fw=xowPsvwwwJtavSwRsYwZwKtbvcv%wSs,w-wLtdvev|wTsdxexMtfvgvsxUsyxzxNthvivNxVsTxUxOtjvkv8xWs'x(x
385 union_args = get_args(field.field_info.annotation) 2fw=xPsJtavRsKtbvcvSsLtdvevTsMtfvgvUsNthvivVsOtjvkvWs
386 for union_arg in union_args: 2fw=xPsJtavRsKtbvcvSsLtdvevTsMtfvgvUsNthvivVsOtjvkvWs
387 if union_arg is type(None): 2fw=xPsJtavRsKtbvcvSsLtdvevTsMtfvgvUsNthvivVsOtjvkvWs
388 continue 2fwJtKtLtMtNtOt
389 origin_type = get_origin(union_arg) or union_arg 2fw=xPsJtavRsKtbvcvSsLtdvevTsMtfvgvUsNthvivVsOtjvkvWs
390 break 2fw=xPsJtavRsKtbvcvSsLtdvevTsMtfvgvUsNthvivVsOtjvkvWs
391 assert issubclass(origin_type, shared.sequence_types) # type: ignore[arg-type] 2fw=xowPsvwwwJtavSwRsYwZwKtbvcv%wSs,w-wLtdvev|wTsdxexMtfvgvsxUsyxzxNthvivNxVsTxUxOtjvkv8xWs'x(x
392 return shared.sequence_annotation_to_type[origin_type](value) # type: ignore[no-any-return] 2fw=xowPsvwwwJtavSwRsYwZwKtbvcv%wSs,w-wLtdvev|wTsdxexMtfvgvsxUsyxzxNthvivNxVsTxUxOtjvkv8xWs'x(x
395def get_missing_field_error(loc: Tuple[str, ...]) -> Dict[str, Any]: 2hg9f!f#f$f%f'f
396 error = ValidationError.from_exception_data( 2CtF/yHgwhwPtQtRtStTtUtVtWtmwnw[xEHFHGHIHJHNHOH}T~TSHTHXtYtZt0t1t2tJBKBLBMBNBOBPBVHQBWHXHL7NFTB0H1H2HYBuw2B3B6B7BYFCyDyZF8Bzw9BAw5tDtG/*HOwPwZs0s1s2s3s4s5s6sQwRwOy:H;H=H@H[H`H{H@V[VaIbI$t%t't(t)t*t?B@B[B]B^B_B`BdI{BeIfIM79F~BiIjIkIeCXwiCjCmCnC-F*y+y.FoC0wpC1w9sEtH/zI9w!w!s#s$s%s's(s)s*s#w$w]yFIGIHIJIKIOIPI-X.XTIUI`t{t|t}t~tauGCHCICJCKCLCMCWINCXIYIN7_FQC1I2I3IVC+wZC0C3C4CfGvzwzgG5C.w6C/w-sFtI/+I^w_w.s/s:s;s=s?s@s[s`w{wHz;I=I?I[I]I{I|I%Z'ZbJcJpuqurusutuuu:C;C=C?C@C[C]CeJ^CfJgJO7qG{CjJkJlJbDcxfDgDjDkDBG!z#zCGlDfxmDgx_sGtJ/AJoxpx`s{s|s}s~satbtctqxrx/zGJHJIJKJLJPJQJ6171UJVJJuKuLuMuNuOuDDEDFDGDHDIDJDXJKDYJZJP7MGND2J3J4JSDxxWDXD0D1DXGoApAYG2DAx3DBxftHtK/,JJxKxgthtitjtktltmtntLxMxAA=J?J@J]J^J|J}JZ303cKdK3u4u5u6u7u8u-D.D/D:D;D=D?DfK@DgKhKQ78G^DkKlKmK}DSxcEdEgEhE,G3A4A-GiEVxjEWxqtItBK4x5xrtstttutvtwtxtyt6x7x(AHKIKJKLKMKQKRKS5T5VKWK:u;u=u?u@u[uAEBECEDEEEFEGEYKHEZK0KR7^GKE3K4K5KPE%xTEUEXEYEeHhBiBfHZE)x0E*xBt
397 "Field required", [{"type": "missing", "loc": loc, "input": {}}]
398 ).errors(include_url=False)[0]
399 error["input"] = None 2CtF/yHgwhwPtQtRtStTtUtVtWtmwnw[xEHFHGHIHJHNHOH}T~TSHTHXtYtZt0t1t2tJBKBLBMBNBOBPBVHQBWHXHL7NFTB0H1H2HYBuw2B3B6B7BYFCyDyZF8Bzw9BAw5tDtG/*HOwPwZs0s1s2s3s4s5s6sQwRwOy:H;H=H@H[H`H{H@V[VaIbI$t%t't(t)t*t?B@B[B]B^B_B`BdI{BeIfIM79F~BiIjIkIeCXwiCjCmCnC-F*y+y.FoC0wpC1w9sEtH/zI9w!w!s#s$s%s's(s)s*s#w$w]yFIGIHIJIKIOIPI-X.XTIUI`t{t|t}t~tauGCHCICJCKCLCMCWINCXIYIN7_FQC1I2I3IVC+wZC0C3C4CfGvzwzgG5C.w6C/w-sFtI/+I^w_w.s/s:s;s=s?s@s[s`w{wHz;I=I?I[I]I{I|I%Z'ZbJcJpuqurusutuuu:C;C=C?C@C[C]CeJ^CfJgJO7qG{CjJkJlJbDcxfDgDjDkDBG!z#zCGlDfxmDgx_sGtJ/AJoxpx`s{s|s}s~satbtctqxrx/zGJHJIJKJLJPJQJ6171UJVJJuKuLuMuNuOuDDEDFDGDHDIDJDXJKDYJZJP7MGND2J3J4JSDxxWDXD0D1DXGoApAYG2DAx3DBxftHtK/,JJxKxgthtitjtktltmtntLxMxAA=J?J@J]J^J|J}JZ303cKdK3u4u5u6u7u8u-D.D/D:D;D=D?DfK@DgKhKQ78G^DkKlKmK}DSxcEdEgEhE,G3A4A-GiEVxjEWxqtItBK4x5xrtstttutvtwtxtyt6x7x(AHKIKJKLKMKQKRKS5T5VKWK:u;u=u?u@u[uAEBECEDEEEFEGEYKHEZK0KR7^GKE3K4K5KPE%xTEUEXEYEeHhBiBfHZE)x0E*xBt
400 return error # type: ignore[return-value] 2CtF/yHgwhwPtQtRtStTtUtVtWtmwnw[xEHFHGHIHJHNHOH}T~TSHTHXtYtZt0t1t2tJBKBLBMBNBOBPBVHQBWHXHL7NFTB0H1H2HYBuw2B3B6B7BYFCyDyZF8Bzw9BAw5tDtG/*HOwPwZs0s1s2s3s4s5s6sQwRwOy:H;H=H@H[H`H{H@V[VaIbI$t%t't(t)t*t?B@B[B]B^B_B`BdI{BeIfIM79F~BiIjIkIeCXwiCjCmCnC-F*y+y.FoC0wpC1w9sEtH/zI9w!w!s#s$s%s's(s)s*s#w$w]yFIGIHIJIKIOIPI-X.XTIUI`t{t|t}t~tauGCHCICJCKCLCMCWINCXIYIN7_FQC1I2I3IVC+wZC0C3C4CfGvzwzgG5C.w6C/w-sFtI/+I^w_w.s/s:s;s=s?s@s[s`w{wHz;I=I?I[I]I{I|I%Z'ZbJcJpuqurusutuuu:C;C=C?C@C[C]CeJ^CfJgJO7qG{CjJkJlJbDcxfDgDjDkDBG!z#zCGlDfxmDgx_sGtJ/AJoxpx`s{s|s}s~satbtctqxrx/zGJHJIJKJLJPJQJ6171UJVJJuKuLuMuNuOuDDEDFDGDHDIDJDXJKDYJZJP7MGND2J3J4JSDxxWDXD0D1DXGoApAYG2DAx3DBxftHtK/,JJxKxgthtitjtktltmtntLxMxAA=J?J@J]J^J|J}JZ303cKdK3u4u5u6u7u8u-D.D/D:D;D=D?DfK@DgKhKQ78G^DkKlKmK}DSxcEdEgEhE,G3A4A-GiEVxjEWxqtItBK4x5xrtstttutvtwtxtyt6x7x(AHKIKJKLKMKQKRKS5T5VKWK:u;u=u?u@u[uAEBECEDEEEFEGEYKHEZK0KR7^GKE3K4K5KPE%xTEUEXEYEeHhBiBfHZE)x0E*xBt
403def create_body_model( 2hg9f!f#f$f%f'f
404 *, fields: Sequence[ModelField], model_name: str
405) -> Type[BaseModel]:
406 field_params = {f.name: (f.field_info.annotation, f.field_info) for f in fields} 2hgXs: ; = ? @ [ ] kH9fDsV W X Y Z 0 1 rB!fFsm n o p q r s sB%r7 _r'r#fHst u v w x y z tB*r8 `r+r$fJsA B C D E F G uB.r9 {r/r%fLsH I J K L M N vB=r! |r?r'fNsO P Q R S T U wB]r# }r^r
407 BodyModel: Type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] 2hgXs: ; = ? @ [ ] kH9fDsV W X Y Z 0 1 rB!fFsm n o p q r s sB%r7 _r'r#fHst u v w x y z tB*r8 `r+r$fJsA B C D E F G uB.r9 {r/r%fLsH I J K L M N vB=r! |r?r'fNsO P Q R S T U wB]r# }r^r
408 return BodyModel 2hgXs: ; = ? @ [ ] kH9fDsV W X Y Z 0 1 rB!fFsm n o p q r s sB%r7 _r'r#fHst u v w x y z tB*r8 `r+r$fJsA B C D E F G uB.r9 {r/r%fLsH I J K L M N vB=r! |r?r'fNsO P Q R S T U wB]r# }r^r
411def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: 2hg9f!f#f$f%f'f
412 return [ 2|ffe_fWd7fyhzh]gfhHhLdXdqwtwmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb_x}fFBZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6dbyfy7dhe(f|cphjynyry8dqhdfef;fwyzyrh)fsh~fagthxwuhywvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~c!t#tjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ svKfWwbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidwvxvjdUd;eHbmgyvzvAvkdng=d?dmfBvCvogffpgLfMfqg+trg,tsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[b^t_tvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' Fv7 Of*w^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacJvKvbctdlezbygLvMvNvcczg@d[dofOvPvAggfBgPfQfCgbuDgcuEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcnuouHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) Sv8 Sfbxmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcWvXvucxdmeAbKgYvZv0vvcLg]d^dqf1v2vMghfNgTfUfOgvuPgwuQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcHuIuTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 5v9 WfwxFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMc9v!vNcBdneBbWg#v$v%vOcXg_d`dsf'v(vYgifZgXfYf0gPu1gQu2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc1u2u5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - +v! 0fRxYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c/v:v6cFdoeCb8g;v=v?v7c9g{d|duf@v[v!gjf#g1f2f$g9u%g!u'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c.u/u*gO P Q R S T U /f:d+g,gId#b)cNhpb6 _v# 4f$x*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c}v~v=cJdpeDb-gawbwcw?c.g}d~ddwew/gkf:g5f6f;g]u=g^u?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
413 ModelField(field_info=field_info, name=name)
414 for name, field_info in model.model_fields.items()
415 ]
418# Duplicate of several schema functions from Pydantic v1 to make them compatible with
419# Pydantic v2 and allow mixing the models
421TypeModelOrEnum = Union[Type["BaseModel"], Type[Enum]] 2hg9f!f#f$f%f'f
422TypeModelSet = Set[TypeModelOrEnum] 2hg9f!f#f$f%f'f
425def normalize_name(name: str) -> str: 2hg9f!f#f$f%f'f
426 return re.sub(r"[^a-zA-Z0-9.\-_]", "_", name) 2|ffe_fWd7fyh:lzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cub;l=lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh?l;f@lrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g[l_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% ]l^l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOh_lmf`logffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{l{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 |l}lKba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPh~lofamAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|gbm}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 cmdmRbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhemqffmMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~ggmah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 hmimYbc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhjmsfkmYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhlmch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 mmnm5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShomufpm!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
429def get_model_name_map(unique_models: TypeModelSet) -> Dict[TypeModelOrEnum, str]: 2hg9f!f#f$f%f'f
430 name_model_map = {} 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
431 conflicting_names: Set[str] = set() 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
432 for model in unique_models: 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
433 model_name = normalize_name(model.__name__) 2|ffe_fWd7fyh:lzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cub;l=lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh?l;f@lrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g[l_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% ]l^l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOh_lmf`logffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{l{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 |l}lKba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPh~lofamAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|gbm}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 cmdmRbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhemqffmMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~ggmah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 hmimYbc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhjmsfkmYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhlmch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 mmnm5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShomufpm!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
434 if model_name in conflicting_names: 2|ffe_fWd7fyh:lzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cub;l=lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh?l;f@lrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g[l_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% ]l^l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOh_lmf`logffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{l{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 |l}lKba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPh~lofamAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|gbm}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 cmdmRbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhemqffmMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~ggmah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 hmimYbc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhjmsfkmYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhlmch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 mmnm5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShomufpm!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
435 model_name = get_long_model_name(model) 1feabcd
436 name_model_map[model_name] = model 1feabcd
437 elif model_name in name_model_map: 2|ffe_fWd7fyh:lzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cub;l=lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh?l;f@lrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g[l_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% ]l^l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOh_lmf`logffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{l{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 |l}lKba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPh~lofamAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|gbm}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 cmdmRbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhemqffmMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~ggmah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 hmimYbc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhjmsfkmYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhlmch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 mmnm5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShomufpm!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
438 conflicting_names.add(model_name) 1feabcd
439 conflicting_model = name_model_map.pop(model_name) 1feabcd
440 name_model_map[get_long_model_name(conflicting_model)] = conflicting_model 1feabcd
441 name_model_map[get_long_model_name(model)] = model 1feabcd
442 else:
443 name_model_map[model_name] = model 2|ffe_fWd7fyh:lzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cub;l=lNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfefVh?l;f@lrh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g[l_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% ]l^l/be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dOh_lmf`logffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{l{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 |l}lKba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dPh~lofamAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|gbm}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 cmdmRbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dQhemqffmMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~ggmah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 hmimYbc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dRhjmsfkmYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhlmch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 mmnm5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|dShomufpm!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~dTh/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
444 return {v: k for k, v in name_model_map.items()} 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
447def get_flat_models_from_model( 2hg9f!f#f$f%f'f
448 model: Type["BaseModel"], known_models: Union[TypeModelSet, None] = None
449) -> TypeModelSet:
450 known_models = known_models or set() 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
451 fields = get_model_fields(model) 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
452 get_flat_models_from_fields(fields, known_models=known_models) 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
453 return known_models 2|ffe_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohgeMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d4d5d6d7dhe(f|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglgTd.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdgdhdidjdUd;eHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgsdJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b}b~bacbctdlezbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgwdQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcrcsctcucxdmeAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgAdXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcKcLcMcNcBdneBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7gEd4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c3c4c5c6cFdoeCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,gId#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c/c:c;c=cJdpeDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
456def get_flat_models_from_annotation( 2hg9f!f#f$f%f'f
457 annotation: Any, known_models: TypeModelSet
458) -> TypeModelSet:
459 origin = get_origin(annotation) 2|ffe_fWd.l7fyhvlpizh]gfhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYduj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNl;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[feg7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEc9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2ksf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffg:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXc=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
460 if origin is not None: 2|ffe_fWd.l7fyhvlpizh]gfhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYduj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNl;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[feg7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEc9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2ksf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffg:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXc=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
461 for arg in get_args(annotation): 2|ffeWd7fpi]gsjLdXd: ; = ? @ [ ] tjge%jMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbBfCfDf0d*b1d2dEf3d4d5d'j6dvjwjxj6hyjzj7dhe(f]j|cqirisiAjBjti8ddfef;fCjDjEjFjuiGj%lHj)f~fagFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dJfSd}c$e^jvi=fIj-b~cV W X Y Z 0 1 JjTd)j.badKjGb% 'l/be ^ Kfbd%elfvbke_ qeresecdwbddedtefdgdhd*jidLjMjNj7hOjPjjdUd;e_jHbwixiyiQjRjzikd=d?dmfSjTjUjVjAiWj(lXjffLfMfueveld:b;bmdndodwexexbyb=b?bpdl VdqdNfrd@b'e,j/h?fBiIb[bm n o p q r s CisdYjJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( yezeAe_b| `b{bBe|b}b~bZjacEiFiGi1hHiIibctdle-jzb:h;h=hJiKi?hcc@d[dofLiMiNiOi@hPimlQigfPfQfCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicRfvdjc)e.j[h@fRiPbkct u v w x y z Siwd1jQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* GeHeIenccbocpcJeqcrcsc2jtcUiViWi2hXiYiucxdme/jAb]h^h_hZi0i`hvc]d^dqf1i2i3i4i{h5iol6ihfTfUfKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcVfzdCc+e:j|h[f7iWbDcA B C D E F G 8iAd4jXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, OePeQeGchbHcIcReJcKcLc5jMc!i#i$i3h%i'iNcBdne;jBb}h~hai(i)ibiOc_d`dsf*i+i,i-ici.iql/iifXfYfSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUcZfDdVc-e=jdi]f:i3bWcH I J K L M N ;iEd7j4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. WeXeYeZcmb0c1cZe2c3c4c8j5c?i@i[i4h]i^i6cFdoe?jCbeifigi_i`ihi7c{d|duf{i|i}i~iiiajslbjjf1f2f0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c3fHd'c/e@jji^fcj!b(cO P Q R S T U djId!j#b)cejpb6 tl# 0h4f*c:evfqb;dee/ 4e5e6e+crb,c-c7e.c/c:c#j;cfjgjhj5hijjj=cJdpe[jDbkilimikjljni?c}d~dmjnjojpjoiqjulrjkf5f6f8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c
462 if lenient_issubclass(arg, (BaseModel, Enum)) and arg not in known_models: 2|ffeWd7fpi]gsjLdXd: ; = ? @ [ ] tjge%jMdYduj{cub$lNdf Eb}fZd8f:f)bxfFbBfCfDf0d*b1d2dEf3d4d5d'j6dvjwjxj6hyjzj7dhe(f]j|cqirisiAjBjti8ddfef;fCjDjEjFjuiGj%lHj)f~fagFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dJfSd}c$e^jvi=fIj-b~cV W X Y Z 0 1 JjTd)j.badKjGb% 'l/be ^ Kfbd%elfvbke_ qeresecdwbddedtefdgdhd*jidLjMjNj7hOjPjjdUd;e_jHbwixiyiQjRjzikd=d?dmfSjTjUjVjAiWj(lXjffLfMfueveld:b;bmdndodwexexbyb=b?bpdl VdqdNfrd@b'e,j/h?fBiIb[bm n o p q r s CisdYjJb]bDi` 2 llKba ' 7 WhOf^b(enf{ )dae( yezeAe_b| `b{bBe|b}b~bZjacEiFiGi1hHiIibctdle-jzb:h;h=hJiKi?hcc@d[dofLiMiNiOi@hPimlQigfPfQfCeDedcLbMbecfcgcEeFe} ~ NbObhcg udicRfvdjc)e.j[h@fRiPbkct u v w x y z Siwd1jQblcTiab3 nlRbb ) 8 XhSfmc*epfbb+dbe* GeHeIenccbocpcJeqcrcsc2jtcUiViWi2hXiYiucxdme/jAb]h^h_hZi0i`hvc]d^dqf1i2i3i4i{h5iol6ihfTfUfKeLewcSbTbxcyczcMeNedbebUbVbAch ydBcVfzdCc+e:j|h[f7iWbDcA B C D E F G 8iAd4jXbEc9ifb4 plYbc + 9 YhWfFc,erfgb-dce, OePeQeGchbHcIcReJcKcLc5jMc!i#i$i3h%i'iNcBdne;jBb}h~hai(i)ibiOc_d`dsf*i+i,i-ici.iql/iifXfYfSeTePcZb0bQcRcScUeVeibjb1b2bTci CdUcZfDdVc-e=jdi]f:i3bWcH I J K L M N ;iEd7j4bXc=ikb5 rl5bd - ! Zh0fYc.etflb/dde. WeXeYeZcmb0c1cZe2c3c4c8j5c?i@i[i4h]i^i6cFdoe?jCbeifigi_i`ihi7c{d|duf{i|i}i~iiiajslbjjf1f2f0e1e8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c3fHd'c/e@jji^fcj!b(cO P Q R S T U djId!j#b)cejpb6 tl# 0h4f*c:evfqb;dee/ 4e5e6e+crb,c-c7e.c/c:c#j;cfjgjhj5hijjj=cJdpe[jDbkilimikjljni?c}d~dmjnjojpjoiqjulrjkf5f6f8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c
463 known_models.add(arg) 2feWd7f: ; = ? @ [ ] geMd{cubf Eb8f:f)b*b4dhe(f|c+b,b%d$ ie'dSd}c$eV W X Y Z 0 1 Td.bGb% e ^ %elfvbwbgdUd;eHbxbybpdl Vdqdrd@b'em n o p q r s sdJb` 2 a ' (enf{ ae| }btdlezb} ~ hcg udicvdjc)et u v w x y z wdQbab3 b ) *epfbbbecbrcxdmeAbdbebAch ydBczdCc+eA B C D E F G AdXbfb4 c + ,erfgbcehbKcBdneBbibjbTci CdUcDdVc-eH I J K L M N Ed4bkb5 d - .etflbdemb3cFdoeCbnbob$cj Gd%cHd'c/eO P Q R S T U Id#bpb6 :evfqbeerb/cJdpeDbsbtb_ck Kd`c
464 if lenient_issubclass(arg, BaseModel): 2feWd7f: ; = ? @ [ ] geMd{cubf Eb8f:f)b*b4dhe(f|c+b,b%d$ ie'dSd}c$eV W X Y Z 0 1 Td.bGb% e ^ %elfvbwbgdUd;eHbxbybpdl Vdqdrd@b'em n o p q r s sdJb` 2 a ' (enf{ ae| }btdlezb} ~ hcg udicvdjc)et u v w x y z wdQbab3 b ) *epfbbbecbrcxdmeAbdbebAch ydBczdCc+eA B C D E F G AdXbfb4 c + ,erfgbcehbKcBdneBbibjbTci CdUcDdVc-eH I J K L M N Ed4bkb5 d - .etflbdemb3cFdoeCbnbob$cj Gd%cHd'c/eO P Q R S T U Id#bpb6 :evfqbeerb/cJdpeDbsbtb_ck Kd`c
465 get_flat_models_from_model(arg, known_models=known_models) 2feWd7f: ; = ? @ [ ] geMd{cubf Eb8f:f)b*b4dhe(f|c+b,b%d$ ie'dSd}c$eV W X Y Z 0 1 Td.bGb% e ^ %elfvbwbgdUd;eHbxbybpdl Vdqdrd@b'em n o p q r s sdJb` 2 a ' (enf{ | }btdlezb} ~ hcg udicvdjc)et u v w x y z wdQbab3 b ) *epfbbcbrcxdmeAbdbebAch ydBczdCc+eA B C D E F G AdXbfb4 c + ,erfgbhbKcBdneBbibjbTci CdUcDdVc-eH I J K L M N Ed4bkb5 d - .etflbmb3cFdoeCbnbob$cj Gd%cHd'c/eO P Q R S T U Id#bpb6 :evfqbrb/cJdpeDbsbtb_ck Kd`c
466 else:
467 get_flat_models_from_annotation(arg, known_models=known_models) 2|ffepi]gsjLdXd: ; = ? @ [ ] tj%jYduj{cub$lNdf Eb}fZd)bxfFbBfCfDf0d*b1d2dEf3d4d5d'j6dvjwjxj6hyjzj7d]j|cqirisiAjBjti8ddfef;fCjDjEjFjuiGj%lHj)f~fagFfGf9dOdPd!d#d$dHfIf+b,bQdRd%d$ 'dJfSd^jvi=fIj-b~cV W X Y Z 0 1 Jj)jadKjGb% 'l/be ^ Kfbdvbke_ qeresecdwbddedtefdgdhd*jidLjMjNj7hOjPjjd_jHbwixiyiQjRjzikd=d?dmfSjTjUjVjAiWj(lXjffLfMfueveld:b;bmdndodwexexbyb=b?bpdl qdNfrd,j/h?fBiIb[bm n o p q r s CiYj]bDi` 2 llKba ' 7 WhOf^b{ )d( yezeAe_b| `b{bBe|b}b~bZjacEiFiGi1hHiIibc-jzb:h;h=hJiKi?hcc@d[dofLiMiNiOi@hPimlQigfPfQfCeDedcLbMbecfcgcEeFe} ~ NbObhcg icRfvd.j[h@fRiPbkct u v w x y z Si1jlcTiab3 nlRbb ) 8 XhSfmcbb+d* GeHeIenccbocpcJeqcrcsc2jtcUiViWi2hXiYiuc/jAb]h^h_hZi0i`hvc]d^dqf1i2i3i4i{h5iol6ihfTfUfKeLewcSbTbxcyczcMeNedbebUbVbAch BcVfzd:j|h[f7iWbDcA B C D E F G 8i4jEc9ifb4 plYbc + 9 YhWfFcgb-d, OePeQeGchbHcIcReJcKcLc5jMc!i#i$i3h%i'iNc;jBb}h~hai(i)ibiOc_d`dsf*i+i,i-ici.iql/iifXfYfSeTePcZb0bQcRcScUeVeibjb1b2bTci UcZfDd=jdi]f:i3bWcH I J K L M N ;i7jXc=ikb5 rl5bd - ! Zh0fYclb/d. WeXeYeZcmb0c1cZe2c3c4c8j5c?i@i[i4h]i^i6c?jCbeifigi_i`ihi7c{d|duf{i|i}i~iiiajslbjjf1f2f0e1e8c6b7b9c!c#c2e3enbob8b9b$cj %c3fHd@jji^fcj!b(cO P Q R S T U dj!j)cejpb6 tl# 0h4f*cqb;d/ 4e5e6e+crb,c-c7e.c/c:c#j;cfjgjhj5hijjj=c[jDbkilimikjljni?c}d~dmjnjojpjoiqjulrjkf5f6f8e9e@c$b%b[c]c^c!e#esbtb'b(b_ck `c
468 return known_models 2|ffe_fWd.l7fyhvlpizh]gfhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYduj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNl;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[feg7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEc9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2ksf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffg:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXc=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
471def get_flat_models_from_field( 2hg9f!f#f$f%f'f
472 field: ModelField, known_models: TypeModelSet
473) -> TypeModelSet:
474 field_type = field.type_ 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
475 if lenient_issubclass(field_type, BaseModel): 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
476 if field_type in known_models: 2|f_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d5d6d7d|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRdxhJfyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglg.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdhdidjdHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bugNf=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b~bacbczbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObGgRf[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcsctcucAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbSgVf_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcLcMcNcBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2b4gZf|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7g4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c4c5c6cCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b)g3faf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,g#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c:c;c=cDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b[g
477 return known_models 27fyhzhfhHhLd: ; = ? @ [ ] ig{cubNdf EbZd8f)bFb6d|cdfefOdPdQdRd$e^g_gbgBh-bV W X Y Z 0 1 *fGb% /be ^ bd%evb_ idHb=d?d:b;b=b?b'e`g{gcgChIbm n o p q r s +f` 2 Kba ' ^b(e{ ( aczb@d[dLbMbNbOb)e|g}gdgDhPbt u v w x y z ,fab3 Rbb ) mc*ebb* tcAb]d^dSbTbUbVb+e~gahegEhWbA B C D E F G -ffb4 Ybc + Fc,egb, McBb_d`dZb0b1b2b-ebhchfgFh3bH I J K L M N .fkb5 5bd - Yc.elb. 5cCb{d|d6b7b8b9b/edhehggGh!bO P Q R S T U /fpb6 *c:eqb/ ;cDb}d~d$b%b'b(b
478 known_models.add(field_type) 2|f_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d5d6d7d|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRdxhJfyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglg.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdhdidjdHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bugNf=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b~bacbczbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObGgRf[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcsctcucAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbSgVf_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcLcMcNcBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2b4gZf|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7g4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c4c5c6cCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b)g3faf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,g#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c:c;c=cDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b[g
479 get_flat_models_from_model(field_type, known_models=known_models) 2|f_fWd7fyhzh]gfhHhLdXdmh: ; = ? @ [ ] igwfnhohMdYdUh{cubNdf Eb}fZd8f:f)bxfFbAhBfCfDf0d*b`f1d{f2dEf3d5d6d7d|cph8dqhdfef;frh)fsh~fagthuhvhwhFfGf9dOdPd!d#d$dHfIf+b,bQdRdxhJfyf}c$e^g_g=fbgBh-b~cjgV W X Y Z 0 1 *fjekglg.badIhGb% /be ^ Kfbd%elfvbke_ ghqeresecdwbzfddAfedtefdhdidjdHbmgkdng=d?dmfogffpgLfMfqgrgsgtgueveld:b;bmdndodwexexbyb=b?bugNf=e@b'e`g{g?fcgChIb[bvgm n o p q r s +f(dwgxgJb]bJh` 2 Kba ' 7 Of^b(enf{ )dae( hhyezeAe_b| ?e`b@e{bBe|b~bacbczbygcczg@d[dofAggfBgPfQfCgDgEgFgCeDedcLbMbecfcgcEeFe} ~ NbObGgRf[ejc)e|g}g@fdgDhPbkcHgt u v w x y z ,f*dIgJgQblcKhab3 Rbb ) 8 Sfmc*epfbb+dbe* ihGeHeIenccb]eoc^epcJeqcsctcucAbKgvcLg]d^dqfMghfNgTfUfOgPgQgRgKeLewcSbTbxcyczcMeNedbebUbVbSgVf_eCc+e~gah[fegEhWbDcTgA B C D E F G -f,dUgVgXbEcLhfb4 Ybc + 9 WfFc,erfgb-dce, jhOePeQeGchb`eHc{eIcReJcLcMcNcBbWgOcXg_d`dsfYgifZgXfYf0g1g2g3gSeTePcZb0bQcRcScUeVeibjb1b2b4gZf|eVc-ebhch]ffgFh3bWc5gH I J K L M N .f.d6g7g4bXcMhkb5 5bd - ! 0fYc.etflb/dde. khWeXeYeZcmb}e0c~e1cZe2c4c5c6cCb8g7c9g{d|duf!gjf#g1f2f$g%g'g(g0e1e8c6b7b9c!c#c2e3enbob8b9b)g3faf'c/edheh^fggGh!b(c*gO P Q R S T U /f:d+g,g#b)cNhpb6 # 4f*c:evfqb;dee/ lh4e5e6e+crbbf,ccf-c7e.c:c;c=cDb-g?c.g}d~d/gkf:g5f6f;g=g?g@g8e9e@c$b%b[c]c^c!e#esbtb'b(b[g
480 elif lenient_issubclass(field_type, Enum): 2|ffe_fWd.l7fyhvlpizh]gfhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYduj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[feg7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEc9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffg:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXc=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
481 known_models.add(field_type) 2MdVh.bOhJbPhQbQhXbRh4bSh#bTh
482 else:
483 get_flat_models_from_annotation(field_type, known_models=known_models) 2|ffe_fWd.l7fyhvlpizh]gfhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYduj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNl;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[feg7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEc9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2ksf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffg:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXc=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
484 return known_models 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
487def get_flat_models_from_fields( 2hg9f!f#f$f%f'f
488 fields: Sequence[ModelField], known_models: TypeModelSet
489) -> TypeModelSet:
490 for field in fields: 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
491 get_flat_models_from_field(field, known_models=known_models) 2|ffe_fWd.l7fyhvlpizh]gfhHhsjLdXdmh: ; = ? @ [ ] igwfnhwltjohge%jMdYdUhuj{cubxl$lylNdf EbzlAlBl}fZd8f:f)bxfFbAhBfCfDfCl0d*b`f1d{f2dDlEf3d4d5d'j6dvjwjxj+h-h6hyjzjElFlGlHl7dhe(f]j|cIlJlKlLlphMlqirisiAjBjti8dqhdfefNlVh;fCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPlQl9dOdPd!d#d$dHfIf+b,bQdRd%d$ ie'dxhJfSdyf}c/l$e^g^jvi_g=fbgBhIj-b~cjgV W X Y Z 0 1 *fjekgRlJjlgTd)j.badIhKjGb% Sl'lTl/be ^ UlVlWlKfbd%elfvbke_ ghqereseXlcdwbzfddAfedYltefdgdhd*jidLjMjNj,h.h7hOjPjZl0l1l2ljdUd;e_jHb3l4l5l6lmg7lwixiyiQjRjzikdng=d?d8lOhmfSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l#lld:b;bmdndodwexexbyb=b?bpdl VdqdugNfrd=e@b)l'e`g,j/h{g?fcgChBiIb[bvgm n o p q r s +f(dwg`jCixgsdYjJb]bJhDi` 2 {jll|jKba ' 7 Wh}j~jakOf^b(enf{ )dae( hhyezeAebk_b| ?e`b@e{bckBe|b}b~bZjacEiFiGi8h%h1hHiIidkekfkgkbctdle-jzbhkikjkkkyglk:h;h=hJiKi?hcczg@d[dmkPhofLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokpkdcLbMbecfcgcEeFe} ~ NbObhcg udicGgRfvd[ejc*l)e|g.j[h}g@fdgDhRiPbkcHgt u v w x y z ,f*dIgqkSiJgwd1jQblcKhTiab3 rknlskRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihGeHeIewknccb]eoc^epcxkJeqcrcsc2jtcUiViWi9h'h2hXiYiykzkAkBkucxdme/jAbCkDkEkFkKgGk]h^h_hZi0i`hvcLg]d^dHkQhqf1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkKkwcSbTbxcyczcMeNedbebUbVbAch ydBcSgVfzd_eCc+l+e~g:j|hah[fegEh7iWbDcTgA B C D E F G -f,dUgLk8iVgAd4jXbEcLh9ifb4 MkplNkYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhOePeQeRkGchb`eHc{eIcSkReJcKcLc5jMc!i#i$i!h(h3h%i'iTkUkVkWkNcBdne;jBbXkYkZk0kWg1k}h~hai(i)ibiOcXg_d`d2kRhsf*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k5kPcZb0bQcRcScUeVeibjb1b2bTci CdUc4gZfDd|eVc,l-ebh=jdich]ffgFh:i3bWc5gH I J K L M N .f.d6g6k;i7gEd7j4bXcMh=ikb5 7krl8k5bd - ! Zh9k!k#k0fYc.etflb/dde. khWeXeYe$kZcmb}e0c~e1c%kZe2c3c4c8j5c?i@i[i#h)h4h]i^i'k(k)k*k6cFdoe?jCb+k,k-k.k8g/keifigi_i`ihi7c9g{d|d:kShuf{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k?k8c6b7b9c!c#c2e3enbob8b9b$cj Gd%c)g3fHdaf'c-l/edh@jjieh^fggGhcj!b(c*gO P Q R S T U /f:d+g@kdj,gId!j#b)cNhejpb6 [ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh4e5e6e{k+crbbf,ccf-c|k7e.c/c:c#j;cfjgjhj$h*h5hijjj}k~kalbl=cJdpe[jDbcldlelfl-gglkilimikjljni?c.g}d~dhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlkl@c$b%b[c]c^c!e#esbtb'b(b_ck Kd`c[g
492 return known_models 2|ffeqm2r_fWd.l7fyhvlpi:lzhrm]gfhsmHhsjLdXdmh: ; = ? @ [ ] igtmwfnhwltjohge%jMdYdUhujum{cubvmxl$lyl;l=lNdf EbzlAlBl}fZd8f:f)bxfFbAhwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmBfRmSmCfDfTmUmVmWmXmCl0dYm*b`f1d{f2dZm0m1m2m3mDlEf3d4d5d'j6d4mvjwjxj5m6m7m8m9m!m#m+h-h6hyjzjElFlGl$mHl%m7dhe(f]j'm|cIlJlKlLlphMlqirisiAjBjti(m)m*m8dqh+m,m-mdf.m/m:m;mef=mNlVh?l;f@lCjDjOlEjFjuiGj(j%lHjrh)fsh~fagthuhvhwhFfGfPl?mQl9dOdPd!d#d$d@mHfIf[m+b,bQdRd]m^m_m`m%d$ ie'dxhJfSd{m3ryf}c/l$e^g^jvi[l_g|m=fbg}mBhIj-b~cjgV W X Y Z 0 1 *f~mjekgRlJjlgTd)j.badIhKjanGb% bnSl'lTl]l^l/be ^ UlVlWlKfbd%elfvbke_ ghcndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnqexnynreseznAnBnCnDnXlcdEnwbzfddAfedFnGnHnInJnYltefdgdhd*jidKnLjMjNjLnMnNnOnPnQnRn,h.h7hOjPjZl0l1lSn2lTnjdUd;e_jUnHb3l4l5l6lmg7lwixiyiQjRjziVnWnXnkdngYnZn0n=d1n2n3n4n?d5n8lOh_lmf`lSjTj9lUjVjAiWj+j(lXjogffpgLfMfqgrgsgtgueve!l6n#lld:b;bmdndod7nwexe8nxbyb=b?b9n!n#n$npdl VdqdugNfrd%n4r=e@b)l'e`g,j/h{l{g'n?fcg(nChBiIb[bvgm n o p q r s +f)n(dwg`jCixgsdYjJb]bJhDi*n` 2 +n{jll|j|l}lKba ' 7 Wh}j~jakOf^b(enf{ )dae( hh,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocoyedoeozeAefogohoiojobk_bko| ?e`b@e{blomonooopockBe|b}b~bZjacqoEiFiGirosotouovowoxo8h%h1hHiIidkekfkyogkzobctdle-jAozbhkikjkkkyglk:h;h=hJiKi?hBoCoDocczgEoFoGo@dHoIoJoKo[dLomkPh~lofamLiMinkNiOi@hPi0jmlQiAggfBgPfQfCgDgEgFgCeDeokMopkdcLbMbecfcgcNoEeFeOo} ~ NbObPoQoRoSohcg udicGgRfvdTo5r[ejc*l)e|g.j[hbm}gUo@fdgVoDhRiPbkcHgt u v w x y z ,fWo*dIgqkSiJgwd1jQblcKhTiXoab3 YorknlskcmdmRbb ) 8 XhtkukvkSfmc*epfbb+dbe* ihZo0o1o2o3o4o5o6o7o8o9o!o#o$o%o'o(o)o*o+o,oGe-o.oHeIe/o:o;o=o?owknc@ocb]eoc^epc[o]o^o_o`oxkJeqcrcsc2jtc{oUiViWi|o}o~oapbpcpdp9h'h2hXiYiykzkAkepBkfpucxdme/jgpAbCkDkEkFkKgGk]h^h_hZi0i`hhpipjpvcLgkplpmp]dnpopppqp^drpHkQhemqffm1i2iIk3i4i{h5i3jol6iMghfNgTfUfOgPgQgRgKeLeJkspKkwcSbTbxcyczctpMeNeupdbebUbVbvpwpxpypAch ydBcSgVfzdzp6r_eCc+l+e~g:j|hgmahAp[fegBpEh7iWbDcTgA B C D E F G -fCp,dUgLk8iVgAd4jXbEcLh9iDpfb4 EpMkplNkhmimYbc + 9 YhOkPkQkWfFc,erfgb-dce, jhFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZpOe0p1pPeQe2p3p4p5p6pRkGc7phb`eHc{eIc8p9p!p#p$pSkReJcKcLc5jMc%p!i#i$i'p(p)p*p+p,p-p!h(h3h%i'iTkUkVk.pWk/pNcBdne;j:pBbXkYkZk0kWg1k}h~hai(i)ibi;p=p?pOcXg@p[p]p_d^p_p`p{p`d|p2kRhjmsfkm*i+i3k,i-ici.i6jql/iYgifZgXfYf0g1g2g3gSeTe4k}p5kPcZb0bQcRcSc~pUeVeaqibjb1b2bbqcqdqeqTci CdUc4gZfDdfq7r|eVc,l-ebh=jdilmchgq]ffghqFh:i3bWc5gH I J K L M N .fiq.d6g6k;i7gEd7j4bXcMh=ijqkb5 kq7krl8kmmnm5bd - ! Zh9k!k#k0fYc.etflb/dde. khlqmqnqoqpqqqrqsqtquqvqwqxqyqzqAqBqCqDqEqFqWeGqHqXeYeIqJqKqLqMq$kZcNqmb}e0c~e1cOqPqQqRqSq%kZe2c3c4c8j5cTq?i@i[iUqVqWqXqYqZq0q#h)h4h]i^i'k(k)k1q*k2q6cFdoe?j3qCb+k,k-k.k8g/keifigi_i`ihi4q5q6q7c9g7q8q9q{d!q#q$q%q|d'q:kShomufpm{i|i;k}i~iiiaj9jslbj!gjf#g1f2f$g%g'g(g0e1e=k(q?k8c6b7b9c!c#c)q2e3e*qnbob8b9b+q,q-q.q$cj Gd%c)g3fHd/q8raf'c-l/edh@jjieh:q^fgg;qGhcj!b(c*gO P Q R S T U /f=q:d+g@kdj,gId!j#b)cNhej?qpb6 @q[ktl]k# 0h^k_k`k4f*c:evfqb;dee/ lh[q]q^q_q`q{q|q}q~qarbrcrdrerfrgrhrirjrkrlr4emrnr5e6eorprqrrrsr{k+ctrrbbf,ccf-curvrwrxryr|k7e.c/c:c#j;czrfjgjhjArBrCrDrErFrGr$h*h5hijjj}k~kalHrblIr=cJdpe[jJrDbcldlelfl-gglkilimikjljniKrLrMr?c.gNrOrPr}dQrRrSrTr~dUrhlThmjnjilojpjoiqj$julrj/gkf:g5f6f;g=g?g@g8e9ejlVrkl@c$b%b[c]c^cWr!e#eXrsbtb'b(bYrZr0r1r_ck Kd`c[g
495def get_long_model_name(model: TypeModelOrEnum) -> str: 2hg9f!f#f$f%f'f
496 return f"{model.__module__}__{model.__qualname__}".replace(".", "__") 1feabcd