Coverage for fastapi / openapi / utils.py: 100%

277 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-12 18:15 +0000

1import copy 2FkIkGkHk

2import http.client 2FkIkGkHk

3import inspect 2FkIkGkHk

4import warnings 2FkIkGkHk

5from collections.abc import Sequence 2FkIkGkHk

6from typing import Any, Literal, cast 2FkIkGkHk

7 

8from fastapi import routing 2FkIkGkHk

9from fastapi._compat import ( 2FkIkGkHk

10 ModelField, 

11 Undefined, 

12 get_definitions, 

13 get_flat_models_from_fields, 

14 get_model_name_map, 

15 get_schema_from_model_field, 

16 lenient_issubclass, 

17) 

18from fastapi.datastructures import DefaultPlaceholder 2FkIkGkHk

19from fastapi.dependencies.models import Dependant 2FkIkGkHk

20from fastapi.dependencies.utils import ( 2FkIkGkHk

21 _get_flat_fields_from_params, 

22 get_flat_dependant, 

23 get_flat_params, 

24 get_validation_alias, 

25) 

26from fastapi.encoders import jsonable_encoder 2FkIkGkHk

27from fastapi.exceptions import FastAPIDeprecationWarning 2FkIkGkHk

28from fastapi.openapi.constants import METHODS_WITH_BODY, REF_PREFIX 2FkIkGkHk

29from fastapi.openapi.models import OpenAPI 2FkIkGkHk

30from fastapi.params import Body, ParamTypes 2FkIkGkHk

31from fastapi.responses import Response 2FkIkGkHk

32from fastapi.types import ModelNameMap 2FkIkGkHk

33from fastapi.utils import ( 2FkIkGkHk

34 deep_dict_update, 

35 generate_operation_id_for_path, 

36 is_body_allowed_for_status_code, 

37) 

38from pydantic import BaseModel 2FkIkGkHk

39from starlette.responses import JSONResponse 2FkIkGkHk

40from starlette.routing import BaseRoute 2FkIkGkHk

41 

42validation_error_definition = { 2FkIkGkHk

43 "title": "ValidationError", 

44 "type": "object", 

45 "properties": { 

46 "loc": { 

47 "title": "Location", 

48 "type": "array", 

49 "items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, 

50 }, 

51 "msg": {"title": "Message", "type": "string"}, 

52 "type": {"title": "Error Type", "type": "string"}, 

53 "input": {"title": "Input"}, 

54 "ctx": {"title": "Context", "type": "object"}, 

55 }, 

56 "required": ["loc", "msg", "type"], 

57} 

58 

59validation_error_response_definition = { 2FkIkGkHk

60 "title": "HTTPValidationError", 

61 "type": "object", 

62 "properties": { 

63 "detail": { 

64 "title": "Detail", 

65 "type": "array", 

66 "items": {"$ref": REF_PREFIX + "ValidationError"}, 

67 } 

68 }, 

69} 

70 

71status_code_ranges: dict[str, str] = { 2FkIkGkHk

72 "1XX": "Information", 

73 "2XX": "Success", 

74 "3XX": "Redirection", 

75 "4XX": "Client Error", 

76 "5XX": "Server Error", 

77 "DEFAULT": "Default Response", 

78} 

79 

80 

81def get_openapi_security_definitions( 2FkIkGkHk

82 flat_dependant: Dependant, 

83) -> tuple[dict[str, Any], list[dict[str, Any]]]: 

84 security_definitions = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

85 # Use a dict to merge scopes for same security scheme 

86 operation_security_dict: dict[str, list[str]] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

87 for security_dependency in flat_dependant._security_dependencies: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

88 security_definition = jsonable_encoder( 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

89 security_dependency._security_scheme.model, 

90 by_alias=True, 

91 exclude_none=True, 

92 ) 

93 security_name = security_dependency._security_scheme.scheme_name 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

94 security_definitions[security_name] = security_definition 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

95 # Merge scopes for the same security scheme 

96 if security_name not in operation_security_dict: 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

97 operation_security_dict[security_name] = [] 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

98 for scope in security_dependency.oauth_scopes or []: 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

99 if scope not in operation_security_dict[security_name]: 2thuh3bvhwh4bxhyh5b

100 operation_security_dict[security_name].append(scope) 2thuh3bvhwh4bxhyh5b

101 operation_security = [ 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

102 {name: scopes} for name, scopes in operation_security_dict.items() 

103 ] 

104 return security_definitions, operation_security 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

105 

106 

107def _get_openapi_operation_parameters( 2FkIkGkHk

108 *, 

109 dependant: Dependant, 

110 model_name_map: ModelNameMap, 

111 field_mapping: dict[ 

112 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

113 ], 

114 separate_input_output_schemas: bool = True, 

115) -> list[dict[str, Any]]: 

116 parameters = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

117 flat_dependant = get_flat_dependant(dependant, skip_repeats=True) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

118 path_params = _get_flat_fields_from_params(flat_dependant.path_params) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

119 query_params = _get_flat_fields_from_params(flat_dependant.query_params) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

120 header_params = _get_flat_fields_from_params(flat_dependant.header_params) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

121 cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

122 parameter_groups = [ 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

123 (ParamTypes.path, path_params), 

124 (ParamTypes.query, query_params), 

125 (ParamTypes.header, header_params), 

126 (ParamTypes.cookie, cookie_params), 

127 ] 

128 default_convert_underscores = True 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

129 if len(flat_dependant.header_params) == 1: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

130 first_field = flat_dependant.header_params[0] 2K zhpc@b[b]b^br Z _b`bjcucvcwcR Ahrc{b|b}b~bw 2 acbclczcAcBcY BhtcccdcecfcB 5 gchcncEcFcGc

131 if lenient_issubclass(first_field.field_info.annotation, BaseModel): 2K zhpc@b[b]b^br Z _b`bjcucvcwcR Ahrc{b|b}b~bw 2 acbclczcAcBcY BhtcccdcecfcB 5 gchcncEcFcGc

132 default_convert_underscores = getattr( 2@b[b]b^b_b`bjc{b|b}b~bacbclcccdcecfcgchcnc

133 first_field.field_info, "convert_underscores", True 

134 ) 

135 for param_type, param_group in parameter_groups: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

136 for param in param_group: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

137 field_info = param.field_info 2d * sdvdicxd+ JcKca ydzdLcK McAdzhBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeAheefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*eBh+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

138 # field_info = cast(Param, field_info) 

139 if not getattr(field_info, "include_in_schema", True): 2d * sdvdicxd+ JcKca ydzdLcK McAdzhBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeAheefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*eBh+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

140 continue 2zhPiAhQiBhRi

141 param_schema = get_schema_from_model_field( 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

142 field=param, 

143 model_name_map=model_name_map, 

144 field_mapping=field_mapping, 

145 separate_input_output_schemas=separate_input_output_schemas, 

146 ) 

147 name = get_validation_alias(param) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

148 convert_underscores = getattr( 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

149 param.field_info, 

150 "convert_underscores", 

151 default_convert_underscores, 

152 ) 

153 if ( 

154 param_type == ParamTypes.header 

155 and name == param.name 

156 and convert_underscores 

157 ): 

158 name = param.name.replace("_", "-") 2K pc@b[b]b^br _b`bR rc{b|b}b~bw acbcY tcccdcecfcB gchc

159 

160 parameter = { 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

161 "name": name, 

162 "in": param_type.value, 

163 "required": param.field_info.is_required(), 

164 "schema": param_schema, 

165 } 

166 if field_info.description: 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

167 parameter["description"] = field_info.description 21cyc=cDcmdIc

168 openapi_examples = getattr(field_info, "openapi_examples", None) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

169 example = getattr(field_info, "example", None) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

170 if openapi_examples: 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

171 parameter["examples"] = jsonable_encoder(openapi_examples) 1KRY

172 elif example != Undefined: 2d * sdvdicxd+ JcKca ydzdLcMcAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9c!cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{c|c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

173 parameter["example"] = jsonable_encoder(example) 2NcOc@b[b]b^bPcQcRcScr UcVc_b`bjcZc0c#c$c{b|b}b~b%c'c(c)cw +c,cacbclc:c;c}c~cccdcecfcadbdcdddB fdgdgchcnckdld

174 if getattr(field_info, "deprecated", None): 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

175 parameter["deprecated"] = True 2ycDcIc

176 parameters.append(parameter) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

177 return parameters 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

178 

179 

180def get_openapi_operation_request_body( 2FkIkGkHk

181 *, 

182 body_field: ModelField | None, 

183 model_name_map: ModelNameMap, 

184 field_mapping: dict[ 

185 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

186 ], 

187 separate_input_output_schemas: bool = True, 

188) -> dict[str, Any] | None: 

189 if not body_field: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

190 return None 2Qjwkd * sdtdudMfvdic1iwdRj2i|i3ixd+ JcSjKca ydzdLcK Mc}ip q ~iAdzhBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdaj4hs , t - 5hbjcjdjejZ 8 9 TjUcVcHdUjVjfjqkWjtkzk7i! XjIdJdKdLdMdNdOdYjPd=iWc8igjZjQdXcYcnhRdSdTdUdVd_b`bjcucvcwcSiTi0j1j?i$b2j3jhjijjjxckj@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@dPfQf5j[d]d6j^d2c3c4chh6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_d#jxke / `d{d|dUf}dkc9i~d$j!imj#iae: 7c%j8cb bece9cR !cnju v ojdeAheefercgerh#c$c{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjbix ; y = ciqjrjsjtj2 # $ 'j+c,cke(j)jujrk*jukAk(i% +jlemeneoepeqere,jse[i-c)ivj-jte.c/cohuevewexeyeacbclczcAcBcUiVi.j/j]i%b:j;jwjxjyjCczj^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eXfYf?j5e6e@j7e?c@c[cihdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8e`jykf @ 9e!e#e2f$emc*i%e{j+iBj,i'e[ _c|j`cc (e)e{cY |cCjz A Dj*eBh+e,etc-esh}c~cccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjJiC ] D ^ KiFjGjHjIj5 ' ( }jfdgd;e~jakJjskbkvkBk:i) ck=e?e@e[e]e^e_edk`e_ihd;iKjek{eidjdph|e}e~eafbfgchcncEcFcGcWiXifkgk`i'bhkikLjMjNjHcOj{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf5f6fkkIfJflkKfndodpdjhLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf

191 assert isinstance(body_field, ModelField) 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

192 body_schema = get_schema_from_model_field( 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

193 field=body_field, 

194 model_name_map=model_name_map, 

195 field_mapping=field_mapping, 

196 separate_input_output_schemas=separate_input_output_schemas, 

197 ) 

198 field_info = cast(Body, body_field.field_info) 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

199 request_media_type = field_info.media_type 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

200 required = body_field.field_info.is_required() 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

201 request_body_oai: dict[str, Any] = {} 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

202 if required: 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

203 request_body_oai["required"] = required 2!f#f+ $fE g F G H I J oc%f'f(fK )fp q *f+f,f-f.f/f:f;f=f?f@fr (b)b*bj [f]f^f` { | } ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~fagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjgkg: lgL h M N O P Q qcmgngogR pgu v qgrgsgtgugvgwgxgygzgAgw ,b-b.bl BgCgDgobpbqbrbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgUg[ VgS i T U V W X scWgXgYgY Zgz A 0g1g2g3g4g5g6g7g8g9g!gB :b;b=bn #g$g%gHbIbJbKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,g-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

204 request_media_content: dict[str, Any] = {"schema": body_schema} 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

205 if field_info.openapi_examples: 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

206 request_media_content["examples"] = jsonable_encoder( 2K nbR GbY Zb

207 field_info.openapi_examples 

208 ) 

209 elif field_info.example != Undefined: 2!f]g#f+ $fE g F G H I J oc%f'f(f)fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogpgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgZgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYb?b!b5bqdrd6 7 =g_ ?g@g[g#b

210 request_media_content["example"] = jsonable_encoder(field_info.example) 1rwB

211 request_body_oai["content"] = {request_media_type: request_media_content} 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

212 return request_body_oai 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

213 

214 

215def generate_operation_id( 2FkIkGkHk

216 *, route: routing.APIRoute, method: str 2FkGkHk

217) -> str: # pragma: nocover 2FkGkHk

218 warnings.warn( 

219 message="fastapi.openapi.utils.generate_operation_id() was deprecated, " 

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

221 category=FastAPIDeprecationWarning, 

222 stacklevel=2, 

223 ) 

224 if route.operation_id: 

225 return route.operation_id 

226 path: str = route.path_format 

227 return generate_operation_id_for_path(name=route.name, path=path, method=method) 

228 

229 

230def generate_operation_summary(*, route: routing.APIRoute, method: str) -> str: 2FkIkGkHk

231 if route.summary: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

232 return route.summary 2WdXdYdzeAeBecfdfef

233 return route.name.replace("_", " ").title() 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jhjijjjkhxckj@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jwjxjyjlhCczj^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikLjMjNjmhHcOj{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

234 

235 

236def get_openapi_operation_metadata( 2FkIkGkHk

237 *, route: routing.APIRoute, method: str, operation_ids: set[str] 

238) -> dict[str, Any]: 

239 operation: dict[str, Any] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

240 if route.tags: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

241 operation["tags"] = route.tags 2a Z XcYc?ixckj@ib 2 .c/c]iCczj^ic 5 idjd`iHcOj{i

242 operation["summary"] = generate_operation_summary(route=route, method=method) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

243 if route.description: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

244 operation["description"] = route.description 2j k $bWdXdYd7bl m %bzeAeBe9bn o 'bcfdfef#b

245 operation_id = route.operation_id or route.unique_id 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

246 if operation_id in operation_ids: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

247 message = ( 2oca qcb scc

248 f"Duplicate Operation ID {operation_id} for function " 

249 + f"{route.endpoint.__name__}" 

250 ) 

251 file_name = getattr(route.endpoint, "__globals__", {}).get("__file__") 2oca qcb scc

252 if file_name: 2oca qcb scc

253 message += f" at {file_name}" 2oca qcb scc

254 warnings.warn(message, stacklevel=1) 2oca qcb scc

255 operation_ids.add(operation_id) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

256 operation["operationId"] = operation_id 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

257 if route.deprecated: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

258 operation["deprecated"] = route.deprecated 2a @ib ^ic {i

259 return operation 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

260 

261 

262def get_openapi_path( 2FkIkGkHk

263 *, 

264 route: routing.APIRoute, 

265 operation_ids: set[str], 

266 model_name_map: ModelNameMap, 

267 field_mapping: dict[ 

268 tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any] 

269 ], 

270 separate_input_output_schemas: bool = True, 

271) -> tuple[dict[str, Any], dict[str, Any], dict[str, Any]]: 

272 path = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

273 security_schemes: dict[str, Any] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

274 definitions: dict[str, Any] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

275 assert route.methods is not None, "Methods must be a list" 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

276 if isinstance(route.response_class, DefaultPlaceholder): 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

277 current_response_class: type[Response] = route.response_class.value 2!f]gQjwkd sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdfjWj|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,ckeuj*jHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;eJjbk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

278 else: 

279 current_response_class = route.response_class 2d * tda FdTcUjVjfjqktkzke / {db ie*c(j)jujrkukAkf @ !ec /eed~jakJjskvkBk

280 assert current_response_class, "A response class is needed to generate OpenAPI" 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

281 route_response_media_type: str | None = current_response_class.media_type 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

282 if route.include_in_schema: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

283 for method in route.methods: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

284 operation = get_openapi_operation_metadata( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

285 route=route, method=method, operation_ids=operation_ids 

286 ) 

287 parameters: list[dict[str, Any]] = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

288 flat_dependant = get_flat_dependant(route.dependant, skip_repeats=True) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

289 security_definitions, operation_security = get_openapi_security_definitions( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

290 flat_dependant=flat_dependant 

291 ) 

292 if operation_security: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

293 operation.setdefault("security", []).extend(operation_security) 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

294 if security_definitions: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

295 security_schemes.update(security_definitions) 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h7b!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigi9bhiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi#b

296 operation_parameters = _get_openapi_operation_parameters( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

297 dependant=route.dependant, 

298 model_name_map=model_name_map, 

299 field_mapping=field_mapping, 

300 separate_input_output_schemas=separate_input_output_schemas, 

301 ) 

302 parameters.extend(operation_parameters) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

303 if parameters: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

304 all_parameters = { 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

305 (param["in"], param["name"]): param for param in parameters 

306 } 

307 required_parameters = { 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

308 (param["in"], param["name"]): param 

309 for param in parameters 

310 if param.get("required") 

311 } 

312 # Make sure required definitions of the same parameter take precedence 

313 # over non-required definitions 

314 all_parameters.update(required_parameters) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

315 operation["parameters"] = list(all_parameters.values()) 2d * sdvdicxd+ JcKca ydzdLcK McAdBdCdpcDdqhNcOc@b[b]b^bEdPcQcRcScr Gdj s , t - Z ` { | 0b} ~ abbbcbdbebfb8 9 UcVcHd! IdJdKdLdMdNdgbOdPdhbWcRdSdTdUdVd_b`bjcucvcwck Zd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?d@dib]d^d2c3c4chhjbkblbmbnb0 1 _d. e / `d}dkcae: 7c8cb bece9cR !cdeeefercgerh#c$c{b|b}b~bhe%c'c(c)cw jel x ; y = 2 obpbqb1brbsbtbubvbwbxbyb# $ +c,cke% lemeneoepeqezbreseAb-cuevewexeyeacbclczcAcBcm CeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3e4eBb6e7e?c@c[cihCbDbEbFbGb3 4 8e? f @ 9e$emc'e[ _c`cc (e)e{cY |c*e+e,etc-esh}c~cccdcecfc.eadbdcdddB :en C ] D ^ 5 HbIbJb2bKbLbMbNbObPbQbRb' ( fdgd;e) =e?e@e[e]e^eSb_e`eTbhd|e}e~eafbfgchcncEcFcGco ffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfHfUbJfKfndodpdjhVbWbXbYbZb6 7 Lf_

316 if method in METHODS_WITH_BODY: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

317 request_body_oai = get_openapi_operation_request_body( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

318 body_field=route.body_field, 

319 model_name_map=model_name_map, 

320 field_mapping=field_mapping, 

321 separate_input_output_schemas=separate_input_output_schemas, 

322 ) 

323 if request_body_oai: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

324 operation["requestBody"] = request_body_oai 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

325 if route.callbacks: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

326 callbacks = {} 1dgajkehblmficno

327 for callback in route.callbacks: 1dgajkehblmficno

328 if isinstance(callback, routing.APIRoute): 1dgajkehblmficno

329 ( 1dgajkehblmficno

330 cb_path, 

331 cb_security_schemes, 

332 cb_definitions, 

333 ) = get_openapi_path( 

334 route=callback, 

335 operation_ids=operation_ids, 

336 model_name_map=model_name_map, 

337 field_mapping=field_mapping, 

338 separate_input_output_schemas=separate_input_output_schemas, 

339 ) 

340 callbacks[callback.name] = {callback.path: cb_path} 1dgajkehblmficno

341 operation["callbacks"] = callbacks 1dgajkehblmficno

342 if route.status_code is not None: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

343 status_code = str(route.status_code) 2icqhTczkkhhhkcrh*cAklhihmcshedBkmhjh

344 else: 

345 # It would probably make more sense for all response classes to have an 

346 # explicit default status_code, and to extract it from them, instead of 

347 # doing this inspection tricks, that would probably be in the future 

348 # TODO: probably make status_code a default class attribute for all 

349 # responses in Starlette 

350 response_signature = inspect.signature(current_response_class.__init__) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4cjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

351 status_code_param = response_signature.parameters.get("status_code") 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4cjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

352 if status_code_param is not None: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4cjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

353 if isinstance(status_code_param.default, int): 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4cjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

354 status_code = str(status_code_param.default) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4cjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

355 operation.setdefault("responses", {}).setdefault(status_code, {})[ 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

356 "description" 

357 ] = route.response_description 

358 if route_response_media_type and is_body_allowed_for_status_code( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

359 route.status_code 

360 ): 

361 response_schema = {"type": "string"} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWj|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

362 if lenient_issubclass(current_response_class, JSONResponse): 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWj|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

363 if route.response_field: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjWj|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)juj*jHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjbk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

364 response_schema = get_schema_from_model_field( 2ic1iwd2i3iJcE g F G H I J KcLcp q 4iYi5i6iajj s , t - 8 9 7i! OfWc8igjQdXcYck WdkhxcXdYd[dRfSfTf2c3c4c6b3b5c6c0 1 . kc9i~d!i#i7cL h M N O P Q 8c9cu v $iZi%i'ipjl x ; y = # $ (i% Wf-c)ivjte.c/cm zelhCcAeBe5eZf0f1f?c@c[c8b4b]c^c3 4 ? mc*i%e+i,i_cS i T U V W X `c{cz A -i0i.i/iEjn C ] D ^ ' ( :i) 4fhd;iKj{eidjdo cfmhHcdfefIf7f8f9fndodpd!b5bqdrd6 7 _

365 field=route.response_field, 

366 model_name_map=model_name_map, 

367 field_mapping=field_mapping, 

368 separate_input_output_schemas=separate_input_output_schemas, 

369 ) 

370 else: 

371 response_schema = {} 2!f]gQjwkd * sdtdudMfvdicRj#f|ixd+ $focSj%fa yd'f(fzdK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcScFdTcYiNfr ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdj 4h[f5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{fTjUcVcHdUjVjfjWj|fXjIdJdKdLdMdNdgbOdYjPd=ihbZjnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jhjijjjxckj@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j]d6j^dhhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfggghgig7bjg|g#jxke / `d{d|dUf}dkc$jkgmjae: lgqc%jmgb bengogceR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)cie*cZiVfw !h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijel biBgciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg'j+c,cke(j)juj*jHg+jlemeneoepeqezbre,jse[iAb-johuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jwjxjyjCczj^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j6e@j7eihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePgQgRgSg9bTgch`jykf @ 9e!e#e2f$emc{jUgBj'e[ Vgsc|jWgc (eXgYg)eY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd/eed0i3fB hiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:en Ji#gKiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g}jfdgd;e~jakJjbk*gck=e?e@e[e]e^eSb_edk`e_iTbekph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikLjMjNjHcOj{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkJflkKfjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g?g@g[g#b

372 operation.setdefault("responses", {}).setdefault( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDd*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWj|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgeqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-e0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

373 status_code, {} 

374 ).setdefault("content", {}).setdefault(route_response_media_type, {})[ 

375 "schema" 

376 ] = response_schema 

377 if route.responses: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

378 operation_responses = operation.setdefault("responses", {}) 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

379 for ( 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

380 additional_status_code, 

381 additional_response, 

382 ) in route.responses.items(): 

383 process_response = copy.deepcopy(additional_response) 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

384 process_response.pop("model", None) 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

385 status_code_key = str(additional_status_code).upper() 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

386 if status_code_key == "DEFAULT": 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

387 status_code_key = "default" 2ud|d#e

388 openapi_response = operation_responses.setdefault( 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

389 status_code_key, {} 

390 ) 

391 assert isinstance(process_response, dict), ( 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

392 "An additional response must be a dict" 

393 ) 

394 field = route.response_fields.get(additional_status_code) 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

395 additional_field_schema: dict[str, Any] | None = None 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

396 if field: 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

397 additional_field_schema = get_schema_from_model_field( 2d * tdudMfwdE g F G H I J p q FdTcNfs t e / {d|dUf~dL h M N O P Q u v ie*cVfx y f @ !e#e2f%eS i T U V W X z A /eed3fC D

398 field=field, 

399 model_name_map=model_name_map, 

400 field_mapping=field_mapping, 

401 separate_input_output_schemas=separate_input_output_schemas, 

402 ) 

403 media_type = route_response_media_type or "application/json" 2d * tdudMfwdE g F G H I J p q FdTcNfs t e / {d|dUf~dL h M N O P Q u v ie*cVfx y f @ !e#e2f%eS i T U V W X z A /eed3fC D

404 additional_schema = ( 2d * tdudMfwdE g F G H I J p q FdTcNfs t e / {d|dUf~dL h M N O P Q u v ie*cVfx y f @ !e#e2f%eS i T U V W X z A /eed3fC D

405 process_response.setdefault("content", {}) 

406 .setdefault(media_type, {}) 

407 .setdefault("schema", {}) 

408 ) 

409 deep_dict_update(additional_schema, additional_field_schema) 2d * tdudMfwdE g F G H I J p q FdTcNfs t e / {d|dUf~dL h M N O P Q u v ie*cVfx y f @ !e#e2f%eS i T U V W X z A /eed3fC D

410 status_text: str | None = status_code_ranges.get( 2wkd * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhxke / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohykf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

411 str(additional_status_code).upper() 

412 ) or http.client.responses.get(int(additional_status_code)) 

413 description = ( 2d * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhe / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

414 process_response.get("description") 

415 or openapi_response.get("description") 

416 or status_text 

417 or "Additional Response" 

418 ) 

419 deep_dict_update(openapi_response, process_response) 2d * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhe / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

420 openapi_response["description"] = description 2d * tdudMfwdE g F G H I J a p q FdTcNfs , t - Z nhe / {d|dUf~dL h M N O P Q b u v ie*cVfx ; y = 2 ohf @ !e#e2f%eS i T U V W X c z A /eed3fC ] D ^ 5 ph

421 http422 = "422" 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

422 all_route_params = get_flat_params(route.dependant) 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

423 if (all_route_params or route.body_field) and not any( 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

424 status in operation["responses"] 

425 for status in [http422, "4XX", "default"] 

426 ): 

427 operation["responses"][http422] = { 2!f]gd sdvdic#fxd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcScr (b)b*bGdj [fs , t - Z ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f! IdJdKdLdMdNdgbOdPdhbOfWcQdXcYcRdSdTdUd}fVd_b`bjcucvcwck $bWdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb+b6b3b5c6c0 1 _dfg. gghgig7bjg|ge `d}dkckgae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)cw ,b-b.bjel Bgx ; y = 2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg% lemeneoepeqezbreseAbWf-cte.c/cuevewexeIgyeacbclczcAcBcm %bzelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGb/b8b4b]c^c3 4 8ePg? QgRgSg9bTgchf 9e$emcUg'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcdddB :b;b=b:en #gC ] D ^ 5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g) =e?e@e[e]e^eSb_e`eTb4fhd{eidjd|e}e~eaf+gbfgchcncEcFcGco 'bcfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZb?b!b5bqdrd6 7 Lf=g_ ?g@g[g#b

428 "description": "Validation Error", 

429 "content": { 

430 "application/json": { 

431 "schema": {"$ref": REF_PREFIX + "HTTPValidationError"} 

432 } 

433 }, 

434 } 

435 if "ValidationError" not in definitions: 2!f]gd sdvdic#fxd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcScr (b)b*bGdj [fs , t - Z ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f! IdJdKdLdMdNdgbOdPdhbOfWcQdXcYcRdSdTdUd}fVd_b`bjcucvcwck $bWdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb+b6b3b5c6c0 1 _dfg. gghgig7bjg|ge `d}dkckgae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)cw ,b-b.bjel Bgx ; y = 2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg% lemeneoepeqezbreseAbWf-cte.c/cuevewexeIgyeacbclczcAcBcm %bzelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGb/b8b4b]c^c3 4 8ePg? QgRgSg9bTgchf 9e$emcUg'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcdddB :b;b=b:en #gC ] D ^ 5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g) =e?e@e[e]e^eSb_e`eTb4fhd{eidjd|e}e~eaf+gbfgchcncEcFcGco 'bcfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZb?b!b5bqdrd6 7 Lf=g_ ?g@g[g#b

436 definitions.update( 2!f]gd sdvdic#fxd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcScr (b)b*bGdj [fs , t - Z ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f! IdJdKdLdMdNdgbOdPdhbOfWcQdXcYcRdSdTdUd}fVd_b`bjcucvcwck $bWdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb+b6b3b5c6c0 1 _dfg. gghgig7bjg|ge `d}dkckgae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)cw ,b-b.bjel Bgx ; y = 2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg% lemeneoepeqezbreseAbWf-cte.c/cuevewexeIgyeacbclczcAcBcm %bzelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGb/b8b4b]c^c3 4 8ePg? QgRgSg9bTgchf 9e$emcUg'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcdddB :b;b=b:en #gC ] D ^ 5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g) =e?e@e[e]e^eSb_e`eTb4fhd{eidjd|e}e~eaf+gbfgchcncEcFcGco 'bcfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZb?b!b5bqdrd6 7 Lf=g_ ?g@g[g#b

437 { 

438 "ValidationError": validation_error_definition, 

439 "HTTPValidationError": validation_error_response_definition, 

440 } 

441 ) 

442 if route.openapi_extra: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

443 deep_dict_update(operation, route.openapi_extra) 2Mc}ihjijjj!cnjwjxjyj|cCjLjMjNj

444 path[method.lower()] = operation 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

445 return path, security_schemes, definitions 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

446 

447 

448def get_fields_from_routes( 2FkIkGkHk

449 routes: Sequence[BaseRoute], 

450) -> list[ModelField]: 

451 body_fields_from_routes: list[ModelField] = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

452 responses_from_routes: list[ModelField] = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

453 request_fields_from_routes: list[ModelField] = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

454 callback_flat_models: list[ModelField] = [] 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

455 for route in routes: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

456 if getattr(route, "include_in_schema", None) and isinstance( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

457 route, routing.APIRoute 

458 ): 

459 if route.body_field: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

460 assert isinstance(route.body_field, ModelField), ( 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

461 "A request body must be a Pydantic Field" 

462 ) 

463 body_fields_from_routes.append(route.body_field) 2!f]g#f+ $fE g F G H I J oc%f'f(fK )fp q ^g*f+f,f-f.f/f_g`g:f;f=f?f@fr (b)b*bj [f]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 |f! gbhbOfQdXcYc}fk $bWdkhxcXdYd~f{gagPfQfbgcgdgegib[dRfSfTfjbkblbmbnb+b6b3b5c6c0 1 fg. gghgig7bjg|gkg: lgL h M N O P Q qcmgngogR pgu v }gqgrgsgtgugvg~gahwgxgygzgAgw ,b-b.bl BgCgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ Hg% zbAbWfte.c/cIgm %bzelhCcAeBeJgbhKgXfYfLgMgNgOgBb5eZf0f1fCbDbEbFbGb/b8b4b]c^c3 4 Pg? QgRgSg9bTgchUg[ VgS i T U V W X scWgXgYgY Zgz A dh0g1g2g3g4g5gehfh6g7g8g9g!gB :b;b=bn #g$g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( *g) SbTb4f{eidjd+go 'bcfmhHcdfef,ggh-g5f6f.g/g:g;gUbIf7f8f9fVbWbXbYbZb?b!b5bqdrd6 7 =g_ ?g@g[g#b

464 if route.response_field: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

465 responses_from_routes.append(route.response_field) 2ic1iwd2i3iJcE g F G H I J KcLcp q 4iYi5i6iajj s , t - 8 9 7i! OfWc8igjQdXcYck WdkhxcXdYd[dRfSfTf2c3c4c6b3b5c6c0 1 . kc9i~d!i#i7cL h M N O P Q 8c9cu v $iZi%i'ipjl x ; y = # $ (i% Wf-c)ivjte.c/cm zelhCcAeBe5eZf0f1f?c@c[c8b4b]c^c3 4 ? mc*i%e+i,i_cS i T U V W X `c{cz A -i0i.i/iEjn C ] D ^ ' ( :i) 4fhd;iKj{eidjdo cfmhHcdfefIf7f8f9fndodpd!b5bqdrd6 7 _

466 if route.response_fields: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

467 responses_from_routes.extend(route.response_fields.values()) 2d * tdudMfwdE g F G H I J p q FdTcNfs t e / {d|dUf~dL h M N O P Q u v ie*cVfx y f @ !e#e2f%eS i T U V W X z A /eed3fC D

468 if route.callbacks: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

469 callback_flat_models.extend(get_fields_from_routes(route.callbacks)) 1dgajkehblmficno

470 params = get_flat_params(route.dependant) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

471 request_fields_from_routes.extend(params) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g#b

472 

473 flat_models = callback_flat_models + list( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

474 body_fields_from_routes + responses_from_routes + request_fields_from_routes 

475 ) 

476 return flat_models 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

477 

478 

479def get_openapi( 2FkIkGkHk

480 *, 

481 title: str, 

482 version: str, 

483 openapi_version: str = "3.1.0", 

484 summary: str | None = None, 

485 description: str | None = None, 

486 routes: Sequence[BaseRoute], 

487 webhooks: Sequence[BaseRoute] | None = None, 

488 tags: list[dict[str, Any]] | None = None, 

489 servers: list[dict[str, str | Any]] | None = None, 

490 terms_of_service: str | None = None, 

491 contact: dict[str, str | Any] | None = None, 

492 license_info: dict[str, str | Any] | None = None, 

493 separate_input_output_schemas: bool = True, 

494 external_docs: dict[str, Any] | None = None, 

495) -> dict[str, Any]: 

496 info: dict[str, Any] = {"title": title, "version": version} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

497 if summary: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

498 info["summary"] = summary 2=iSiTi[iUiVi_iWiXi

499 if description: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

500 info["description"] = description 2=iSiTi[iUiVi_iWiXi

501 if terms_of_service: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

502 info["termsOfService"] = terms_of_service 2SiTiUiViWiXi

503 if contact: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

504 info["contact"] = contact 2SiTiUiViWiXi

505 if license_info: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

506 info["license"] = license_info 2SiTiUiViWiXi

507 output: dict[str, Any] = {"openapi": openapi_version, "info": info} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

508 if servers: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

509 output["servers"] = servers 2|i~ibjcjdjejljmjojqjrjsjtjAjBjDjFjGjHjIjPj

510 components: dict[str, dict[str, Any]] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

511 paths: dict[str, dict[str, Any]] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

512 webhook_paths: dict[str, dict[str, Any]] = {} 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

513 operation_ids: set[str] = set() 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

514 all_fields = get_fields_from_routes(list(routes or []) + list(webhooks or [])) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

515 flat_models = get_flat_models_from_fields(all_fields, known_models=set()) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

516 model_name_map = get_model_name_map(flat_models) 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

517 field_mapping, definitions = get_definitions( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

518 fields=all_fields, 

519 model_name_map=model_name_map, 

520 separate_input_output_schemas=separate_input_output_schemas, 

521 ) 

522 for route in routes or []: 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

523 if isinstance(route, routing.APIRoute): 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

524 result = get_openapi_path( 2!f]gQjwkd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#jxke / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jykf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

525 route=route, 

526 operation_ids=operation_ids, 

527 model_name_map=model_name_map, 

528 field_mapping=field_mapping, 

529 separate_input_output_schemas=separate_input_output_schemas, 

530 ) 

531 if result: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

532 path, security_schemes, path_definitions = result 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

533 if path: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

534 paths.setdefault(route.path_format, {}).update(path) 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

535 if security_schemes: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

536 components.setdefault("securitySchemes", {}).update( 2ChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3h4h5h6h7h+b6b3b8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haibicidiei/b8b4bfigihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIiJiKiLiMi?b!b5bNiOi

537 security_schemes 

538 ) 

539 if path_definitions: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?ik $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 8jlj9j!j_dfg. gghgigjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]im %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 ]jAj^j_j8ePg? QgRgSgTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`io 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 nkPjokpkLf=g_ ?g@g[g

540 definitions.update(path_definitions) 2!f]gd sdvdic#fxd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcScr (b)b*bGdj [fs , t - Z ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f! IdJdKdLdMdNdgbOdPdhbOfWcQdXcYcRdSdTdUd}fVd_b`bjcucvcwck WdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb+b6b3b5c6c0 1 _dfg. gghgigjg|ge `d}dkckgae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)cw ,b-b.bjel Bgx ; y = 2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg% lemeneoepeqezbreseAbWf-cte.c/cuevewexeIgyeacbclczcAcBcm zelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGb/b8b4b]c^c3 4 8ePg? QgRgSgTgchf 9e$emcUg'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcdddB :b;b=b:en #gC ] D ^ 5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g) =e?e@e[e]e^eSb_e`eTb4fhd{eidjd|e}e~eaf+gbfgchcncEcFcGco cfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZb?b!b5bqdrd6 7 Lf=g_ ?g@g[g

541 for webhook in webhooks or []: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

542 if isinstance(webhook, routing.APIRoute): 2$b7b%b9b'b#b

543 result = get_openapi_path( 2$b7b%b9b'b#b

544 route=webhook, 

545 operation_ids=operation_ids, 

546 model_name_map=model_name_map, 

547 field_mapping=field_mapping, 

548 separate_input_output_schemas=separate_input_output_schemas, 

549 ) 

550 if result: 2$b7b%b9b'b#b

551 path, security_schemes, path_definitions = result 2$b7b%b9b'b#b

552 if path: 2$b7b%b9b'b#b

553 webhook_paths.setdefault(webhook.path_format, {}).update(path) 2$b7b%b9b'b#b

554 if security_schemes: 2$b7b%b9b'b#b

555 components.setdefault("securitySchemes", {}).update( 27b9b#b

556 security_schemes 

557 ) 

558 if path_definitions: 2$b7b%b9b'b#b

559 definitions.update(path_definitions) 2$b7b%b9b'b#b

560 if definitions: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

561 components["schemas"] = {k: definitions[k] for k in sorted(definitions)} 2!f]gd * sdtdudMfvdic1iwd2i#f3ixd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6i(b)b*bGdj [fs , t - Z ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f7i! IdJdKdLdMdNdgbOdPdhbOfWc8iQdXcYcRdSdTdUd}fVd_b`bjcucvcwck $bWdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb+b6b3b5c6c0 1 _dfg. gghgig7bjg|ge / `d{d|dUf}dkc9i~d!ikg#iae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i,b-b.bjel Bgx ; y = 2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg(i% lemeneoepeqezbreseAbWf-c)ite.c/cuevewexeIgyeacbclczcAcBcm %bzelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGb/b8b4b]c^c3 4 8ePg? QgRgSg9bTgchf @ 9e!e#e2f$emc*i%e+iUg,i'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /i:b;b=b:en #gC ] D ^ 5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g:i) =e?e@e[e]e^eSb_e`eTb4fhd;i{eidjd|e}e~eaf+gbfgchcncEcFcGco 'bcfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZb?b!b5bqdrd6 7 Lf=g_ ?g@g[g#b

562 if components: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

563 output["components"] = components 2!f]gd * sdtdudMfvdic1iwd2i#f3ixd+ Jc$fE g F G H I J ocKc%fa yd'f(fzdLcK )fMcp q AdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdj 4h[fs , t - 5hZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 UcVcHd|f7i! IdJdKdLdMdNdgbOdPdhbOfWc8iQdXcYcRdSdTdUd}fVd_b`bjcucvcwck $bWdkhxcXdYdZd0d1d2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib[dRfSfTf]d^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c0 1 _dfg. gghgig7bjg|ge / `d{d|dUf}dkc9i~d!ikg#iae: 7clgL h M N O P Q qc8cmgb bengogce9cR pg!cu v deAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijel biBgx ; y = ci2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ +c,ckeHg(i% lemeneoepeqezbreseAbWf-c)ite.c/cuevewexeIgyeacbclczcAcBcm %bzelhCcAeBeCeDeEeFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb5eZf0f1f6e7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c3 4 8ePg? QgRgSg9bTgchf @ 9e!e#e2f$emc*i%e+iUg,i'e[ _cVgS i T U V W X sc`cWgc (eXgYg)e{cY Zg|cz A *eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:en Ji#gC ] D ^ Ki5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( fdgd;e*g:i) =e?e@e[e]e^eSb_e`eTb4fhd;i{eidjd|e}e~eaf+gbfgchcncEcFcGco 'bcfmhHcdfefffgfhfifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbIf7f8f9fJfKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrd6 7 Lf=g_ ?g@g[g#b

564 output["paths"] = paths 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

565 if webhook_paths: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

566 output["webhooks"] = webhook_paths 2$b7b%b9b'b#b

567 if tags: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

568 output["tags"] = tags 2?i]i`i

569 if external_docs: 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b

570 output["externalDocs"] = external_docs 2ickcmc

571 return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True) # type: ignore 2!f]gQjd * sdtdudMfvdic1iwdRj2i#f|i3ixd+ Jc$fE g F G H I J ocSjKc%fa yd'f(fzdLcK )fMc}ip q ~iAdzhBd^gCdpcDdqh*f+f,f-f.fNcOc/f_g`g:f;f=f?f@f@b[b]b^bEdPcQcRcSc4iFdTcYiNf5ir 6iChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWh(bXhYhthuh)b*bZh0h1h2h3hGdajj 4h[fs , t - 5hbjcjdjejZ ]f^f` { | 0b} ~ abbbcbdbebfb_f`f{f8 9 TjUcVcHdUjVjfjqkWjtkzk|f7i! XjIdJdKdLdMdNdgbOdYjPd=ihbOfWc8igjZjQdXcYcnhRdSdTdUd}fVd_b`bjcucvcwcSiTi0j1j?iJkk $b2j3jCkWdhjijjjkhxckjXdYd@iZd0d1d4j2d3d4d5d6d7d8dZc0c9d!d#d$d%d'd(d)d*d+d,d-d.d/d1c:dyc;d=d?dPi@d~f{gagPfQfbgcgdgegib5j[dRfSfTf]d6j^d2c3c4chhjbkblbmbnb6h7h+b6b3b8h9h5c6c7j0 1 Kk8jlj9j!j_dfg. gghgig7bjg|g#je / `d{d|dUf}dkc9i~d$j!ikgmj#iae: 7clgL h M N O P Q qc%j8cmgb bengogce9cR pg!cnju v ojdeAhee}gfercgerhqgrgsgtgug#c$cvg~gahwgxgygzgAg{b|b}b~bhe%c'c(c)c$iie*cZiVf%iw 'i!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h@h[h]h^h,b_h`hvhwh-b.b{h|h}h~haijepjl biBgx ; y = ciqjrjsjtj2 CgDgobpbqb1brbsbtbubvbwbxbybEgFgGg# $ 'j+c,cke(j)jujrk*jukAkHg(i% +jlemeneoepeqezbre,jse[iAbWf-c)ivj-jte.c/cohuevewexeIgyeacbclczcAcBcUiVi.j/j]iLkm %b:j;jDkzewjxjyjlhCczjAeBe^iCeDeEe=jFeGeHeIeJeKeLe:c;cMeNeOePeQeReSeTeUeVeWeXeYeZe=c0eDc1e2e3eQi4eJgbhKgXfYfLgMgNgOgBb?j5eZf0f1f6e@j7e?c@c[cihCbDbEbFbGbdiei/b8b4bfigi]c^c[j3 4 Mk]jAj^j_j8ePg? QgRgSg9bTgch`jf @ 9e!e#e2f$emc*i%e{j+iUgBj,i'e[ _cVgS i T U V W X sc|j`cWgc (eXgYg)e{cY Zg|cCjz A Dj*eBh+edh,etc-esh0g1g2g3g4g}c~c5gehfh6g7g8g9g!gccdcecfc.eadbdcddd-i/eed0i3f.iB /ihiiijikiliminioipiqirisitiuiviwixiyiziAiBi:bCiDixhyh;b=bEiFiGiHiIi:eEjn Ji#gC ] D ^ KiFjGjHjIj5 $g%gHbIbJb2bKbLbMbNbObPbQbRb'g(g)g' ( }jfdgd;e~jakJjskbkvkBk*g:i) ck=e?e@e[e]e^eSb_edk`e_iTb4fhd;iKjek{eidjdph|e}e~eaf+gbfgchcncEcFcGcWiXifkgk`iNko 'bhkikEkcfLjMjNjmhHcOjdfef{iffgfhfjkifjfkflfmfnfofkdldpfqfrfsftfufvfwfxfyfzfAfBfCfmdDfIcEfFfGfRiHf,ggh-g5f6f.g/g:g;gUbkkIf7f8f9fJflkKfndodpdjhVbWbXbYbZbLiMi?b!b5bNiOiqdrdmk6 7 OknkPjokpkLf=g_ ?g@g[g#b