Coverage for fastapi/routing.py: 100%

376 statements  

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

1import asyncio 1efabcd

2import dataclasses 1efabcd

3import email.message 1efabcd

4import inspect 1efabcd

5import json 1efabcd

6from contextlib import AsyncExitStack, asynccontextmanager 1efabcd

7from enum import Enum, IntEnum 1efabcd

8from typing import ( 1efabcd

9 Any, 

10 AsyncIterator, 

11 Callable, 

12 Collection, 

13 Coroutine, 

14 Dict, 

15 List, 

16 Mapping, 

17 Optional, 

18 Sequence, 

19 Set, 

20 Tuple, 

21 Type, 

22 Union, 

23) 

24 

25from fastapi import params 1efabcd

26from fastapi._compat import ( 1efabcd

27 ModelField, 

28 Undefined, 

29 _get_model_config, 

30 _model_dump, 

31 _normalize_errors, 

32 lenient_issubclass, 

33) 

34from fastapi.datastructures import Default, DefaultPlaceholder 1efabcd

35from fastapi.dependencies.models import Dependant 1efabcd

36from fastapi.dependencies.utils import ( 1efabcd

37 _should_embed_body_fields, 

38 get_body_field, 

39 get_dependant, 

40 get_flat_dependant, 

41 get_parameterless_sub_dependant, 

42 get_typed_return_annotation, 

43 solve_dependencies, 

44) 

45from fastapi.encoders import jsonable_encoder 1efabcd

46from fastapi.exceptions import ( 1efabcd

47 FastAPIError, 

48 RequestValidationError, 

49 ResponseValidationError, 

50 WebSocketRequestValidationError, 

51) 

52from fastapi.types import DecoratedCallable, IncEx 1efabcd

53from fastapi.utils import ( 1efabcd

54 create_cloned_field, 

55 create_model_field, 

56 generate_unique_id, 

57 get_value_or_default, 

58 is_body_allowed_for_status_code, 

59) 

60from pydantic import BaseModel 1efabcd

61from starlette import routing 1efabcd

62from starlette.concurrency import run_in_threadpool 1efabcd

63from starlette.exceptions import HTTPException 1efabcd

64from starlette.requests import Request 1efabcd

65from starlette.responses import JSONResponse, Response 1efabcd

66from starlette.routing import ( 1efabcd

67 BaseRoute, 

68 Match, 

69 compile_path, 

70 get_name, 

71 request_response, 

72 websocket_session, 

73) 

74from starlette.routing import Mount as Mount # noqa 1efabcd

75from starlette.types import AppType, ASGIApp, Lifespan, Scope 1efabcd

76from starlette.websockets import WebSocket 1efabcd

77from typing_extensions import Annotated, Doc, deprecated 1efabcd

78 

79 

80def _prepare_response_content( 1efabcd

81 res: Any, 

82 *, 

83 exclude_unset: bool, 

84 exclude_defaults: bool = False, 

85 exclude_none: bool = False, 

86) -> Any: 

87 if isinstance(res, BaseModel): 2yfKgugLg)ihbImMg)pw x 2 *i+i!p' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQgujib#mRg$my z 3 vjwj#p( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNhfb!kCg/ps t U OhPhen8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hgbclHg:pu v V ]h^hfn9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%jjbgn|g;pA B 4 'j(j'p) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkkbJnch=pC D 5 sktk(p* ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

88 read_with_orm_mode = getattr(_get_model_config(res), "read_with_orm_mode", None) 2hbMg)pw x 2 ' JmKmLm/i:i3qMmNmOmPmQm?i4qRmSm5qTmUmVmWmXm_f_iYm`f`iZm0m1m2m3m4m5mkhlhejfj6m7m8m9m!m{f|f}f~fshNgOgthuhvhrjsjAfBf=eibRg$my z 3 ( %m'm(mAjBjhq)m*m+m,m-mEjiq.m/mjq:m;m=m?m@magJj[mbgKj]m^m_m`m{m|m}mChDhTjUj~manbncndncgdgegfgKhSgTgLhUgVg6j7j`e{e/efbCg/ps t U 8 #k$k%kThUh6q'k(k)k*k+kXh7q,k-k8q.k/k:k;k=k$f2h?k%f3h@k[k]k^k_k`k{k1g2g$h%h|k}k~kalbl'f(f)f*f+f9gDgEg!g#g$g=h?h}e~e:egbHg:pu v V 9 dlelfl|h}h9qglhliljlklbi!qllml#qnlolplqlrl,fgisl-fhitlulvlwlxlylzl,g-gqiriAlBlClDlEl.f/f:f;f=f@gIgJg[g]g^gDiEibfcf;ejb|g;pA B 4 ) hninjn,j-j$qknlnmnnnon:j%qpnqn'qrnsntnunvngg[jwnhg]jxnynznAnBnCnDnLiMibkckEnFnGnHnInigjgkglgmgTi}g~gUiViWiokpkMfNf[ekbch=pC D 5 * KnLnMnxkyk(qNnOnPnQnRnBk)qSnTn*qUnVnWnXnYnngGkZnogHk0n1n2n3n4n5n6n3i4iQkRk7n8n9n!n#npgqgrgsgtg#idheh$i%i'i3k4kQfRf]e

89 if read_with_orm_mode: 2hbMg)pw x 2 ' JmKmLm/i:i3qMmNmOmPmQm?i4qRmSm5qTmUmVmWmXm_f_iYm`f`iZm0m1m2m3m4m5mkhlhejfj6m7m8m9m!m{f|f}f~fshNgOgthuhvhrjsjAfBf=eibRg$my z 3 ( %m'm(mAjBjhq)m*m+m,m-mEjiq.m/mjq:m;m=m?m@magJj[mbgKj]m^m_m`m{m|m}mChDhTjUj~manbncndncgdgegfgKhSgTgLhUgVg6j7j`e{e/efbCg/ps t U 8 #k$k%kThUh6q'k(k)k*k+kXh7q,k-k8q.k/k:k;k=k$f2h?k%f3h@k[k]k^k_k`k{k1g2g$h%h|k}k~kalbl'f(f)f*f+f9gDgEg!g#g$g=h?h}e~e:egbHg:pu v V 9 dlelfl|h}h9qglhliljlklbi!qllml#qnlolplqlrl,fgisl-fhitlulvlwlxlylzl,g-gqiriAlBlClDlEl.f/f:f;f=f@gIgJg[g]g^gDiEibfcf;ejb|g;pA B 4 ) hninjn,j-j$qknlnmnnnon:j%qpnqn'qrnsntnunvngg[jwnhg]jxnynznAnBnCnDnLiMibkckEnFnGnHnInigjgkglgmgTi}g~gUiViWiokpkMfNf[ekbch=pC D 5 * KnLnMnxkyk(qNnOnPnQnRnBk)qSnTn*qUnVnWnXnYnngGkZnogHk0n1n2n3n4n5n6n3i4iQkRk7n8n9n!n#npgqgrgsgtg#idheh$i%i'i3k4kQfRf]e

90 # Let from_orm extract the data from this model instead of converting 

91 # it now to a dict. 

92 # Otherwise, there's no way to extract lazy data that requires attribute 

93 # access instead of dict iteration, e.g. lazy relationships. 

94 return res 2' AfBf( `e{e8 }e~e9 bfcf) MfNf* QfRf

95 return _model_dump( 2hbMg)pw x 2 JmKmLm/i:i3qMmNmOmPmQm?i4qRmSm5qTmUmVmWmXm_f_iYm`f`iZm0m1m2m3m4m5mkhlhejfj6m7m8m9m!m{f|f}f~fshNgOgthuhvhrjsj=eibRg$my z 3 %m'm(mAjBjhq)m*m+m,m-mEjiq.m/mjq:m;m=m?m@magJj[mbgKj]m^m_m`m{m|m}mChDhTjUj~manbncndncgdgegfgKhSgTgLhUgVg6j7j/efbCg/ps t U #k$k%kThUh6q'k(k)k*k+kXh7q,k-k8q.k/k:k;k=k$f2h?k%f3h@k[k]k^k_k`k{k1g2g$h%h|k}k~kalbl'f(f)f*f+f9gDgEg!g#g$g=h?h:egbHg:pu v V dlelfl|h}h9qglhliljlklbi!qllml#qnlolplqlrl,fgisl-fhitlulvlwlxlylzl,g-gqiriAlBlClDlEl.f/f:f;f=f@gIgJg[g]g^gDiEi;ejb|g;pA B 4 hninjn,j-j$qknlnmnnnon:j%qpnqn'qrnsntnunvngg[jwnhg]jxnynznAnBnCnDnLiMibkckEnFnGnHnInigjgkglgmgTi}g~gUiViWiokpk[ekbch=pC D 5 KnLnMnxkyk(qNnOnPnQnRnBk)qSnTn*qUnVnWnXnYnngGkZnogHk0n1n2n3n4n5n6n3i4iQkRk7n8n9n!n#npgqgrgsgtg#idheh$i%i'i3k4k]e

96 res, 

97 by_alias=True, 

98 exclude_unset=exclude_unset, 

99 exclude_defaults=exclude_defaults, 

100 exclude_none=exclude_none, 

101 ) 

102 elif isinstance(res, list): 2yfKgugLg)iImMg)p2 *i+i!p,i-i.ifhghhh/i:i;i=icq?i@i[idq]i^ieq_i`i{i|i}i? G M k l ~iajihbj6kcjdjjhkhlhejfjgjhjijjjmhzfnhoh^ekjljphmjqhXfYfrhnjojpjqjrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQguj#mRg$m3 vjwj#pxjyjzjxhyhzhAjBjCjDj*pEjFjGj+pHjIj,pJjKjLjMjNj@ H N m n OjPjAhQj8kRjSjBhChDhTjUjVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fJh2j3j4j5j6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNh!kCg/pU OhPhenQhRhShWgXgYgThUhVhWhkqXhYhZhlq0h1hmq2h3h4h5h6h; E K g h 7h8hZg9h9j!h#h0g1g2g$h%h'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf8g.h/h:h;h=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hclHg:pV ]h^hfn_h`h{h'g(g)g|h}h~haipqbicidiqqeifirqgihiiijiki= F L i j limi*gni#joipi+g,g-gqirisitiuivi.gaf/g:g@ewixi;gyi=gIfJf?gziAiBiCiDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%jgn|g;p4 'j(j'p)j*j+jGiHiIi,j-j.j/juq:j;j=jvq?j@jwq[j]j^j_j`j[ I O o p {j|jJi}jFl~jakKiLiMibkckdkekfkgkNiLfOiPidfhkikQijkRi1f2fSikklkmknkokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkJnch=p5 sktk(pukvkwkYiZi0ixkykzkAkzqBkCkDkAqEkFkBqGkHkIkJkKk] J P q r LkMk1iNkHlOkPk2i3i4iQkRkSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4f!iZk0k1k2k3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

103 return [ 22 *i+i!pfhghhh/i:i?i_i`iihcjjhejfjmhzfnhoh^ephqhrhrjsjAfBf?pGq@pIqwh3 vjwj#pxhyhzhAjBjEjJjKjAhRjBhTjUjEhDfFhGh_eHhIhJh6j7j`e{e$p[p%p^pMhU OhPhenWgXgYgThUhXh2h3hZg!h0g$h%h3g|e4g5g?e6g7g8g=h?h}e~eQ _pJq`pLq%gV ]h^hfn'g(g)g|h}hbigihi*goi+gqiri.gaf/g:g@e;g=g?gDiEibfcfR {pMq|pOq_g4 'j(j'pGiHiIi,j-j:j[j]jJi~jKibkckNiLfOiPidfQiRiSiokpkMfNfW }pPq~pRqXi5 sktk(pYiZi0ixkykBkGkHk1iOk2iQkRk5iPf6i7ief8i9i!i3k4kQfRfX aqSqbqUq(i

104 _prepare_response_content( 

105 item, 

106 exclude_unset=exclude_unset, 

107 exclude_defaults=exclude_defaults, 

108 exclude_none=exclude_none, 

109 ) 

110 for item in res 

111 ] 

112 elif isinstance(res, dict): 2yfKgugLg)iImMg)p*i+i,i-i.ifhghhh;i=icq@i[idq]i^ieq{i|i}i? G M k l ~iajihbj6kcjdjjhkhlhgjhjijjjmhzfnhoh^ekjljphmjqhXfYfrhnjojpjqj=e?pfqGqHqtj7k@pgqIqwhCfPgvgQguj#mRg$mvjwjxjyjzjxhyhzhCjDj*pFjGj+pHjIj,pLjMjNj@ H N m n OjPjAhQj8kRjSjBhChDhVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fJh2j3j4j5j/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNh!kCg/pOhPhQhRhShWgXgYgVhWhkqYhZhlq0h1hmq4h5h6h; E K g h 7h8hZg9h9j!h#h0g1g2g'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf8g.h/h:h;h:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hclHg:p]h^h_h`h{h'g(g)g~haipqcidiqqeifirqiijiki= F L i j limi*gni#joipi+g,g-gsitiuivi.gaf/g:g@ewixi;gyi=gIfJf?gziAiBiCi;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%jgn|g;p'j(j)j*j+jGiHiIi.j/juq;j=jvq?j@jwq^j_j`j[ I O o p {j|jJi}jFl~jakKiLiMidkekfkgkNiLfOiPidfhkikQijkRi1f2fSikklkmknk[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkJnch=psktkukvkwkYiZi0izkAkzqCkDkAqEkFkBqIkJkKk] J P q r LkMk1iNkHlOkPk2i3i4iSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4f!iZk0k1k2k]eX aqCqSqTq5kIlbqDqUq(i

113 return { 2)iImMg)p,i-i.ifhghhh;i=icq@i[idq]i^ieq{i|i}i? G M ~iajihbjdjjhkhlhgjhjijjjmhzfnhoh^ekjljphmjqhXfYfrhnjojpjqj=e?pfqGqtj@pgqIqwhuj#mRg$mxjyjzjxhyhzhCjDj*pFjGj+pHjIj,pLjMjNj@ H N OjPjAhQjSjBhChDhVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fJh2j3j4j5j/e$p-p[p8j%p.p^pMhNh!kCg/pQhRhShWgXgYgVhWhkqYhZhlq0h1hmq4h5h6h; E K 7h8hZg9h#h0g1g2g'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf8g.h/h:h;h:eQ _pnqJq@h`poqLq%g[hclHg:p_h`h{h'g(g)g~haipqcidiqqeifirqiijiki= F L limi*gnipi+g,g-gsitiuivi.gaf/g:g@ewixi;gyi=gIfJf?gziAiBiCi;eR {psqMqFi|ptqOq_g%jgn|g;p)j*j+jGiHiIi.j/juq;j=jvq?j@jwq^j_j`j[ I O {j|jJi}jakKiLiMidkekfkgkNiLfOiPidfhkikQijkRi1f2fSikklkmknk[eW }pxqPqqk~pyqRqXirkJnch=pukvkwkYiZi0izkAkzqCkDkAqEkFkBqIkJkKk] J P LkMk1iNkPk2i3i4iSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4f!iZk0k1k2k]eX aqCqSq5kbqDqUq(i

114 k: _prepare_response_content( 

115 v, 

116 exclude_unset=exclude_unset, 

117 exclude_defaults=exclude_defaults, 

118 exclude_none=exclude_none, 

119 ) 

120 for k, v in res.items() 

121 } 

122 elif dataclasses.is_dataclass(res): 2yfKgugLg)iMg)p*i+i,i-i.ifhghhh;i=icq@i[idq]i^ieq{i|i}i? G M k l ~iajihbj6kcjdjjhgjhjijjjmhzfnhoh^ekjljphmjqhXfYfrhnjojpjqj=e?pfqGqHqtj7k@pgqIqwhCfPgvgQgujRg$mvjwjxjyjzjxhyhzhCjDj*pFjGj+pHjIj,pLjMjNj@ H N m n OjPjAhQj8kRjSjBhVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fJh2j3j4j5j/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNhCg/pOhPhQhRhShWgXgYgVhWhkqYhZhlq0h1hmq4h5h6h; E K g h 7h8hZg9h9j!h#h0g'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf8g.h/h:h;h:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hHg:p]h^h_h`h{h'g(g)g~haipqcidiqqeifirqiijiki= F L i j limi*gni#joipi+gsitiuivi.gaf/g:g@ewixi;gyi=gIfJf?gziAiBiCi;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%j|g;p'j(j)j*j+jGiHiIi.j/juq;j=jvq?j@jwq^j_j`j[ I O o p {j|jJi}jFl~jakKidkekfkgkNiLfOiPidfhkikQijkRi1f2fSikklkmknk[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkch=psktkukvkwkYiZi0izkAkzqCkDkAqEkFkBqIkJkKk] J P q r LkMk1iNkHlOkPk2iSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4f!iZk0k1k2k]eX aqCqSqTq5kIlbqDqUq(i

123 return dataclasses.asdict(res) 26kcj^e8kRj_e9j!h?e#joi@eFl~jdfHlOkef

124 return res 2yfKgugLg)iMg)p*i+i,i-i.ifhghhh;i=icq@i[idq]i^ieq{i|i}i? G M k l ~iajihbjdjjhgjhjijjjmhzfnhoh^ekjljphmjqhXfYfrhnjojpjqj=e?pfqGqHqtj7k@pgqIqwhCfPgvgQgujRg$mvjwjxjyjzjxhyhzhCjDj*pFjGj+pHjIj,pLjMjNj@ H N m n OjPjAhQjSjBhVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fJh2j3j4j5j/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNhCg/pOhPhQhRhShWgXgYgVhWhkqYhZhlq0h1hmq4h5h6h; E K g h 7h8hZg9h#h0g'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf8g.h/h:h;h:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hHg:p]h^h_h`h{h'g(g)g~haipqcidiqqeifirqiijiki= F L i j limi*gnipi+gsitiuivi.gaf/g:g@ewixi;gyi=gIfJf?gziAiBiCi;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%j|g;p'j(j)j*j+jGiHiIi.j/juq;j=jvq?j@jwq^j_j`j[ I O o p {j|jJi}jakKidkekfkgkNiLfOiPidfhkikQijkRi1f2fSikklkmknk[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkch=psktkukvkwkYiZi0izkAkzqCkDkAqEkFkBqIkJkKk] J P q r LkMk1iNkPk2iSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4f!iZk0k1k2k]eX aqCqSqTq5kIlbqDqUq(i

125 

126 

127def _merge_lifespan_context( 1efabcd

128 original_context: Lifespan[Any], nested_context: Lifespan[Any] 

129) -> Lifespan[Any]: 

130 @asynccontextmanager 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

131 async def merged_lifespan( 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

132 app: AppType, 

133 ) -> AsyncIterator[Optional[Mapping[str, Any]]]: 

134 async with original_context(app) as maybe_original_state: 2z0^q7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r_T`TG M {TE'A0_q~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBs|T}TH N ~TF'B0+qbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDraUbUE K cUG'C0,qErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6rdUeUF L fUH'D0`qCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4sgUhUI O iUI'E0{q5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{sjUkUJ P lUJ'

135 async with nested_context(app) as maybe_nested_state: 2z0^q7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r_T`TG M {TE'A0_q~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBs|T}TH N ~TF'B0+qbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDraUbUE K cUG'C0,qErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6rdUeUF L fUH'D0`qCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4sgUhUI O iUI'E0{q5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{sjUkUJ P lUJ'

136 if maybe_nested_state is None and maybe_original_state is None: 2z0^q7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r_T`TG M {TE'A0_q~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBs|T}TH N ~TF'B0+qbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDraUbUE K cUG'C0,qErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6rdUeUF L fUH'D0`qCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4sgUhUI O iUI'E0{q5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{sjUkUJ P lUJ'

137 yield None # old ASGI compatibility 2z0^q7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r`TG E'A0_q~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBs}TH F'B0+qbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCrDrbUE G'C0,qErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r6reUF H'D0`qCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4shUI I'E0{q5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{skUJ J'

138 else: 

139 yield {**(maybe_nested_state or {}), **(maybe_original_state or {})} 2_TM {T|TN ~TaUK cUdUL fUgUO iUjUP lU

140 

141 return merged_lifespan # type: ignore[return-value] 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

142 

143 

144async def serialize_response( 1efabcd

145 *, 

146 field: Optional[ModelField] = None, 

147 response_content: Any, 

148 include: Optional[IncEx] = None, 

149 exclude: Optional[IncEx] = None, 

150 by_alias: bool = True, 

151 exclude_unset: bool = False, 

152 exclude_defaults: bool = False, 

153 exclude_none: bool = False, 

154 is_coroutine: bool = True, 

155) -> Any: 

156 if field: 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

157 errors = [] 2yfKgugLg-q)ihbnbImMg)p.q8vw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQg/qujibob#mRg$m:qkuy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgXqNhfblb!kCg/pYqxws t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGgZq[hgbmbclHg:p0qgAu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g;q%jjbpbgn|g;p=qFDA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbh?qrkkbqbJnch=p@qIDC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

158 if not hasattr(field, "serialize"): 2yfKgugLg-q)ihbnbImMg)p.q8vw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQg/qujibob#mRg$m:qkuy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgXqNhfblb!kCg/pYqxws t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGgZq[hgbmbclHg:p0qgAu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g;q%jjbpbgn|g;p=qFDA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbh?qrkkbqbJnch=p@qIDC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

159 # pydantic v1 

160 response_content = _prepare_response_content( 2yfKgugLg)ihbImMg)pw x 2 *i+i!p' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQgujib#mRg$my z 3 vjwj#p( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgNhfb!kCg/ps t U OhPhen8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGg[hgbclHg:pu v V ]h^hfn9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g%jjbgn|g;pA B 4 'j(j'p) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbhrkkbJnch=pC D 5 sktk(p* ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

161 response_content, 

162 exclude_unset=exclude_unset, 

163 exclude_defaults=exclude_defaults, 

164 exclude_none=exclude_none, 

165 ) 

166 if is_coroutine: 2yfKgugLg-q)ihbnbImMg)p.q8vw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQg/qujibob#mRg$m:qkuy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgXqNhfblb!kCg/pYqxws t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGgZq[hgbmbclHg:p0qgAu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g;q%jjbpbgn|g;p=qFDA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbh?qrkkbqbJnch=p@qIDC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

167 value, errors_ = field.validate(response_content, {}, loc=("response",)) 2yfKgugLgMg)p.q8vXm_f_iYm`f`igjhjijjjmhzfnh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvh=eCfPgvgQgRg$m:qku@magJj[mbgKjVjWjXjYjEhDfFh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg/eEfAgwgBgCg/pYqxw=k$f2h?k%f3h'h(h)h*h3g|e4g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g:eHfFgxgGgHg:p0qgArl,fgisl-fhisitiuivi.gaf/g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^g;eKf`gyg{g|g;p=qFDvngg[jwnhg]jdkekfkgkNiLfOidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWi[eOfahzgbhch=p@qIDYnngGkZnogHkSkTkUkVk5iPf6iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i]e

168 else: 

169 value, errors_ = await run_in_threadpool( 2-q)ihbnbImw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mohrjsjAfBf?pfqGqHqtj7k@pgqIqwh/qujibob#my z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnGh6j7j`e{e$p-p[p]p8j9k%p.p^pMhXqNhfblb!ks t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl5g=h?h}e~eQ _pnqJqKq@h!j`poqLq%gZq[hgbmbclu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqltliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlEl:gDiEibfcfR {psqMqNqFi$j|ptqOq_g;q%jjbpbgnA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInPiokpkMfNfW }pxqPqQqqkGl~pyqRqXi?qrkkbqbJnC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXn0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#n7i3k4kQfRfX aqCqSqTq5kIlbqDqUq(i

170 field.validate, response_content, {}, loc=("response",) 

171 ) 

172 if isinstance(errors_, list): 2yfKgugLg-q)ihbnbImMg)p.q8vw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQg/qujibob#mRg$m:qkuy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgXqNhfblb!kCg/pYqxws t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGgZq[hgbmbclHg:p0qgAu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g;q%jjbpbgn|g;p=qFDA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbh?qrkkbqbJnch=p@qIDC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

173 errors.extend(errors_) 28vcq3qdq4qeq5q?pfqGqHq@pgqIqku*phq+piq,pjq$p-p[p]p%p.p^pxwkq6qlq7qmq8q_pnqJqKq`poqLqgApq9qqq!qrq#q{psqMqNq|ptqOqFDuq$qvq%qwq'q}pxqPqQq~pyqRqIDzq(qAq)qBq*qaqCqSqTqbqDqUq

174 elif errors_: 2yfKgugLg-q)ihbnbImMg)p.qw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqHqtj7k@pgqwhCfPgvgQg/qujibob#mRg$m:qy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p]p8j9k%p.pMhEfAgwgBgXqNhfblb!kCg/pYqs t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqKq@h!j`poq%gHfFgxgGgZq[hgbmbclHg:p0qu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqNqFi$j|ptq_gKf`gyg{g;q%jjbpbgn|g;p=qA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqQqqkGl~pyqXiOfahzgbh?qrkkbqbJnch=p@qC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqTq5kIlbqDq(i

175 errors.append(errors_) 2)pcq3qdq4qeq5q?pfqHq@pgq$m*phq+piq,pjq$p-p]p%p.p/pkq6qlq7qmq8q_pnqKq`poq:ppq9qqq!qrq#q{psqNq|ptq;puq$qvq%qwq'q}pxqQq~pyq=pzq(qAq)qBq*qaqCqTqbqDq

176 if errors: 2yfKgugLg-q)ihbnbImMg)p.q8vw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=icq3qMmNmOmPmQm?i@i[idq4qRmSm]i^ieq5qTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=e?pfqGqHqtj7k@pgqIqwhCfPgvgQg/qujibob#mRg$m:qkuy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj*phq)m*m+m,m-mEjFjGj+piq.m/mHjIj,pjq:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e$p-p[p]p8j9k%p.p^pMhEfAgwgBgXqNhfblb!kCg/pYqxws t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWhkq6q'k(k)k*k+kXhYhZhlq7q,k-k0h1hmq8q.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ _pnqJqKq@h!j`poqLq%gHfFgxgGgZq[hgbmbclHg:p0qgAu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haipq9qglhliljlklbicidiqq!qllmleifirq#qnlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR {psqMqNqFi$j|ptqOq_gKf`gyg{g;q%jjbpbgn|g;p=qFDA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/juq$qknlnmnnnon:j;j=jvq%qpnqn?j@jwq'qrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW }pxqPqQqqkGl~pyqRqXiOfahzgbh?qrkkbqbJnch=p@qIDC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkzq(qNnOnPnQnRnBkCkDkAq)qSnTnEkFkBq*qUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX aqCqSqTq5kIlbqDqUq(i

177 raise ResponseValidationError( 2)p8vcq3qdq4qeq5q?pfqGqHq@pgqIq$mku*phq+piq,pjq$p-p[p]p%p.p^p/pxwkq6qlq7qmq8q_pnqJqKq`poqLq:pgApq9qqq!qrq#q{psqMqNq|ptqOq;pFDuq$qvq%qwq'q}pxqPqQq~pyqRq=pIDzq(qAq)qBq*qaqCqSqTqbqDqUq

178 errors=_normalize_errors(errors), body=response_content 

179 ) 

180 

181 if hasattr(field, "serialize"): 2yfKgugLg-q)ihbnbImMg.qw x 2 *i+i!p- ' ,i-i.ifhghhhJmKmLm/i:i;i=iMmNmOmPmQm?i@i[iRmSm]i^iTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=etj7kwhCfPgvgQg/qujibob#mRg:qy z 3 vjwj#p. ( xjyjzjxhyhzh%m'm(mAjBjCjDj)m*m+m,m-mEjFjGj.m/mHjIj:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e8j9kMhEfAgwgBgXqNhfblb!kCgYqs t U OhPhen+ 8 QhRhShWgXgYg#k$k%kThUhVhWh'k(k)k*k+kXhYhZh,k-k0h1h.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ @h!j%gHfFgxgGgZq[hgbmbclHg0qu v V ]h^hfn, 9 _h`h{h'g(g)gdlelfl|h}h~haiglhliljlklbicidillmleifinlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR Fi$j_gKf`gyg{g;q%jjbpbgn|g=qA B 4 'j(j'p/ ) )j*j+jGiHiIihninjn,j-j.j/jknlnmnnnon:j;j=jpnqn?j@jrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW qkGlXiOfahzgbh?qrkkbqbJnch@qC D 5 sktk(p: * ukvkwkYiZi0iKnLnMnxkykzkAkNnOnPnQnRnBkCkDkSnTnEkFkUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX 5kIl(i

182 return field.serialize( 2yfKgugLg-q)inbIm.qw x 2 *i+i!p- ,i-i.ifhghhhJmKmLm/i:i;i=iMmNmOmPmQm?i@i[iRmSm]i^iTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=etj7kwhCfPgvgQg/qujob#m:qy z 3 vjwj#p. xjyjzjxhyhzh%m'm(mAjBjCjDj)m*m+m,m-mEjFjGj.m/mHjIj:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e8j9kMhEfAgwgBgXqNhlb!kYqs t U OhPhen+ QhRhShWgXgYg#k$k%kThUhVhWh'k(k)k*k+kXhYhZh,k-k0h1h.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ @h!j%gHfFgxgGgZq[hmbcl0qu v V ]h^hfn, _h`h{h'g(g)gdlelfl|h}h~haiglhliljlklbicidillmleifinlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR Fi$j_gKf`gyg{g;q%jpbgn=qA B 4 'j(j'p/ )j*j+jGiHiIihninjn,j-j.j/jknlnmnnnon:j;j=jpnqn?j@jrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW qkGlXiOfahzgbh?qrkqbJn@qC D 5 sktk(p: ukvkwkYiZi0iKnLnMnxkykzkAkNnOnPnQnRnBkCkDkSnTnEkFkUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX 5kIl(i

183 value, 

184 include=include, 

185 exclude=exclude, 

186 by_alias=by_alias, 

187 exclude_unset=exclude_unset, 

188 exclude_defaults=exclude_defaults, 

189 exclude_none=exclude_none, 

190 ) 

191 

192 return jsonable_encoder( 2yfKgugLg)ihbImMgw x 2 *i+i!p' ,i-i.ifhghhhJmKmLm/i:i;i=iMmNmOmPmQm?i@i[iRmSm]i^iTmUmVmWmXm_f_iYm`f`iZm{i0m|i1m}i? G M k l ~iajihbj6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!mgjhjijjjmhzfnhoh^ekjljphmjqhXfYf{f|f}f~frhnjojpjqjshNgOgthuhvhrjsjAfBf=etj7kwhCfPgvgQgujib#mRgy z 3 vjwj#p( xjyjzjxhyhzh%m'm(mAjBjCjDj)m*m+m,m-mEjFjGj.m/mHjIj:m;m=m?m@magJj[mbgKj]mLj^mMj_mNj@ H N m n OjPjAhQj8kRjSjBh`m{m|m}mChDhTjUj~manbncndnVjWjXjYjEhDfFhGh_eZj0jHh1jIhZf0fcgdgegfgJh2j3j4j5jKhSgTgLhUgVg6j7j`e{e/e8j9kMhEfAgwgBgNhfb!kCgs t U OhPhen8 QhRhShWgXgYg#k$k%kThUhVhWh'k(k)k*k+kXhYhZh,k-k0h1h.k/k:k;k=k$f2h?k%f3h@k4h[k5h]k6h; E K g h 7h8hZg9h9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalbl'h(h)h*h3g|e4g5g?e+h,h6g-h7gFfGf'f(f)f*f+f8g.h/h:h;h9gDgEg!g#g$g=h?h}e~e:eQ @h!j%gHfFgxgGg[hgbclHgu v V ]h^hfn9 _h`h{h'g(g)gdlelfl|h}h~haiglhliljlklbicidillmleifinlolplqlrl,fgisl-fhitliiuljivlki= F L i j limi*gni#joipi+gwlxlylzl,g-gqiriAlBlClDlElsitiuivi.gaf/g:g@ewixi;gyi=gIfJf.f/f:f;f=f?gziAiBiCi@gIgJg[g]g^gDiEibfcf;eR Fi$j_gKf`gyg{g%jjbgn|gA B 4 'j(j'p) )j*j+jGiHiIihninjn,j-j.j/jknlnmnnnon:j;j=jpnqn?j@jrnsntnunvngg[jwnhg]jxn^jyn_jzn`j[ I O o p {j|jJi}jFl~jakKiAnBnCnDnLiMibkckEnFnGnHnIndkekfkgkNiLfOiPidfhkikQijkRi1f2figjgkglgmgSikklkmknkTi}g~gUiViWiokpkMfNf[eW qkGlXiOfahzgbhrkkbJnchC D 5 sktk(p* ukvkwkYiZi0iKnLnMnxkykzkAkNnOnPnQnRnBkCkDkSnTnEkFkUnVnWnXnYnngGkZnogHk0nIk1nJk2nKk] J P q r LkMk1iNkHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#nSkTkUkVk5iPf6i7iefWkXk8iYk9i3f4fpgqgrgsgtg!iZk0k1k2k#idheh$i%i'i3k4kQfRf]eX 5kIl(i

193 value, 

194 include=include, 

195 exclude=exclude, 

196 by_alias=by_alias, 

197 exclude_unset=exclude_unset, 

198 exclude_defaults=exclude_defaults, 

199 exclude_none=exclude_none, 

200 ) 

201 else: 

202 return jsonable_encoder(response_content) 2KDLDMDNDOD$n%nPDQDRDSDTDqcGv{bY 7vUDVDbb^qWDXDPb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D}r]D+n^D_D,n%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmE! nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E@E[EHv]E;n^EIvJv_E`E{E|E}E~EaFbFcFdFeF` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!F#F$F%F=n'F?n/t@n[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tboco~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfoqGrGsGtGuGvGwGxGyGzGAGBGgoCGDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}Gjokolomo~GhuaHNgOgbHnooocHdHAfBfeHfHgHhHiHtbjHkHlHmHnHoHpHqHrHpoqoiujurososHtHuHvHwHtouoxHyHzHAHBHrcLvacZ !vCHDHcb_qEHFHQb~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!HBs#Hzo$H%HAolumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_H# `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!IMv#IFo$INvOv%I'I(I)I*I+I,I-I.I/I:I{ ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJGoWJHouuIoJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUodc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXo}J~JaKbKcKdKeKfKgKhKiKjKYokKlKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)K*K1o2o3o4o+KQu,KSgTg-K5o6o.K/K`e{e:K;K=K?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$v%v'v(v)vJlKl*v+v,v-v.vscQv.bS Rv/v:v| +q;v=vvbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwDruwPlvwwwQl|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPw6 QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxwbxb;b=bsxtxuxTuvxVlwxUuVuxxyxzxAxBxCxDxExFxGxHx^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfyWlgyXlgtYlZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%lTyUyVyWyXyYyZy0y1y2y3y4y'l5y6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y]y^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAzBz*l+l,l-lCzCtDzDgEgEz.l/lFzGz}e~eHzIzJzKzLzrbMzNzOzPzQzRzSzTzUz:l;lDtEt=l?lVzWzXzYzZz@l[l0z1z2z3z4ztcTv@bT Uv5z6z} ,q7z8zybErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcA6rdA{leAfA|lFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyA7 zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBzbAb^b_bbBcBdBXueBcmfBYuZugBhBiBjBkBlBmBnBoBpBqB_ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B:B;B=Bdm?BemOtfmgm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCumCCDCECFCGCHCICJCKCLCMCNCvmOCPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjDkDymzmAmBmlD!tmDIgJgnDCmDmoDpDbfcfqDrDsDtDuDsbvDwDxDyDzDADBDCDDDEmFm#t$tGmHmaLbLcLdLeL#o$ofLgLhLiLjLucWvec0 EDkLlLdb`qmLnLRbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSL4sTL*oULVL+o1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%L$ 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMSbTbhcicQMRMSMXvTM:oUMYvZvVMWMXMYMZM0M1M2M3M4M5M~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDN;oEN=o!u?o@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)Nep*N+N,N-N.N/N:N;N=N?N@N[Nfp]N^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOZOipjpkplp0O`u1O}g~g2Ompnp3O4OMfNf5O6O7O8O9OBb!O#O$O%O'O(O)O*O+Ooppp{u|uqprp,O-O.O/O:Osptp;O=O?O@O[Ovc1vkc1 HD]O^Oeb{q_O`OUb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAP{sBPypCPDPzp}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVP% WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQVbWbncocyQzQAQ2vBQEpCQ3v4vDQEQFQGQHQIQJQKQLQMQNQabOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRFpmRGphvHpIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTppcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWpZR0R1R2R3R4R5R6R7R8R9R!RXp#R$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSHS0p1p2p3pISDvJSdhehKS4p5pLSMSQfRfNSOSPSQSRSCbSSTSUSVSWSXSYSZS0S6p7pEvFv8p9p

203 

204 

205async def run_endpoint_function( 1efabcd

206 *, dependant: Dependant, values: Dict[str, Any], is_coroutine: bool 

207) -> Any: 

208 # Only called by get_request_handler. Has been split into its own function to 

209 # facilitate profiling endpoints, since inner functions are harder to profile. 

210 assert dependant.call is not None, "dependant.call must be a function" 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n)n1S*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]DT0U0V0+n^D_D`U{U,n|UMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F00?F@F[F10]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtG20301WuG402WvG506070wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0hoHG$0IGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhbHnorjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowoxo6vyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#HeXfXgXzo$H%HBVCVAoDVRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7JlX8J9J!JmX#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKnXoXVWcKpXWWdKqXrXsXeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXZopKxXqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMlNl2SOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruw_0`0{0PlvwwwnUoUQlpUCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryb1sytyuyc1vywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyd1e1XWXyf1YWYyg1h1i1Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1(l!yn1#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^l_l3S`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdAG1H1I1{leAfAUUVU|lWUHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCN1bCcCdCO1eCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCP1Q1ZWGCR10WHCS1T1U1ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1wmTCZ1UCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'o(o4S)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL+1,1-1*oULVL8V9V+o!V|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPN=1QNRNSN?1TNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N@1[1(W.N]1)W/N^1_1`1:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1gp|Na2}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi2Ompoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvpwp5SxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPt2u2v2ypCPDPeWfWzpgWch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRA2yRzRARB2BRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2RC2D2.W3RE2/W4RF2G2H25R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL2Yp)RM2*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

211 

212 if is_coroutine: 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n)n1S*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]DT0U0V0+n^D_D`U{U,n|UMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F00?F@F[F10]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtG20301WuG402WvG506070wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0hoHG$0IGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhbHnorjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowoxo6vyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#HeXfXgXzo$H%HBVCVAoDVRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7JlX8J9J!JmX#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKnXoXVWcKpXWWdKqXrXsXeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXZopKxXqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMlNl2SOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruw_0`0{0PlvwwwnUoUQlpUCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryb1sytyuyc1vywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyd1e1XWXyf1YWYyg1h1i1Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1(l!yn1#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^l_l3S`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdAG1H1I1{leAfAUUVU|lWUHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCN1bCcCdCO1eCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCP1Q1ZWGCR10WHCS1T1U1ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1wmTCZ1UCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'o(o4S)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL+1,1-1*oULVL8V9V+o!V|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPN=1QNRNSN?1TNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N@1[1(W.N]1)W/N^1_1`1:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1gp|Na2}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi2Ompoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvpwp5SxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPt2u2v2ypCPDPeWfWzpgWch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRA2yRzRARB2BRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2RC2D2.W3RE2/W4RF2G2H25R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL2Yp)RM2*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

213 return await dependant.call(**values) 2KDLDMDNDOD%nQDRDSDTDyfKgugLgqcGv{bY XDYDZD0D1D2DF0G0H03D4D5DI07DN0O0P09D'n(n)n$D%D'D(D)D*D+D,D-D.D/D:D;DMg)p.q8v`D-n{D|D}D~DaEkErEsEtEuEvEHvIvJvXm_f_iYm`f`idFLFMFTFUFVFWFXFYF8FW09FX0Y0Z0'FgjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F=F00?F@F[F10]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVpVoGpGfonh^eqGrGsGwGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0hoHG$0IGJGKGLGMGNGOGPGQGRGSGTGUGVGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufugu}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhcHdHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVsHtHuHvHwHuoyHzHAHBHCfPgvgQgrcLvacZ FHGHHHIHJHKH@W[W]WLHMHNH^WPH}W~WaXRHvowoxoUHVHWHXHYHZH0H1H2H3H4H5H6HRg$m:qku'HBo(H)H*H+H,H]H~HaIbIcIdIMvNvOv@magJj[mbgKj/ItJuJBJCJDJEJFJGJQJhXRJiXjXkXWJVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J7JlX8J9J!JmX#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDf(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVVV{J|JXoFh_e}J~JaKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXZopKxXqKrKsKtKuKvKwKxKyKzKAKBKCKDKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg.K/KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V$v%v'v(v)vKl+v,v-v.vEfAgwgBgscQv.bS =v?v@v[v]v^v*0+0,0_v`v{v-0}v=0?0@0awLlMlNldwewfwgwhwiwjwkwlwmwnwowpwCg/pYqxwywRlzwAwBwCwDwNwUwVwWwXwYwwbxb;b=bTuUuVu=k$f2h?k%f3hGx'x(x/x:x;x=x?x@xay|0by}0~0a1gy'hsU(htU)huU*hvU[qZlhyiyhtjykylyryb1sytyuyc1vywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|ezyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUHURySy%l4g?eTyUyVyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1(l!yn1#y$y%y'y(y)y*y+y,y-y.y/y:y;y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBt)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gFzGzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUVzWzXzYzZz[l1z2z3z4zHfFgxgGgtcTv@bT 8z9z!z#z$z%zs1t1u1'z(z)zv1+zA1B1C1-z]l^l_l:z;z=z?z@z[z]z^z_z`z{z|z}zHg:p0qgAhA}liAjAkAlAmAwADAEAFAGAHAzbAb^b_bXuYuZurl,fgisl-fhipBXBYB5B6B7B8B9B!B-BJ1.BK1L1M1?BsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_BaCN1bCcCdCO1eCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gafiCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U'UACBCum/g@eCCDCECICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1wmTCZ1UCVCWCXCYCZC0C1C2C3C4C5C6C7C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^goDpDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UaLbLcLdLeL$ogLhLiLjLKf`gyg{gucWvec0 nLoLpLqLrLsL415161tLuLvL71xL$1%1'1zL%o'o(oCLDLELFLGLHLILJLKLLLMLNLOL|g;p=qFDWL,oXLYLZL0L1L#L+L,L-L.L/LSbTbhcicXvYvZvvngg[jwnhg]j4MbNcNjNkNlNmNnNoNyN.1zN/1:1;1ENdk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNPN=1QNRNSN?1TNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V[V(N)NepOidf*N+N,N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1gp|Na2}N~NaObOcOdOeOfOgOhOiOjOkOlOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_ukglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi3O4OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW,O-O.O/O:Otp=O?O@O[OOfahzgbhvc1vkc1 `O{O|O}O~OaPf2g2h2bPcPdPi2fPn2o2p2hPupvpwpkPlPmPnPoPpPqPrPsPtPuPvPwPch=p@qIDEPApFPGPHPIPJPTP0P1P2P3P4PVbWbncoc2v3v4vYnngGkZnogHkMQ-Q.Q[Q]Q^Q_Q`Q{QgRw2hRx2y2z2mRSkjWTkkWUklWVkmWarIpnRoRivpRqRrRxRA2yRzRARB2BRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWyWXRYRWp6iefZR0R1R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL2Yp)RM2*R+R,R-R.R/R:R;R=R?R@R[R]R^R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCvrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iLSMSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW

214 else: 

215 return await run_in_threadpool(dependant.call, **values) 2$nPD7vUDVDbb-q^qWD)iPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rJ0K0L06D8DM0Q0R0S0!D#D1S*n=D?D@D[DIm}r]DT0U0V0+n^D_D`U{U,n|U%t't(t)t*t+tbEcEdEeEfEgEhEiE|b}b.n/njE:nlEmEw ! x 2 nEoEpEqEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[E]E;n^E,i-i.ifhghhhJmKmLm/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmZm{i0m|i1m}icF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tNFOFPF-tQFRFSF.tZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m!F#F$F%F=n?n/t@n-F.F/F:F;F~boVohtG20301WuG402WvG506070ioWGKvsV{GtV|GbHnorjoosjAfBfeHfHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhtoxH!vCHDHcb/q_qEHujQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAs_W`W{WOHQH|WbXcXdXSHTH6vyo7H8H9H!H#mBs#HeXfXgXzo$H%HBVCVAoDVlumunuoupuqu-H.H/H:H;H=H?H@HbcccCoDo[HEo^H_Hy # z 3 `H{H|H}HeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!I#IFo$Ixjyjzjxhyhzh%m'm(mAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m]mLj^mMj_mNj.I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJruvJwJxJsuyJzJAJtuHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnSJTJUJVJGoHouuIo2J3J4J5J6JdcUVGhbKnXoXVWcKpXWWdKqXrXsX0oEKPvYV(KZV)K-K5o6j6o7j`e{e:K;K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMhJl*vRv/v:v| Xq+q;vNhvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr.0/0:0|v~v;0[0]0^0bwcw2SOlqwrwswtw!kDruw_0`0{0PlvwwwnUoUQlpU|s}s~satbtctEwFwGwHwIwJwKwLw/b:bSlTlMwUlOwPws 6 t U QwRwSwTwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 sxtxuxvxVlwxQhRhShWgXgYg#k$k%kThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k@k4h[k5h]k6hFx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt)x*x+xet,x-x.xft[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblcydyeyfyWlXlgtYlmynyoypyqy?bGU5gWyd1e1XWXyf1YWYyg1h1i1)l=yWuKUzzLUAzEz.l=h/l?h}e~eHzIzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%g@l0zUv5z6z} Zq,q7z[hybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5rw1x1y1*z,zz1D1E1F1.z/z3S`l~zaAbAcAcl6rdAG1H1I1{leAfAUUVU|lWUFtGtHtItJtKtnAoApAqArAsAtAuA[b]b~lamvAbmxAyAu 7 v V zAAABACAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 bBcBdBeBcmfB_h`h{h'g(g)gdlelfl|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqltliiuljivlkioB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtZB0B1BMt2B3B4BNt#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl/B:B;B=BdmemOtfm`B{B|B}B~B`b%U:gFCP1Q1ZWGCR10WHCS1T1U1xm8C0u*UiD+UjDnDCmDiDmEibfcfqDrDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_g#ofLEDkLlLdb;q`qmL%jRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s8191!1wLyL#1(1)1*1ALBL4S)oPLQLRLSLgn4sTL+1,1-1*oULVL8V9V+o!V1u2u3u4u5u6u2L3L4L5L6L7L8L9Lfcgc-o.o!L/o$L%LA $ B 4 'L(L)L*L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) QMRMSMTM:oUM)j*j+jGiHiIihninjn,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunxn^jyn_jzn`j3M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7udNeNfN8ugNhNiN9upNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInANBNCNDN;o=o!u?oKNLNMNNNONjc@VPi-N@1[1(W.N]1)W/N^1_1`1hpmO0v_VXO`VYO2OmpoknppkMfNf5O6O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXisp;OHD]O^Oeb?q{q_OrkUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`sj2k2l2ePgPm2q2r2s2iPjP5SxpxPyPzPAPJn{sBPt2u2v2ypCPDPeWfWzpgW}u~uavbvcvdvKPLPMPNPOPPPQPRPlcmcBpCpSPDpUPVPC % D 5 WPXPYPZP5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * yQzQAQBQEpCQukvkwkYiZi0iKnLnMnxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXn0nIk1nJk2nKkLQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev/Q:Q;Qfv=Q?Q@Qgv|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#niRjRkRlRFpGphvHpsRtRuRvRwRpcxW7i2RC2D2.W3RE2/W4RF2G2H2Zp_R5vBWFSCWGSKS4p3k5p4kQfRfNSOS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

216 

217 

218def get_request_handler( 1efabcd

219 dependant: Dependant, 

220 body_field: Optional[ModelField] = None, 

221 status_code: Optional[int] = None, 

222 response_class: Union[Type[Response], DefaultPlaceholder] = Default(JSONResponse), 

223 response_field: Optional[ModelField] = None, 

224 response_model_include: Optional[IncEx] = None, 

225 response_model_exclude: Optional[IncEx] = None, 

226 response_model_by_alias: bool = True, 

227 response_model_exclude_unset: bool = False, 

228 response_model_exclude_defaults: bool = False, 

229 response_model_exclude_none: bool = False, 

230 dependency_overrides_provider: Optional[Any] = None, 

231 embed_body_fields: bool = False, 

232) -> Callable[[Request], Coroutine[Any, Any, Response]]: 

233 assert dependant.call is not None, "dependant.call must be a function" 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

234 is_coroutine = asyncio.iscoroutinefunction(dependant.call) 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

235 is_body_form = body_field and isinstance(body_field.field_info, params.Form) 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

236 if isinstance(response_class, DefaultPlaceholder): 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

237 actual_response_class: Type[Response] = response_class.value 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*ctbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@crbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{csbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidCbX

238 else: 

239 actual_response_class = response_class 2e Acf Bca Ccb Dcc Ecd Fc

240 

241 async def app(request: Request) -> Response: 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

242 response: Union[Response, None] = None 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

243 async with AsyncExitStack() as file_stack: 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMha $v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gb VzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gc aLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXid ,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

244 try: 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

245 body: Any = None 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

246 if body_field: 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

247 if is_body_form: 2$n6S%nyfKgugLgbbz0^qPb'n(n7S)n1S*n+n,n%t't(t)tCXDX*t+t-n.n8S9S/n!S:nw ! x - ' #SEX;n_f`f` ,tFXGXHX-tIXJXKXLX.tMXNX=n$S?nOX/t%S@n|q[n]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|fSX?tTX@t[t]t^t_t`t{t|tUX}tVX~taubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*X}f~fjokolomohu3W4Wsh5W6WNgOgthuhvhnoooAfBf=epoqo+X,Xiujurosoto:SuoCfPgvgQgcbA0_qQbvowo;Sxo6vyozoAolumunuou-X.XpuquBoCo=S?SDo@SEoy # z . ( [S/XFoagbg{ ru:X;X=Xsu?X@X[X]Xtu^X_XGo]SHo`Xuu^SIo}qJoKoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdg~XyuaYzuAuBuCuDuEuFuGubYHucYIuJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYegfg1o2o3o4oQuRWSWKhTWUWSgTgLhUgVg5o6o`e{e/e7o8ozYAYRuSu9o!oJldTKlEfAgwgBg| B0+qvbLlMleTNl2SOlPlQl|s}s~satBYCYbtctRlSlfTgTTlhTUls 6 t + 8 wbxbwciTDYVl$f%f^ dtEYFYGYetHYIYJYKYftLYMYWljTXlNYgtkTYl[qZl0l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(fRYktSYltmtntotptqtrtstTYttUYutvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)Y)f*f+f*l+l,l-lCt7W8W9g9W!WDgEg!g#g$g.l/l}e~e:eQ :l;l*Y+YDtEt=l?l@luT[lHfFgxgGg} C0,qyb]l^lvT_l3S`l{l|lFtGtHtIt,Y-YJtKt}l~lwTxTamyTbmu 7 v , 9 zbAbxczT.Ycm,f-f_ Lt/Y:Y;YMt=Y?Y@Y[YNt]Y^YdmATem_YOtBTfm]qgmhmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f}YSt~YTtUtVtWtXtYtZt0taZ1tbZ2t3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ:f;f=fymzmAmBm!t#W$W@g%W'WIgJg[g]g^gCmDmbfcf;eR EmFmyZzZ#t$tGmHm#oLT$oKf`gyg{gdbD0`qRb%o'oMT(o4S)o*o+o1u2u3u4uAZBZ5u6u,o-oNTOT.oPT/oA $ B / ) SbTbycQTCZ:ogghg~ 7uDZEZFZ8uGZHZIZJZ9uKZLZ;oRT=oMZ!uST?o~q@o[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgQZ'uRZ(u)u*u+u,u-u.u/uSZ:uTZ;u=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Zkglgmgipjpkplp`u*W+WTi,W-W}g~gUiViWimpnpMfNf[eW oppp)Z*Z{u|uqprpsp2TtpOfahzgbhebE0{qUbupvp3Twp5Sxpypzp}u~uavbv+Z,ZcvdvApBp4T5TCp6TDpC % D : * VbWbzc7T-ZEpngogabev.Z/Z:Zfv;Z=Z?Z@Zgv[Z]ZFp8TGp^Zhv9THparIpJpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqg|Zlv}Zmvnvovpvqvrvsvtv~Zuva0vvwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w0rgsgtg0p1p2p3pDv:W;W#i=W?Wdheh$i%i'i4p5pQfRf]eX 6p7px0y0EvFv8p9p

248 body = await request.form() 2z0^qPb%t't(t)tCXDX*t+t,tFXGXHX-tIXJXKXLX.tMXNXOX/tSX?tTX@t[t]t^t_t`t{t|tUX}tVX~taubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*Xhu3W4Wsh5W6WNgOgthuhvh+X,XiujuA0_qQblumunuou-X.Xpuquru:X;X=Xsu?X@X[X]Xtu^X_X`Xuu~XyuaYzuAuBuCuDuEuFuGubYHucYIuJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYQuRWSWKhTWUWSgTgLhUgVgzYAYRuSuB0+qvb|s}s~satBYCYbtctwbxbwcdtEYFYGYetHYIYJYKYftLYMYNYgtRYktSYltmtntotptqtrtstTYttUYutvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YCt7W8W9g9W!WDgEg!g#g$g*Y+YDtEtC0,qybFtGtHtIt,Y-YJtKtzbAbxcLt/Y:Y;YMt=Y?Y@Y[YNt]Y^Y_YOt}YSt~YTtUtVtWtXtYtZt0taZ1tbZ2t3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ!t#W$W@g%W'WIgJg[g]g^gyZzZ#t$tD0`qRb1u2u3u4uAZBZ5u6uSbTbyc7uDZEZFZ8uGZHZIZJZ9uKZLZMZ!uQZ'uRZ(u)u*u+u,u-u.u/uSZ:uTZ;u=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z`u*W+WTi,W-W}g~gUiViWi)Z*Z{u|uE0{qUb}u~uavbv+Z,ZcvdvVbWbzcev.Z/Z:Zfv;Z=Z?Z@Zgv[Z]Z^Zhv|Zlv}Zmvnvovpvqvrvsvtv~Zuva0vvwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w0Dv:W;W#i=W?Wdheh$i%i'ix0y0EvFv

249 file_stack.push_async_callback(body.close) 2^qPb%t't(t)tCXDX*t+t,tFXGXHX-tIXJXKXLX.tMXNXOX/tSX?tTX@t[t]t^t_t`t{t|tUX}tVX~taubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*Xhu3W4Wsh5W6WNgOgthuhvh+X,Xiuju_qQblumunuou-X.Xpuquru:X;X=Xsu?X@X[X]Xtu^X_X`Xuu~XyuaYzuAuBuCuDuEuFuGubYHucYIuJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYQuRWSWKhTWUWSgTgLhUgVgzYAYRuSu+qvb|s}s~satBYCYbtctwbxbwcdtEYFYGYetHYIYJYKYftLYMYNYgtRYktSYltmtntotptqtrtstTYttUYutvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YCt7W8W9g9W!WDgEg!g#g$g*Y+YDtEt,qybFtGtHtIt,Y-YJtKtzbAbxcLt/Y:Y;YMt=Y?Y@Y[YNt]Y^Y_YOt}YSt~YTtUtVtWtXtYtZt0taZ1tbZ2t3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ!t#W$W@g%W'WIgJg[g]g^gyZzZ#t$t`qRb1u2u3u4uAZBZ5u6uSbTbyc7uDZEZFZ8uGZHZIZJZ9uKZLZMZ!uQZ'uRZ(u)u*u+u,u-u.u/uSZ:uTZ;u=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z`u*W+WTi,W-W}g~gUiViWi)Z*Z{u|u{qUb}u~uavbv+Z,ZcvdvVbWbzcev.Z/Z:Zfv;Z=Z?Z@Zgv[Z]Z^Zhv|Zlv}Zmvnvovpvqvrvsvtv~Zuva0vvwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w0Dv:W;W#i=W?Wdheh$i%i'ix0y0EvFv

250 else: 

251 body_bytes = await request.body() 2$n6S%nyfKgugLgbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #SEX;n_f`f` =n$S?n%S@n|q[n]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfPgvgQgcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [S/XFoagbg{ Go]SHo^SIo}qJoKoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEfAgwgBg| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTDYVl$f%f^ WljTXlkTYl[qZl0l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHfFgxgGg} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zT.Ycm,f-f_ dmATemBTfm]qgmhmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKf`gyg{gdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QTCZ:ogghg~ ;oRT=oST?o~q@o[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfahzgbhebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7T-ZEpngogabFp8TGp9THparIpJpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

252 if body_bytes: 2$n6S%nyfKgugLgbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #SEX;n_f`f` =n$S?n%S@n|q[n]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfPgvgQgcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [S/XFoagbg{ Go]SHo^SIo}qJoKoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEfAgwgBg| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTDYVl$f%f^ WljTXlkTYl[qZl0l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHfFgxgGg} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zT.Ycm,f-f_ dmATemBTfm]qgmhmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKf`gyg{gdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QTCZ:ogghg~ ;oRT=oST?o~q@o[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfahzgbhebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7T-ZEpngogabFp8TGp9THparIpJpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

253 json_body: Any = Undefined 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_nVq@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMoWqmULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2lEq[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjmFq]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o1q^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp2q_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

254 content_type_value = request.headers.get("content-type") 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_nVq@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMoWqmULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2lEq[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjmFq]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o1q^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp2q_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

255 if not content_type_value: 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_nVq@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMoWqmULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2lEq[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjmFq]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o1q^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp2q_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

256 json_body = await request.json() 2VqWqEqFq1q2q

257 else: 

258 message = email.message.Message() 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

259 message["content-type"] = content_type_value 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

260 if message.get_content_maintype() == "application": 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

261 subtype = message.get_content_subtype() 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

262 if subtype == "json" or subtype.endswith("+json"): 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNW:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOW=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPW@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

263 json_body = await request.json() 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_n@UMW'S(S)S`n{n|n*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMomULW_S`S{SNoOoPo|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2l[UNWlTmTnT3l4l5loT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjm]UOWCTDTETkmlmmmFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o^UPWTTUTVT_o`o{oWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp_UQW!T#T$TMpNpOp%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

264 if json_body != Undefined: 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_nVq,T'S(S)S`n{n|n-T*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMoWq.T_S`S{SNoOoPo/T|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2lEq:TlTmTnT3l4l5l;ToT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjmFq=TCTDTETkmlmmm?TFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o1q@TTTUTVT_o`o{o[TWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp2q]T!T#T$TMpNpOp^T%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

265 body = json_body 2$n6S%nyfbb'n(n7S)n1S*n+n,n-n.n8S9S/n!S:nw ! x - ' #S;n_f`f` =n$S?n%S@n|q[n]n^n_nVq'S(S)S`n{n|n*S}n~nao+Sboco,Szfdoeo-S.Sfo^egoXfYfho/Sio{f|f}f~fjokolomonoooAfBf=epoqorosoto:SuoCfcbvowo;Sxo6vyozoAoBoCo=S?SDo@SEoy # z . ( [SFoagbg{ Go]SHo^SIo}qJoKoLoMoWq_S`S{SNoOoPo|SQoRoSo}SToUo~SDfVoWoaTbTXo_eYoZf0fZocT0ocgdgegfg1o2o3o4o5o6o`e{e/e7o8o9o!oJldTKlEf| LlMleTNl2SOlPlQlRlSlfTgTTlhTUls 6 t + 8 iTVl$f%f^ WljTXlkTYl[qZl0l1l2lEqlTmTnT3l4l5loT6l7l8lpT9l!lqT|e#l$lrTsT%l?e'lFfGf(ltT)l'f(f)f*f+f*l+l,l-l.l/l}e~e:eQ :l;l=l?l@luT[lHf} ]l^lvT_l3S`l{l|l}l~lwTxTamyTbmu 7 v , 9 zTcm,f-f_ dmATemBTfm]qgmhmimjmFqCTDTETkmlmmmFTnmompmGTqmrmHTafsmtmITJTum@evmIfJfwmKTxm.f/f:f;f=fymzmAmBmCmDmbfcf;eR EmFmGmHm#oLT$oKfdb%o'oMT(o4S)o*o+o,o-oNTOT.oPT/oA $ B / ) QT:ogghg~ ;oRT=oST?o~q@o[o]o^o1qTTUTVT_o`o{oWT|o}o~oXTapbpYTLfcpdpZT0Tepdffp1f2fgp1ThpigjgkglgmgipjpkplpmpnpMfNf[eW opppqprpsp2TtpOfebupvp3Twp5SxpypzpApBp4T5TCp6TDpC % D : * 7TEpngogabFp8TGp9THparIpJpKpLp2q!T#T$TMpNpOp%TPpQpRp'TSpTp(TPfUpVp)T*TWpefXp3f4fYp+TZppgqgrgsgtg0p1p2p3p4p5pQfRf]eX 6p7p8p9p

266 else: 

267 body = body_bytes 2,T-T.T/T:T;T=T?T@T[T]T^T

268 except json.JSONDecodeError as e: 2z0@UMWA0mULWB0[UNWC0]UOWD0^UPWE0_UQW

269 validation_error = RequestValidationError( 2MWLWNWOWPWQW

270 [ 

271 { 

272 "type": "json_invalid", 

273 "loc": ("body", e.pos), 

274 "msg": "JSON decode error", 

275 "input": {}, 

276 "ctx": {"error": e.msg}, 

277 } 

278 ], 

279 body=e.doc, 

280 ) 

281 raise validation_error from e 2MWLWNWOWPWQW

282 except HTTPException: 2z0@UA0mUB0[UC0]UD0^UE0_U

283 # If a middleware raises an HTTPException, it should be raised again 

284 raise 2z0A0B0C0D0E0

285 except Exception as e: 2@UmU[U]U^U_U

286 http_error = HTTPException( 2@UmU[U]U^U_U

287 status_code=400, detail="There was an error parsing the body" 

288 ) 

289 raise http_error from e 2@UmU[U]U^U_U

290 errors: List[Any] = [] 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

291 async with AsyncExitStack() as async_exit_stack: 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMha $v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gb VzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gc aLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXid ,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

292 solved_result = await solve_dependencies( 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

293 request=request, 

294 dependant=dependant, 

295 body=body, 

296 dependency_overrides_provider=dependency_overrides_provider, 

297 async_exit_stack=async_exit_stack, 

298 embed_body_fields=embed_body_fields, 

299 ) 

300 errors = solved_result.errors 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tFXGXHXLFMFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F00?Fr3s3@Ft3u3[F10v3]Fw3^Fx3_Fy3`Fz3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGD3sGtG20301WuG402WvG506070E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhbHnorjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgXzo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJru:X;X=XtJuJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7JlX8Jv4w49Jx4y4!JmXz4#JA4$JB4%JC4'JD4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~JH4aKbKnXoXVWcKpXWWdKqXrXsXI4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdtEYFYGY'x(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryb1syz5A5tyB5C5uyc1D5vyE5wyF5xyG5yyH50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyL5VyWyd1e1XWXyf1YWYyg1h1i1M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLt/Y:Y;YXBYBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCN1bCD6E6cCF6G6dCO1H6eCI6fCJ6gCK6hCL6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDCP6ECFCP1Q1ZWGCR10WHCS1T1U1Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7uDZEZFZbNcNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPN=1QNH7I7RNJ7K7SN?1L7TNM7UNN7VNO7WNP7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NT7,N-N@1[1(W.N]1)W/N^1_1`1U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi2Ompoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev.Z/Z:Z-Q.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRA2yRL8M8zRN8O8ARB2P8BRQ8CRR8DRS8ERT8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0RX81R2RC2D2.W3RE2/W4RF2G2H2Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

301 if not errors: 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tFXGXHXLFMFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F00?Fr3s3@Ft3u3[F10v3]Fw3^Fx3_Fy3`Fz3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGD3sGtG20301WuG402WvG506070E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhbHnorjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgXzo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJru:X;X=XtJuJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7JlX8Jv4w49Jx4y4!JmXz4#JA4$JB4%JC4'JD4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~JH4aKbKnXoXVWcKpXWWdKqXrXsXI4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdtEYFYGY'x(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryb1syz5A5tyB5C5uyc1D5vyE5wyF5xyG5yyH50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyL5VyWyd1e1XWXyf1YWYyg1h1i1M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLt/Y:Y;YXBYBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCN1bCD6E6cCF6G6dCO1H6eCI6fCJ6gCK6hCL6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDCP6ECFCP1Q1ZWGCR10WHCS1T1U1Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7uDZEZFZbNcNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPN=1QNH7I7RNJ7K7SN?1L7TNM7UNN7VNO7WNP7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NT7,N-N@1[1(W.N]1)W/N^1_1`1U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi2Ompoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev.Z/Z:Z-Q.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRA2yRL8M8zRN8O8ARB2P8BRQ8CRR8DRS8ERT8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0RX81R2RC2D2.W3RE2/W4RF2G2H2Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

302 raw_response = await run_endpoint_function( 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n)n1S*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]DT0U0V0+n^D_D`U{U,n|UMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F00?F@F[F10]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtG20301WuG402WvG506070wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0hoHG$0IGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~Ghu3W4WaHsh5W6WNgOgthuhvhbHnorjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowoxo6vyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#HeXfXgXzo$H%HBVCVAoDVRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7JlX8J9J!JmX#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKnXoXVWcKpXWWdKqXrXsXeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXZopKxXqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQuRWSW,KKhTWUWSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMlNl2SOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruw_0`0{0PlvwwwnUoUQlpUCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyryb1sytyuyc1vywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyd1e1XWXyf1YWYyg1h1i1Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1(l!yn1#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCt7W8WDz9g9W!WDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^l_l3S`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdAG1H1I1{leAfAUUVU|lWUHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCN1bCcCdCO1eCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCP1Q1ZWGCR10WHCS1T1U1ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1wmTCZ1UCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!t#W$WmD@g%W'WIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'o(o4S)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL+1,1-1*oULVL8V9V+o!V|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPN=1QNRNSN?1TNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N@1[1(W.N]1)W/N^1_1`1:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1gp|Na2}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u*W+W1OTi,W-W}g~gUiViWi2Ompoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvpwp5SxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPt2u2v2ypCPDPeWfWzpgWch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRA2yRzRARB2BRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2RC2D2.W3RE2/W4RF2G2H25R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL2Yp)RM2*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDv:W;WJS#i=W?Wdheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

303 dependant=dependant, 

304 values=solved_result.values, 

305 is_coroutine=is_coroutine, 

306 ) 

307 if isinstance(raw_response, Response): 2e KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D`U{U,n|UMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhf sHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HBVCVAoDVRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMha $v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwnUoUQlpUCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gb VzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfAUUVU|lWUHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gc aLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL8V9V+o!V|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXid ,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPeWfWzpgWch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

308 if raw_response.background is None: 2e `U{U|U}U~UaVbVcVdV|q:teVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVf BVCVDVEVFVGVHVIVJV}qvuKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7Va nUoUpUqUrUsUtUuUvU[qhtwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUb UUVUWUXUYUZU0U1U2U]qPt3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?Uc 8V9V!V#V$V%V'V(V)V~q#u*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWd eWfWgWhWiWjWkWlWmWarivnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKW

309 raw_response.background = solved_result.background_tasks 2e `U{U|U}U~UaVbVcVdV|q:teVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVf BVCVDVEVFVGVHVIVJV}qvuKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7Va nUoUpUqUrUsUtUuUvU[qhtwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUb UUVUWUXUYUZU0U1U2U]qPt3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?Uc 8V9V!V#V$V%V'V(V)V~q#u*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWd eWfWgWhWiWjWkWlWmWarivnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKW

310 response = raw_response 2e `U{U|U}U~UaVbVcVdV|q:teVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVf BVCVDVEVFVGVHVIVJV}qvuKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7Va nUoUpUqUrUsUtUuUvU[qhtwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUb UUVUWUXUYUZU0U1U2U]qPt3U4U5U6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?Uc 8V9V!V#V$V%V'V(V)V~q#u*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWd eWfWgWhWiWjWkWlWmWarivnWoWpWqWrWsWtWuWvWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKW

311 else: 

312 response_args: Dict[str, Any] = { 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

313 "background": solved_result.background_tasks 

314 } 

315 # If status_code was set, use it, otherwise use the default from the 

316 # response class, in the case of redirect it's 307 

317 current_status_code = ( 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

318 status_code 

319 if status_code 

320 else solved_result.response.status_code 

321 ) 

322 if current_status_code is not None: 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

323 response_args["status_code"] = current_status_code 27vHvIvJv9vKv!vMvNvOv#vPvRvTuUuVuSvWuUvXuYuZuVv0uEDXvYvZvGD0vHD2v3v4vJD5v

324 if solved_result.response.status_code: 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

325 response_args["status_code"] = ( 2HvIvKvMvNvPvTuUuWuXuYu0uXvYv0v2v3v5v

326 solved_result.response.status_code 

327 ) 

328 content = await serialize_response( 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg)p.q8v%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCg/pYqxw|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg:p0qgAFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g;p=qFD1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch=p@qID}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9paqCqSqTq5kIlbqDqUq(i

329 field=response_field, 

330 response_content=raw_response, 

331 include=response_model_include, 

332 exclude=response_model_exclude, 

333 by_alias=response_model_by_alias, 

334 exclude_unset=response_model_exclude_unset, 

335 exclude_defaults=response_model_exclude_defaults, 

336 exclude_none=response_model_exclude_none, 

337 is_coroutine=is_coroutine, 

338 ) 

339 response = actual_response_class(content, **response_args) 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg.q%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujurosotj7kwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg:qlumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj)m*m+m,m%I'I-mEjFjGj.m/mHjIj:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o8j9kMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCgYq|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l@h!j%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg0qFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHmFi$j_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g=q1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprpqkGlXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch@q}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9p5kIl(i

340 if not is_body_allowed_for_status_code(response.status_code): 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg.q%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujurosotj7kwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HAoRg:qlumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj)m*m+m,m%I'I-mEjFjGj.m/mHjIj:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o8j9kMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCgYq|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l@h!j%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg0qFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHmFi$j_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g=q1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprpqkGlXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch@q}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9p5kIl(i

341 response.body = b"" 2JvOvVuZuZv4v

342 response.headers.raw.extend(solved_result.response.headers.raw) 2KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D,nMg.q%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i:i;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjhjijjj[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGhGdoiGeojGkGlGmGnG9voGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|t}t~taubucudueufuguKv{G|G}f~f}Grhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHrHpoqoiujurosotj7kwhsHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowoxo6vyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#HeXfXgX(8zo$H%HAoRg$m:qkulumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjBjCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJrue9f9tJg9h9uJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJHouuIoVjWjXjYjJoXJYJvuZJ0J1J2J3J4J5J6J7Jk9lXl98J9Jm9!JmXn9#J$J%J'Jo9KoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=J?JVo@JWo[J]J^J_J`J#v{J|JXoFhGh_e}J~Jp9q9aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXZopKxXqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuPv(K)Kegfg*KJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K~K7o8oRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwQlCgYq|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThUhVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'h(h)h*hZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJyKy#lLy$lMyNyOyPyQySvRySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstttutvtwtxtytztAtBtWuzzAz)f*fBz+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzUzQ :l;lDtEt=l?l@h!j%gVzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfA|lHg0qFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|h}h~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsitiuivigm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsCtCsmuCtmvCwCxCyCzCVvACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t0uiDjD:f;fkD=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCDDDR EmFm#t$tGmHmFi$j_gaLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL+o|g=q1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j-j.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odkekfkgk@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N8Ncp9Ndp!N#N$N%N'NGD(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u0vXOYOkglgZOmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*O+OW oppp{u|uqprpqkGlXi,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPzpch@q}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkykzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkTkUkVkIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRQRUpRRVpSRTRURVRWRJDXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCv5vFSGSrgsgHStg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZS0SX 6p7pEvFv8p9p5kIl(i

343 if errors: 2e KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n7S)n*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]D42+n^D_D`U{U,n|UMg.q%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tFXGXHXLFMFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F?Fr3s3@Ft3u3[Fv3]Fw3^Fx3_Fy3`Fz3]n^n_nVq,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGD3sGtG1WuG2WvGE3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGG3ho/SHGH3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujurosotj7kwhf sHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowo;SxoyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#H83zo$H%HBVCVAoDVRg:qlumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj)m*m+m,m%I'I-mEjFjGj.m/mHjIj:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJru:X;X=XtJuJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7J8Jv4w49Jx4y4!Jz4#JA4$JB4%JC4'JD4KoLoMoWq.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~JH4aKbKVWcKWWdKI4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKK4ZocTpKL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o8j9kMha $v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMleTNlOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw$4PlvwwwnUoUQlpUCgYq|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdtEYFYGY'x(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyrysyz5A5tyB5C5uyD5vyE5wyF5xyG5yyH50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyL5VyWyXWXyYWYyM5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9yO5(ltT!yP5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l@h!j%gb VzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^lvT_l`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dA)5{leAfAUUVU|lWUHg0qFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLt/Y:Y;YXBYBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCbCD6E6cCF6G6dCH6eCI6fCJ6gCK6hCL6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDCP6ECFCZWGC0WHCQ6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCS6wmKTTCT6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHmFi$j_gc aLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'oMT(o)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL-6*oULVL8V9V+o!V|g=q1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7uDZEZFZbNcNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNQNH7I7RNJ7K7SNL7TNM7UNN7VNO7WNP7[o]o^o1q@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NT7,N-N(W.N)W/NU7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{NW7gp1T|NX7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprpqkGlXid ,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvp3Twpxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BP;7ypCPDPeWfWzpgWch@q}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev.Z/Z:Z-Q.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRyRL8M8zRN8O8ARP8BRQ8CRR8DRS8ERT8JpKpLp2q]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0RX81R2R.W3R/W4RY8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(R08Yp+T)R18*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9p5kIl(i

344 validation_error = RequestValidationError( 26SyfugqcGv7SR2S2T2U2V2W2X2Y2Z20212223242CXDX8S9S!S5262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3#SEXp3q3FXGXHXIXJXKXLXMXNX$SOX%Sr3s3t3u3v3w3x3y3z3,T'SPX(S)S-T*SQX+SRX,SA3B3C3-S.SD3E3F3G3/SH3I3J3K3L3M3N3O3P3Q3R3S3T3U3SXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X+X,X:SCfvgrcLv;SV3W3X3Y3Z3031323334353637383-X.X=S?S@S93!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4[S/Xt4u4:X;X=X?X@X[X]X^X_X]S`X^Sv4w4x4y4z4A4B4C4D4.T_S{X`S{S/T|S|X}S}X~SE4F4G4aTbTH4I4J4K4cTL4M4N4O4P4Q4R4S4T4U4V4W4X4Y4~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYdTEfwgscQveTZ404142434445464748494!4#4$4BYCYfTgThT%4'4(4)4*4+4,4-4.4/4:4;4=4?4@4[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5wcGciTDYx5y5EYFYGYHYIYJYKYLYMYjTNYkTz5A5B5C5D5E5F5G5H5:TlTOYmTnT;ToTPYpTQYqTI5J5K5rTsTL5M5N5O5tTP5Q5R5S5T5U5V5W5X5Y5Z5051525RYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+YuTHfxgtcTvvT35455565758595!5#5$5%5'5(5)5,Y-YwTxTyT*5+5,5-5.5/5:5;5=5?5@5[5]5^5_5`5{5|5}5~5a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6xcHczT.YB6C6/Y:Y;Y=Y?Y@Y[Y]Y^YAT_YBTD6E6F6G6H6I6J6K6L6=TCT`YDTET?TFT{YGT|YHTM6N6O6ITJTP6Q6R6S6KTT6U6V6W6X6Y6Z606162636465666}Y~YaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZLTKfygucWvMT768696!6#6$6%6'6(6)6*6+6,6-6AZBZNTOTPT.6/6:6;6=6?6@6[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7ycIcQTCZF7G7DZEZFZGZHZIZJZKZLZRTMZSTH7I7J7K7L7M7N7O7P7@TTTNZUTVT[TWTOZXTPZYTQ7R7S7ZT0TT7U7V7W71TX7Y7Z707172737475767778797!7QZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z2TOfzgvc1v3T#7$7%7'7(7)7*7+7,7-7.7/7:7;7+Z,Z4T5T6T=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8zcJc7T-ZJ8K8.Z/Z:Z;Z=Z?Z@Z[Z]Z8T^Z9TL8M8N8O8P8Q8R8S8T8]T!T_Z#T$T^T%T`Z'T{Z(TU8V8W8)T*TX8Y8Z808+T182838485868788898!8#8$8%8'8|Z}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0

345 _normalize_errors(errors), body=body 

346 ) 

347 raise validation_error 26SyfugqcGv7SR2S2T2U2V2W2X2Y2Z20212223242CXDX8S9S!S5262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[2]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3#SEXp3q3FXGXHXIXJXKXLXMXNX$SOX%Sr3s3t3u3v3w3x3y3z3,T'SPX(S)S-T*SQX+SRX,SA3B3C3-S.SD3E3F3G3/SH3I3J3K3L3M3N3O3P3Q3R3S3T3U3SXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X+X,X:SCfvgrcLv@W[W]W^W_W`W{W|W}W~WaXbXcXdX;S6vV3W3X3Y3Z30313233343536373eX83fXgX(8$mku-X.X=S?S@S93!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3]3^3_3`3{3|3}3~3a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4[S/Xt4u4*phq+piq,pjq)8*8+8,8-8.8/8:8;8=8?8@8[8]8^8_8`8{8|8}8~8a9b9c9d9:X;X=Xe9f9g9h9?X@X[X]X^X_Xi9j9hXiXjXkX]S`X^Sk9lXl9v4w4m9x4y4mXn9z4A4B4C4o9D4mULW.T_S{X`S{S/T|S|X}S}X~SE4F4G4aTbTp9q9H4nXoXpXqXrXsXr9s9t9u9I4J4tXuXvXwXK4cTxXL4M4N4O4P4Q4yXzXAXBXR4S4T4U4V4W4X4Y4~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYv9w9x9y9z9RWSWA9B9C9TWUWD9E9UgVgF9G9H9I9J9K9`e{e/ezYAY$p-p[p]p%p.p^pa $v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMleTNlOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw$4PlvwwwnUoUQlpUCgYq|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdtEYFYGY'x(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyrysyz5A5tyB5C5uyD5vyE5wyF5xyG5yyH50l1l2lEq:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyL5VyWyXWXyYWYyM5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9yO5(ltT!yP5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l@h!j%gb VzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^lvT_l`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dA)5{leAfAUUVU|lWUHg0qFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLt/Y:Y;YXBYBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCbCD6E6cCF6G6dCH6eCI6fCJ6gCK6hCL6hmimjmFq=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDCP6ECFCZWGC0WHCQ6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCS6wmKTTCT6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHmFi$j_gLTKfygucWvMT768696!6#6$6%6'6(6)6*6+6,6-6AZBZNTOTPT.6/6:6;6=6?6@6[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7A7B7C7D7E7ycIcQTCZF7G7DZEZFZGZHZIZJZKZLZRTMZSTH7I7J7K7L7M7N7O7P7@TTTNZUTVT[TWTOZXTPZYTQ7R7S7ZT0TT7U7V7W71TX7Y7Z707172737475767778797!7QZRZSZTZUZVZWZXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z2TOfzgvc1v3T#7$7%7'7(7)7*7+7,7-7.7/7:7;7+Z,Z4T5T6T=7?7@7[7]7^7_7`7{7|7}7~7a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8zcJc7T-ZJ8K8.Z/Z:Z;Z=Z?Z@Z[Z]Z8T^Z9TL8M8N8O8P8Q8R8S8T8]T!T_Z#T$T^T%T`Z'T{Z(TU8V8W8)T*TX8Y8Z808+T182838485868788898!8#8$8%8'8|Z}Z~Za0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0

348 if response is None: 2e KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D`U{U,n|UMg.q%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtG1WuG2WvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujurosotj7kwhf sHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HBVCVAoDVRg:qlumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj)m*m+m,m%I'I-mEjFjGj.m/mHjIj:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKVWcKWWdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o8j9kMha $v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwnUoUQlpUCgYq|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyXWXyYWYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l@h!j%gb VzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfAUUVU|lWUHg0qFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCZWGC0WHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHmFi$j_gc aLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL8V9V+o!V|g=q1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N(W.N)W/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprpqkGlXid ,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPeWfWzpgWch@q}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2R.W3R/W4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9p5kIl(i

349 raise FastAPIError( 21W2WVWWWXWYWZW0W(W)W.W/W

350 "No response object was returned. There's a high chance that the " 

351 "application code is raising an exception and a dependency with yield " 

352 "has a block with a bare except, or a block with except Exception, " 

353 "and is not raising the exception again. Read more about it in the " 

354 "docs: https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#dependencies-with-yield-and-except" 

355 ) 

356 return response 2e KDLDMDNDOD$n%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-q^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2D3D4D5D6D7D8D9D!D#D'n(n)n*n$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[DIm}r]D+n^D_D`U{U,n|UMg.q%t't(t)t*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n/njEkE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E*i+i!p+E,E-E.E/E:E;E=E- ' ?E@E[EHv]E;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=iMmNmOmPm_E`EQm?i@i[iRmSm]i^iTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdF? G M eFk l ` fFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKF,tLFMFNFOFPF-tQFRFSF.tTFUFVFWFXFYFZF0F1F2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8F9F!F#F$F%F=n'F?n/t@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F]n^n_nVq`n{n|n}n~nao;t=tbocomhzf~b{F|F}F~FaGbGcGdGeGfGgGeVfVgVhGhViVjVdoiGeojGkGlGkVlVmGmVnG9vnVoVpVoGpGfonhoh^eqGrGsGtGuGvGwGxGyGzGAGBGgokjljphmjCGqhXfYfDGEGFGGGhoHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGioWGXGYGZG{f0G1G2G3G4G5G|f6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G?t@t[t]t^t_t`t{t|tqV}t~trVaubucudueufuguKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomo~GhuaHshNgOgthuhvhbHnorjoosjcHdHAfBfeHfHgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqoiujurosotj7kwhf sHtHuHvHwHtouoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/q_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKHLHMHNHOHPHQHRHSHTHvowoxoyoUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#mBs#Hzo$H%HBVCVAoDVRg:qlumunuoupuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCoDo[H]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZIvjwj#p0I1I2I3I4I5I6I7I. ( 8I9I!IMv#IFo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj)m*m+m,m%I'I-mEjFjGj.m/mHjIj:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/I@ H N :Im n { ;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJrutJuJvJwJxJsuyJzJAJtuBJCJDJEJFJGJHJIJJJKJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJRJSJTJUJVJGoWJHouuIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'JKoLoMoWqNoOoPoQoRoSowuxuToUoEhDfdc(J)J*J+J,J-J.J/J:J;J=JKVLVMV?JNVOVPVVo@JWo[J]J^JQVRV_JSV`J#vTVUVVV{J|JXoFhGh_e}J~JaKbKcKdKeKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKmKnKoKZopKqKrKsKtKuKvKwKxKyKzKAKBKCKDK0oEKFKGKHKcgIKJKKKLKMKNKdgOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'KyuzuAuBuCuDuEuFuGuWVHuIuXVJuKuLuMuNuOuPuPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4o+KQu,KKhSgTgLhUgVg-K5o6j6o7j.K/K`e{e:K;K=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8oRuSu9o!o8j9kMha $v%v'v(v)vJlKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| Xq+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v_v`v{v|v}v~vawbwcwLlMlNlOldwewfwgwhwiwjwkwlwmwnwowpwqwrwswtw!kDruwPlvwwwnUoUQlpUCgYq|s}s~satbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlTlMwNwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfxgxhxixjxOhPhenkxlxmxnxoxpxqxrx+ 8 wbxb;b=bsxtxuxTuvxVlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWh'k(k)k*kxxyx+kXhYhZh,k-k0h1h.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGx; E K Hxg h ^ IxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%xdt'x(x)x*x+xet,x-x.xft/x:x;x=x?x@x[x]x^x_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblaybycydyeyfyWlgyXlgtYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyoypyqyrysytyuyvywyxyyy0l1l2lEq3l4l5l6l7l8litjt9l!l3g|e?bzyAyByCyDyEyFyGyHyIyJywUxUyUKyzUAUBU#lLy$lMyNyOyCUDUPyEUQySvFUGUHURySy%l4g5g?eTyUyVyWyXyYyZy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6y7y8y9y(l!y#y$y%y'y(y)y*y+y,y-y.y/y:y;y)l=y?y@y[y'f]y^y_y`y{y|y(f}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzktltmtntotptqtrtstIUttutJUvtwtxtytztAtBtWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lCzCtDz9gDgEg!g#g$gEz.l=h/l?hFzGz}e~eHzIzJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;lDtEt=l?l@h!j%gb VzWzXzYzZz@l[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} Zq,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%z'z(z)z*z+z,z-z.z/z]l^l_l`l:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAcl6rdA{leAfAUUVU|lWUHg0qFtGtHtItJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lamvAwAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A]h^hfn^A_A`A{A|A}A~AaB, 9 zbAb^b_bbBcBdBXueBcmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haiglhliljlgBhBklbicidillmleifinloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpB= F L qBi j _ rBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBLtXBYBZB0B1BMt2B3B4BNt5B6B7B8B9B!B#B$B%B'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-B.B/B:B;B=Bdm?BemOtfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChChmimjmFqkmlmmmnmompmQtRtqmrm.gaf`biCjCkClCmCnCoCpCqCrCsC3U4U5UtC6U7U8UsmuCtmvCwCxC9U!UyC#UzCVv$U%U'UACBCum/g:g@eCCDCECFCGCHCICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCQCRCSCwmTCUCVCWCXCYCZC0C1C2C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C(C)C*C/f+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDStTtUtVtWtXtYtZt0t(U1t2t)U3t4t5t6t7t8t9t0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBmlD!tmD@gIgJg[g]g^gnDCmDiDmEioDpDbfcfqDrDsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFm#t$tGmHmFi$j_gc aLbLcLdLeL#o$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;q`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsLtLuLvLwLxLyLzLALBL%o'o(o)oCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLgn4sTL*oULVL8V9V+o!V|g=q1u2u3u4u5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-o.o!L#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L=L?L@L[L]L^L_L`L{L|L}L~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHM'j(j'pIMJMKMLMMMNMOMPM/ ) SbTbhcicQMRMSMXvTM:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/jknlnmnnnVMWMon:j;j=jpnqn?j@jrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4M[ I O 5Mo p ~ 6M7M8M9M!M#M$M%M'M(M)M*M+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}M~MaN7ubNcNdNeNfN8ugNhNiN9ujNkNlNmNnNoNpNqNrNsNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyNzNANBNCNDN;oEN=o!u?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNMNNNONPNQNRNSNTNUNVNWN[o]o^o1q_o`o{o|o}o~o$u%uapbpNiLfjcXNYNZN0N1N2N3N4N5N6N7N*V+V,V8N-V.V/Vcp9Ndp!N#N$N:V;V%N=V'NGD?V@V[V(N)NepOiPidf*N+N,N-N.N/N:N;N=N?N@N[NfphkikQijk]NRi1f2f^N_N`N{Ngp|N}N~NaObOcOdOeOfOgOhOiOjOkOlOhpmOnOoOpOigqOrOsOtOuOvOjgwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWO'u(u)u*u+u,u-u.u/u]V:u;u^V=u?u@u[u]u^u_u0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplp0O`u1OTi}g~gUiViWi2Ompoknppk3O4OMfNf5O6O7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp{u|uqprpqkGlXid ,O-O.O/O:Osptp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?q{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPbPcPdPePfPgPhPiPjPupvpwpxpkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPJn{sBPypCPDPeWfWzpgWch@q}u~uavbvcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBpCpSPTPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQsktk(pqQrQsQtQuQvQwQxQ: * VbWbncocyQzQAQ2vBQEpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkNnOnPnQnDQEQRnBkCkDkSnTnEkFkUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQ] J P NQq r abOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Qev-Q.Q/Q:Q;Qfv=Q?Q@Qgv[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRhRiRjRkRlRFpmRGphvHpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERJpKpLp2qMpNpOpPpQpRpjvkvSpTp5iPfpcFRGRHRIRJRKRLRMRNRORPRnWoWpWQRqWrWsWUpRRVpSRTRURtWuWVRvWWRJDwWxWyWXRYRWp6i7iefZR0R1R2R3R4R5R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$R%R'R(RYp)R*R+R,R-R.R/R:R;R=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSbScSdSqgeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESlvmvnvovpvqvrvsvtvzWuvvvAWwvxvyvzvAvBvCv5vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pISDvJS#idheh$i%i'iKS4p3k5p4kLSMSQfRfNSOSPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7pEvFv8p9p5kIl(i

357 

358 return app 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

359 

360 

361def get_websocket_app( 1efabcd

362 dependant: Dependant, 

363 dependency_overrides_provider: Optional[Any] = None, 

364 embed_body_fields: bool = False, 

365) -> Callable[[WebSocket], Coroutine[Any, Any, Any]]: 

366 async def app(websocket: WebSocket) -> None: 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

367 async with AsyncExitStack() as async_exit_stack: 2L9M9N9O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%V%W%X%Y%U9V9W9X9Y9Z9P%0919293949Z%0%1%gf5fhf2%3%4%5%6%5969798999L%7%!9#9$9%9'98%9%!%if@fTf#%$%%%'%(%(9)9*9+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%.%/%:%;%=9?9@9[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%^%_%`%{%}9~9a!b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'c'd'e'f'

368 # TODO: remove this scope later, after a few releases 

369 # This scope fastapi_astack is no longer used by FastAPI, kept for 

370 # compatibility, just in case 

371 websocket.scope["fastapi_astack"] = async_exit_stack 2L9M9N9O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%V%W%X%Y%U9V9W9X9Y9Z9P%0919293949Z%0%1%gf5fhf2%3%4%5%6%5969798999L%7%!9#9$9%9'98%9%!%if@fTf#%$%%%'%(%(9)9*9+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%.%/%:%;%=9?9@9[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%^%_%`%{%}9~9a!b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'c'd'e'f'

372 solved_result = await solve_dependencies( 2L9M9N9O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%V%W%X%Y%U9V9W9X9Y9Z9P%0919293949Z%0%1%gf5fhf2%3%4%5%6%5969798999L%7%!9#9$9%9'98%9%!%if@fTf#%$%%%'%(%(9)9*9+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%.%/%:%;%=9?9@9[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%^%_%`%{%}9~9a!b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'c'd'e'f'

373 request=websocket, 

374 dependant=dependant, 

375 dependency_overrides_provider=dependency_overrides_provider, 

376 async_exit_stack=async_exit_stack, 

377 embed_body_fields=embed_body_fields, 

378 ) 

379 if solved_result.errors: 2L9M9N9O9P9K%Q9R9S9T9R%S%T%ffSfU%V%W%X%Y%U9V9W9X9Y9Z90919293949Z%0%1%gfhf2%3%4%5%6%5969798999L%!9#9$9%9'98%9%!%ifTf#%$%%%'%(%(9)9*9+9,9M%-9.9/9:9;9*%+%,%jfUf-%.%/%:%;%=9?9@9[9]9N%^9_9`9{9|9?%@%[%kfVf]%^%_%`%{%}9~9a!b!c!O%d!e!f!g!h!}%~%a'lfWfb'c'd'e'f'

380 raise WebSocketRequestValidationError( 2K%SfZ9hfL%TfM%UfN%VfO%Wf

381 _normalize_errors(solved_result.errors) 

382 ) 

383 assert dependant.call is not None, "dependant.call must be a function" 2L9M9N9O9P9Q9R9S9T9R%S%T%ffU%V%W%X%Y%U9V9W9X9Y90919293949Z%0%1%gf2%3%4%5%6%5969798999!9#9$9%9'98%9%!%if#%$%%%'%(%(9)9*9+9,9-9.9/9:9;9*%+%,%jf-%.%/%:%;%=9?9@9[9]9^9_9`9{9|9?%@%[%kf]%^%_%`%{%}9~9a!b!c!d!e!f!g!h!}%~%a'lfb'c'd'e'f'

384 await dependant.call(**solved_result.values) 2L9M9N9O9P9Q9R9S9T9R%S%T%ffU%V%W%X%Y%U9V9W9X9Y9Z9P%0919293949Z%0%1%gf5fhf2%3%4%5%6%5969798999!9#9$9%9'98%9%!%if#%$%%%'%(%(9)9*9+9,9-9.9/9:9;9*%+%,%jf-%.%/%:%;%=9?9@9[9]9^9_9`9{9|9?%@%[%kf]%^%_%`%{%}9~9a!b!c!d!e!f!g!h!}%~%a'lfb'c'd'e'f'

385 

386 return app 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

387 

388 

389class APIWebSocketRoute(routing.WebSocketRoute): 1efabcd

390 def __init__( 1efabcd

391 self, 

392 path: str, 

393 endpoint: Callable[..., Any], 

394 *, 

395 name: Optional[str] = None, 

396 dependencies: Optional[Sequence[params.Depends]] = None, 

397 dependency_overrides_provider: Optional[Any] = None, 

398 ) -> None: 

399 self.path = path 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

400 self.endpoint = endpoint 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

401 self.name = get_name(endpoint) if name is None else name 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

402 self.dependencies = list(dependencies or []) 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

403 self.path_regex, self.path_format, self.param_convertors = compile_path(path) 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

404 self.dependant = get_dependant(path=self.path_format, call=self.endpoint) 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

405 for depends in self.dependencies[::-1]: 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

406 self.dependant.dependencies.insert( 1efabcd

407 0, 

408 get_parameterless_sub_dependant(depends=depends, path=self.path_format), 

409 ) 

410 self._flat_dependant = get_flat_dependant(self.dependant) 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

411 self._embed_body_fields = _should_embed_body_fields( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

412 self._flat_dependant.body_params 

413 ) 

414 self.app = websocket_session( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

415 get_websocket_app( 

416 dependant=self.dependant, 

417 dependency_overrides_provider=dependency_overrides_provider, 

418 embed_body_fields=self._embed_body_fields, 

419 ) 

420 ) 

421 

422 def matches(self, scope: Scope) -> Tuple[Match, Scope]: 1efabcd

423 match, child_scope = super().matches(scope) 2L9M9g'm'N9n'O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%Q'V%W%X%Y%R'U9V9h'o'W9p'X9Y9Z9P%0919293949Z%0%1%gf5fhf2%S'3%4%5%6%T'5969i'q'79r'8999L%7%!9#9$9%9'98%9%!%if@fTf#%U'$%%%'%(%V'(9)9j's'*9t'+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%W'.%/%:%;%X'=9?9k'u'@9v'[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%Y'^%_%`%{%Z'}9~9l'w'a!x'b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'0'c'd'e'f'1'

424 if match != Match.NONE: 2L9M9g'm'N9n'O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%Q'V%W%X%Y%R'U9V9h'o'W9p'X9Y9Z9P%0919293949Z%0%1%gf5fhf2%S'3%4%5%6%T'5969i'q'79r'8999L%7%!9#9$9%9'98%9%!%if@fTf#%U'$%%%'%(%V'(9)9j's'*9t'+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%W'.%/%:%;%X'=9?9k'u'@9v'[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%Y'^%_%`%{%Z'}9~9l'w'a!x'b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'0'c'd'e'f'1'

425 child_scope["route"] = self 2L9M9N9O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%V%W%X%Y%U9V9W9X9Y9Z9P%0919293949Z%0%1%gf5fhf2%3%4%5%6%5969798999L%7%!9#9$9%9'98%9%!%if@fTf#%$%%%'%(%(9)9*9+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%.%/%:%;%=9?9@9[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%^%_%`%{%}9~9a!b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'c'd'e'f'

426 return match, child_scope 2L9M9g'm'N9n'O9P9K%Q%Q9R9S9T9R%S%T%ff?fSfU%Q'V%W%X%Y%R'U9V9h'o'W9p'X9Y9Z9P%0919293949Z%0%1%gf5fhf2%S'3%4%5%6%T'5969i'q'79r'8999L%7%!9#9$9%9'98%9%!%if@fTf#%U'$%%%'%(%V'(9)9j's'*9t'+9,9M%)%-9.9/9:9;9*%+%,%jf[fUf-%W'.%/%:%;%X'=9?9k'u'@9v'[9]9N%=%^9_9`9{9|9?%@%[%kf]fVf]%Y'^%_%`%{%Z'}9~9l'w'a!x'b!c!O%|%d!e!f!g!h!}%~%a'lf^fWfb'0'c'd'e'f'1'

427 

428 

429class APIRoute(routing.Route): 1efabcd

430 def __init__( 1efabcd

431 self, 

432 path: str, 

433 endpoint: Callable[..., Any], 

434 *, 

435 response_model: Any = Default(None), 

436 status_code: Optional[int] = None, 

437 tags: Optional[List[Union[str, Enum]]] = None, 

438 dependencies: Optional[Sequence[params.Depends]] = None, 

439 summary: Optional[str] = None, 

440 description: Optional[str] = None, 

441 response_description: str = "Successful Response", 

442 responses: Optional[Dict[Union[int, str], Dict[str, Any]]] = None, 

443 deprecated: Optional[bool] = None, 

444 name: Optional[str] = None, 

445 methods: Optional[Union[Set[str], List[str]]] = None, 

446 operation_id: Optional[str] = None, 

447 response_model_include: Optional[IncEx] = None, 

448 response_model_exclude: Optional[IncEx] = None, 

449 response_model_by_alias: bool = True, 

450 response_model_exclude_unset: bool = False, 

451 response_model_exclude_defaults: bool = False, 

452 response_model_exclude_none: bool = False, 

453 include_in_schema: bool = True, 

454 response_class: Union[Type[Response], DefaultPlaceholder] = Default( 

455 JSONResponse 

456 ), 

457 dependency_overrides_provider: Optional[Any] = None, 

458 callbacks: Optional[List[BaseRoute]] = None, 

459 openapi_extra: Optional[Dict[str, Any]] = None, 

460 generate_unique_id_function: Union[ 

461 Callable[["APIRoute"], str], DefaultPlaceholder 

462 ] = Default(generate_unique_id), 

463 ) -> None: 

464 self.path = path 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

465 self.endpoint = endpoint 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

466 if isinstance(response_model, DefaultPlaceholder): 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

467 return_annotation = get_typed_return_annotation(endpoint) 2e qc6f{bY bbPb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 6ejdkd? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 8eldmd@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU wb;cxbwc=cGc;b=b!endod; E K g h ^ !c?c4c?b#e$e@cCcrbb tc9f@bT } yb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV zb^cAbxc_cHc^b_b%epdqd= F L i j _ #c`c5c`b'e(e{cDcsbc uc!fec0 dbRb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 Sb~cTbycadIchcic)erdsd[ I O o p ~ $cbd6cjc*e+ecdEcBbd vc#fkc1 ebUbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 VbfdWbzcgdJcncoc,etdud] J P q r ab%chd7cpc-e.eidFcCb

468 if lenient_issubclass(return_annotation, Response): 2e qc6f{bY bbPb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 6ejdkd? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 8eldmd@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU wb;cxbwc=cGc;b=b!endod; E K g h ^ !c?c4c?b#e$e@cCcrbb tc9f@bT } yb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV zb^cAbxc_cHc^b_b%epdqd= F L i j _ #c`c5c`b'e(e{cDcsbc uc!fec0 dbRb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 Sb~cTbycadIchcic)erdsd[ I O o p ~ $cbd6cjc*e+ecdEcBbd vc#fkc1 ebUbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 VbfdWbzcgdJcncoc,etdud] J P q r ab%chd7cpc-e.eidFcCb

469 response_model = None 1efabcd

470 else: 

471 response_model = return_annotation 2e qc6f{bY bbPb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 6ejdkd? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 8eldmd@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU wb;cxbwc=cGc;b=b!endod; E K g h ^ !c?c4c?b#e$e@cCcrbb tc9f@bT } yb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV zb^cAbxc_cHc^b_b%epdqd= F L i j _ #c`c5c`b'e(e{cDcsbc uc!fec0 dbRb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 Sb~cTbycadIchcic)erdsd[ I O o p ~ $cbd6cjc*e+ecdEcBbd vc#fkc1 ebUbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 VbfdWbzcgdJcncoc,etdud] J P q r ab%chd7cpc-e.eidFcCb

472 self.response_model = response_model 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

473 self.summary = summary 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

474 self.response_description = response_description 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

475 self.deprecated = deprecated 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

476 self.operation_id = operation_id 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

477 self.response_model_include = response_model_include 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

478 self.response_model_exclude = response_model_exclude 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

479 self.response_model_by_alias = response_model_by_alias 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

480 self.response_model_exclude_unset = response_model_exclude_unset 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

481 self.response_model_exclude_defaults = response_model_exclude_defaults 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

482 self.response_model_exclude_none = response_model_exclude_none 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

483 self.include_in_schema = include_in_schema 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

484 self.response_class = response_class 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

485 self.dependency_overrides_provider = dependency_overrides_provider 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

486 self.callbacks = callbacks 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

487 self.openapi_extra = openapi_extra 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

488 self.generate_unique_id_function = generate_unique_id_function 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

489 self.tags = tags or [] 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

490 self.responses = responses or {} 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

491 self.name = get_name(endpoint) if name is None else name 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

492 self.path_regex, self.path_format, self.param_convertors = compile_path(path) 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

493 if methods is None: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

494 methods = ["GET"] 1efabcd

495 self.methods: Set[str] = {method.upper() for method in methods} 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

496 if isinstance(generate_unique_id_function, DefaultPlaceholder): 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

497 current_generate_unique_id: Callable[[APIRoute], str] = ( 2e qc6f{bY bbPbhbnbDbEb|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibobFbGbbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblbHbIb/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmbJbKb[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpbLbMbfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqbNbOblcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

498 generate_unique_id_function.value 

499 ) 

500 else: 

501 current_generate_unique_id = generate_unique_id_function 2e XbWcYbZb0bDbEb'cf 1bXc2b3b4bFbGb+ca 5bYc6b7b8bHbIb/cb 9bZc!b#b$bJbKb[cc %b0c'b(b)bLbMb|cd *b1c+b,b-bNbObdd

502 self.unique_id = self.operation_id or current_generate_unique_id(self) 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

503 # normalize enums e.g. http.HTTPStatus 

504 if isinstance(status_code, IntEnum): 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

505 status_code = int(status_code) 1efabcd

506 self.status_code = status_code 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

507 if self.response_model: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

508 assert is_body_allowed_for_status_code(status_code), ( 2e hbnbXbWcYbZb0bDbEbw ! x KcLc2 - ' 6emfnf? G M k l 7ef ibob1bXc2b3b4bFbGby # z McNc3 . ( 8eofpf@ H N m n 9ea fblb5bYc6b7b8bHbIbs 6 t OcPcU + 8 !eqfrf; E K g h #e$eQ b gbmb9bZc!b#b$bJbKbu 7 v QcRcV , 9 %esftf= F L i j 'e(eR c jbpb%b0c'b(b)bLbMbA $ B ScTc4 / ) )eufvf[ I O o p *e+eW d kbqb*b1c+b,b-bNbObC % D UcVc5 : * ,ewfxf] J P q r -e.eX

509 f"Status code {status_code} must not have a response body" 

510 ) 

511 response_name = "Response_" + self.unique_id 2e hbnbXbWcYbZb0bDbEbw ! x KcLc2 - ' 6emfnf? G M k l 7ef ibob1bXc2b3b4bFbGby # z McNc3 . ( 8eofpf@ H N m n 9ea fblb5bYc6b7b8bHbIbs 6 t OcPcU + 8 !eqfrf; E K g h #e$eQ b gbmb9bZc!b#b$bJbKbu 7 v QcRcV , 9 %esftf= F L i j 'e(eR c jbpb%b0c'b(b)bLbMbA $ B ScTc4 / ) )eufvf[ I O o p *e+eW d kbqb*b1c+b,b-bNbObC % D UcVc5 : * ,ewfxf] J P q r -e.eX

512 self.response_field = create_model_field( 2e hbnbXbWcYbZb0bDbEbw ! x KcLc2 - ' 6emfnf? G M k l 7ef ibob1bXc2b3b4bFbGby # z McNc3 . ( 8eofpf@ H N m n 9ea fblb5bYc6b7b8bHbIbs 6 t OcPcU + 8 !eqfrf; E K g h #e$eQ b gbmb9bZc!b#b$bJbKbu 7 v QcRcV , 9 %esftf= F L i j 'e(eR c jbpb%b0c'b(b)bLbMbA $ B ScTc4 / ) )eufvf[ I O o p *e+eW d kbqb*b1c+b,b-bNbObC % D UcVc5 : * ,ewfxf] J P q r -e.eX

513 name=response_name, 

514 type_=self.response_model, 

515 mode="serialization", 

516 ) 

517 # Create a clone of the field, so that a Pydantic submodel is not returned 

518 # as is just because it's an instance of a subclass of a more limited class 

519 # e.g. UserInDB (containing hashed_password) could be a subclass of User 

520 # that doesn't have the hashed_password. But because it's a subclass, it 

521 # would pass the validation and be returned as is. 

522 # By being a new field, no inheritance will be passed as is. A new model 

523 # will always be created. 

524 # TODO: remove when deprecating Pydantic v1 

525 self.secure_cloned_response_field: Optional[ModelField] = ( 2e hbnbXbWcYbZb0bDbEbw ! x KcLc2 - ' ? G M k l f ibob1bXc2b3b4bFbGby # z McNc3 . ( @ H N m n a fblb5bYc6b7b8bHbIbs 6 t OcPcU + 8 ; E K g h Q b gbmb9bZc!b#b$bJbKbu 7 v QcRcV , 9 = F L i j R c jbpb%b0c'b(b)bLbMbA $ B ScTc4 / ) [ I O o p W d kbqb*b1c+b,b-bNbObC % D UcVc5 : * ] J P q r X

526 create_cloned_field(self.response_field) 

527 ) 

528 else: 

529 self.response_field = None # type: ignore 2e qc6f{bY bbPb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 jdkd` 8c)c2c~b*cActbf rc7facZ cbQb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 ldmd{ 9c-c3cdc.cBcuba sc8f.bS | vb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU wb;cxbwc=cGc;b=bndod^ !c?c4c?b@cCcrbb tc9f@bT } yb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV zb^cAbxc_cHc^b_bpdqd_ #c`c5c`b{cDcsbc uc!fec0 dbRb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 Sb~cTbycadIchcicrdsd~ $cbd6cjccdEcBbd vc#fkc1 ebUbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 VbfdWbzcgdJcncoctdudab%chd7cpcidFcCb

530 self.secure_cloned_response_field = None 2e qc6f{bY bbPb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 jdkd` 8c)c2c~b*cActbf rc7facZ cbQb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 ldmd{ 9c-c3cdc.cBcuba sc8f.bS | vb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU wb;cxbwc=cGc;b=bndod^ !c?c4c?b@cCcrbb tc9f@bT } yb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV zb^cAbxc_cHc^b_bpdqd_ #c`c5c`b{cDcsbc uc!fec0 dbRb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 Sb~cTbycadIchcicrdsd~ $cbd6cjccdEcBbd vc#fkc1 ebUbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 VbfdWbzcgdJcncoctdudab%chd7cpcidFcCb

531 self.dependencies = list(dependencies or []) 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' jdkd? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( ldmd@ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=bndod; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_bpdqd= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcicrdsd[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoctdud] J P q r ab%chd7cpcidFcCbX

532 self.description = description or inspect.cleandoc(self.endpoint.__doc__ or "") 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' jdkd? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( ldmd@ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=bndod; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_bpdqd= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcicrdsd[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoctdud] J P q r ab%chd7cpcidFcCbX

533 # if a "form feed" character (page break) is found in the description text, 

534 # truncate description text to the content preceding the first "form feed" 

535 self.description = self.description.split("\f")[0].strip() 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' jdkd? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( ldmd@ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=bndod; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_bpdqd= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcicrdsd[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoctdud] J P q r ab%chd7cpcidFcCbX

536 response_fields = {} 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' jdkd? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( ldmd@ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=bndod; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_bpdqd= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcicrdsd[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoctdud] J P q r ab%chd7cpcidFcCbX

537 for additional_status_code, response in self.responses.items(): 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' jdkd? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( ldmd@ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=bndod; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_bpdqd= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcicrdsd[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoctdud] J P q r ab%chd7cpcidFcCbX

538 assert isinstance(response, dict), "An additional response must be a dict" 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

539 model = response.get("model") 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

540 if model: 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

541 assert is_body_allowed_for_status_code(additional_status_code), ( 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

542 f"Status code {additional_status_code} must not have a response body" 

543 ) 

544 response_name = f"Response_{additional_status_code}_{self.unique_id}" 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

545 response_field = create_model_field( 2e XbWcYbZb0bDbEbw ! x KcLc2 jdkdf 1bXc2b3b4bFbGby # z McNc3 ldmda 5bYc6b7b8bHbIbs 6 t OcPcU ndodb 9bZc!b#b$bJbKbu 7 v QcRcV pdqdc %b0c'b(b)bLbMbA $ B ScTc4 rdsdd *b1c+b,b-bNbObC % D UcVc5 tdud

546 name=response_name, type_=model, mode="serialization" 

547 ) 

548 response_fields[additional_status_code] = response_field 2e XbWcYbZb0bDbEbw ! x KcLc2 f 1bXc2b3b4bFbGby # z McNc3 a 5bYc6b7b8bHbIbs 6 t OcPcU b 9bZc!b#b$bJbKbu 7 v QcRcV c %b0c'b(b)bLbMbA $ B ScTc4 d *b1c+b,b-bNbObC % D UcVc5

549 if response_fields: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

550 self.response_fields: Dict[Union[int, str], ModelField] = response_fields 2e XbWcYbZb0bDbEbw ! x KcLc2 f 1bXc2b3b4bFbGby # z McNc3 a 5bYc6b7b8bHbIbs 6 t OcPcU b 9bZc!b#b$bJbKbu 7 v QcRcV c %b0c'b(b)bLbMbA $ B ScTc4 d *b1c+b,b-bNbObC % D UcVc5

551 else: 

552 self.response_fields = {} 2e qc6f{bY bbPbhbnb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqbddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

553 

554 assert callable(endpoint), "An endpoint must be a callable" 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

555 self.dependant = get_dependant(path=self.path_format, call=self.endpoint) 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

556 for depends in self.dependencies[::-1]: 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

557 self.dependant.dependencies.insert( 1efabcd

558 0, 

559 get_parameterless_sub_dependant(depends=depends, path=self.path_format), 

560 ) 

561 self._flat_dependant = get_flat_dependant(self.dependant) 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

562 self._embed_body_fields = _should_embed_body_fields( 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

563 self._flat_dependant.body_params 

564 ) 

565 self.body_field = get_body_field( 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

566 flat_dependant=self._flat_dependant, 

567 name=self.unique_id, 

568 embed_body_fields=self._embed_body_fields, 

569 ) 

570 self.app = request_response(self.get_route_handler()) 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

571 

572 def get_route_handler(self) -> Callable[[Request], Coroutine[Any, Any, Response]]: 1efabcd

573 return get_request_handler( 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

574 dependant=self.dependant, 

575 body_field=self.body_field, 

576 status_code=self.status_code, 

577 response_class=self.response_class, 

578 response_field=self.secure_cloned_response_field, 

579 response_model_include=self.response_model_include, 

580 response_model_exclude=self.response_model_exclude, 

581 response_model_by_alias=self.response_model_by_alias, 

582 response_model_exclude_unset=self.response_model_exclude_unset, 

583 response_model_exclude_defaults=self.response_model_exclude_defaults, 

584 response_model_exclude_none=self.response_model_exclude_none, 

585 dependency_overrides_provider=self.dependency_overrides_provider, 

586 embed_body_fields=self._embed_body_fields, 

587 ) 

588 

589 def matches(self, scope: Scope) -> Tuple[Match, Scope]: 1efabcd

590 match, child_scope = super().matches(scope) 2KDLDMDL9NDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{DM9|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE2':nlEmEw ! x 2 nEoEpEqErEsEtEuEvE3'wExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdFg'm'N9n'? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.FK'/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf2c~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeH4'fHAcgH=ehHiHO9tbjHkHlHmHnHoHpHqHyVP9zVK%Q%Q9R9S9AVT9rH5'poqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHU9vHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(HV9)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]H6'Eo^H_Hy # z 3 `H{H|H}H~HaIbIcIdI7'eIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/Ih'o'W9p'@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3JL'4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDf3cdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K8';KBc=K/e?K@KX9ub[K]K^K_K`K{K|K}K4VY95VZ9P%0919296V397V49~K9'7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v59(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzw69AwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4Nw!'UlOwPws 6 t U QwRwSwTwUwVwWwXwYw#'Zw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGxi'q'79r'; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyM'oypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e4c?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHz$'IzCcJz:eKzLz89rbMzNzOzPzQzRzSzTzQU99RUL%7%!9#9$9SU%9TU'9Uz%'Q :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXz(9YzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liA)9jAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wA''bmxAyAu 7 v V zAAABACADAEAFAGAHA('IAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpBj's'*9t'= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{BN'|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf5c`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqD)'rDDcsD;etDuD+9sbvDwDxDyDzDADBDCD:U,9;UM%)%-9.9/9=U:9?U;9DD*'R EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcL=9dLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXL?9YLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L+'/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L,':L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4Mk'u'@9v'[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNO'MNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLf6cjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O-'6OEc7O[e8O9O[9Bb!O#O$O%O'O(O)O*OaW]9bWN%=%^9_9`9cW{9dW|9+O.'W oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O}9/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFP~9GPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TP/'DpUPVPC % D 5 WPXPYPZP0P1P2P3P4P:'5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQl'w'a!x'] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRP'uRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPf7cpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNS;'OSFcPS]eQSRSb!CbSSTSUSVSWSXSYSZSHWc!IWO%|%d!e!f!JWg!KWh!0S='X 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

591 if match != Match.NONE: 2KDLDMDL9NDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{DM9|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE2':nlEmEw ! x 2 nEoEpEqErEsEtEuEvE3'wExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdFg'm'N9n'? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.FK'/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf2c~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeH4'fHAcgH=ehHiHO9tbjHkHlHmHnHoHpHqHyVP9zVK%Q%Q9R9S9AVT9rH5'poqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHU9vHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(HV9)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]H6'Eo^H_Hy # z 3 `H{H|H}H~HaIbIcIdI7'eIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/Ih'o'W9p'@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3JL'4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDf3cdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K8';KBc=K/e?K@KX9ub[K]K^K_K`K{K|K}K4VY95VZ9P%0919296V397V49~K9'7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v59(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzw69AwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4Nw!'UlOwPws 6 t U QwRwSwTwUwVwWwXwYw#'Zw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGxi'q'79r'; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyM'oypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e4c?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHz$'IzCcJz:eKzLz89rbMzNzOzPzQzRzSzTzQU99RUL%7%!9#9$9SU%9TU'9Uz%'Q :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXz(9YzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liA)9jAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wA''bmxAyAu 7 v V zAAABACADAEAFAGAHA('IAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpBj's'*9t'= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{BN'|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf5c`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqD)'rDDcsD;etDuD+9sbvDwDxDyDzDADBDCD:U,9;UM%)%-9.9/9=U:9?U;9DD*'R EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcL=9dLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXL?9YLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L+'/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L,':L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4Mk'u'@9v'[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNO'MNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLf6cjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O-'6OEc7O[e8O9O[9Bb!O#O$O%O'O(O)O*OaW]9bWN%=%^9_9`9cW{9dW|9+O.'W oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O}9/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFP~9GPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TP/'DpUPVPC % D 5 WPXPYPZP0P1P2P3P4P:'5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQl'w'a!x'] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRP'uRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPf7cpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNS;'OSFcPS]eQSRSb!CbSSTSUSVSWSXSYSZSHWc!IWO%|%d!e!f!JWg!KWh!0S='X 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

592 child_scope["route"] = self 2KDLDMDNDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{D|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE:nlEmEw ! x 2 nEoEpEqErEsEtEuEvEwExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdFg'? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.FK'/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeHfHAcgH=ehHiHtbjHkHlHmHnHoHpHqHyVzVAVrHpoqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHvHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(H)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]HEo^H_Hy # z 3 `H{H|H}H~HaIbIcIdIeIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/Ih'@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3JL'4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDfdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K;KBc=K/e?K@Kub[K]K^K_K`K{K|K}K4V5V6V7V~K7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzwAwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4NwUlOwPws 6 t U QwRwSwTwUwVwWwXwYwZw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGxi'; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyM'oypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHzIzCcJz:eKzLzrbMzNzOzPzQzRzSzTzQURUSUTUUzQ :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXzYzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liAjAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wAbmxAyAu 7 v V zAAABACADAEAFAGAHAIAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpBj'= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{BN'|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqDrDDcsD;etDuDsbvDwDxDyDzDADBDCD:U;U=U?UDDR EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcLdLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXLYLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L:L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4Mk'[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNO'MNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLfjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O6OEc7O[e8O9OBb!O#O$O%O'O(O)O*OaWbWcWdW+OW oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFPGPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TPDpUPVPC % D 5 WPXPYPZP0P1P2P3P4P5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQl'] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRP'uRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPfpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNSOSFcPS]eQSRSCbSSTSUSVSWSXSYSZSHWIWJWKW0SX 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

593 return match, child_scope 2KDLDMDL9NDOD$n6S%nPDQDRDSDTDyfKgugLgqcGv{bY 7vUDVDbb-qz0^qWD)iXDPbhbnb7r8r9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|rYDZD0D1D2DF0G0H03D4D5DI0J0K0L06D7D8DM0N0O0P09DQ0R0S0!D#D'n(n7S)n1S*nR2$D%DS2'D(D)DT2U2*DV2W2+DX2,DY2Z2-D0212.D/D22:D;D=D?D@D[DIm}r32]DT042U0V0i!+n^D_D`U{U,n|UMg)p.q8v%t't(t)tCXDX*t+t`D-n{DM9|D}D~DaEbEcEdEeEfEgEhEiE|b}b.n8S9S/n!SjE52kE2':nlEmEw ! x 2 nEoEpEqErEsEtEuEvE3'wExE6272yEzEAE82BECEDE92!2EEFE#2$2%2GE'2HEIE(2)2JEKE*2LE+2ME,2-2NEOEPE.2QERESE/2TEUE:2VE;2WE=2XE?2@2YEZE[2]20E^2_21E`2{22E|2}23E~2a34Eb3c35E6E7E8E9E!E#Ed3$Ee3%E'Ef3g3(E)Eh3*Ei3j3*i+i!pk3l3+E,E-E.E/Em3n3:Eo3;E=E- ' ?E@E[EHv#SEXp3]Eq3;n^E,i-i.ifhghhhJmKmLmIvJv/i}U:i~U;i=icq3qMmNmOmPm_E`EQm?i@i[idq4qRmSm]i^ieq5qTmUm{E|E}E~EaFbFVmWmXm_f_iYm`f`iZm{i0m|i1m}icFdFg'm'N9n'? G M eFk l ` fFj!gFk!hFiFjFl!kFm!lFmFnFn!oFo!pFqFrFp!sFq!tFuFvFr!wFs!xFt!u!v!yFw!x!y!zFz!A!AFB!C!BFCFDFEFD!E!FFF!G!GFHFIFJFH!KF,tFXGXHXI!J!LFK!L!MFNFOFPF-tIXJXKXQFRFSFLX.tMXNXTFUFVFWFXFYFZFM!0F1FN!2F3F4F5F~iajihbj6F7F6kcjdjjh2m3m4m5mkhlhejfj6m7m8m9m!m8FW09FX0Y0Z0!F#F$F%F=n'F$S?nOX/t%S@ngjaVhjbVijcVjjdV|q[n(F)F:t*F+F,F-F.FK'/F:F;F=FO!00P!?Fr3s3@FQ!t3u3[F10R!v3]Fw3^Fx3_Fy3`FS!z3]n^n_nVq@UMW,T'SPX(S)S`n{n|n-T*S}n~naoQX;t=t+SRXboco,Smhzf2c~b{F|F}F~FaGbGA3cGdGB3C3eGfGgGeVfVgVhGhViVjVdoiGeo-SjGkGlGkVlVmGmVnG9vnVoVpVoGpG.Sfonhoh^eqGrGT!U!D3sGtG20301WuG402WvG506070V!W!X!Y!E3F3wGxGyGzGAGBGgokjljphmjCGqhXfYfDG80EG90FG!0GG#0G3ho/SHG$0H3IGJGKGI3LGMGJ3K3NGOGPGL3M3QGRGSGTGUGVGioWGXGYGZG{f0G1G2G%0'03G(0)04G5G|f6G7G8G9GN3!G#G$G%G'GO3(G)GP3Q3*GR3+GS3,GT3-G.G/G:G;G=G?G@G[G]GU3^G_G`GSX?tTX@t[t]t^t_t`t{t|tqVUX}tVX~trVaubucuWXXXYXZX0Xdu1X2X3X4X5Xeu6X7X8X9Xfu!X#X$X%X'X(Xgu)X*XKvsV{GtV|G}f~fuVvVwV}GxVrhnjojpjqjjokolomoZ!0!~G1!2!3!hu3W4W4!aH5!6!sh5W6W7!NgOg8!thuhvh9!!!#!bH$!%!'!norjoosjcHdHAfBfeH4'fHAcgH=ehHiHO9tbjHkHlHmHnHoHpHqHyVP9zVK%Q%Q9R9S9AVT9rH5'poqo+X,Xiujuroso?pfqGqHqtj7k@pgqIqwhsHtHuHU9vHwHto:SuoxHyHzHAHBHCfPgvgQgrcLvacZ !vCHDHcb/qA0_qEHujFHQbibob~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsGHHHIHJHKH@W[W]WLHMHNH^W_W`W{WOHPHQH|W}W~WaXRHbXcXdXSHTHvowo;Sxo6vyoV3UHVHW3WHXHYHX3Y3ZHZ3030H131H23332H43533H4H635H6H7H8H9H!H#mBs73#HeX83fXgX(8zo$H%HBVCVAoDVRg$m:qkulumunuou-X.Xpuqu'HBo(HV9)H*H+H,H-H.H/H:H;H=H?H@HbcccCo=S?SDo@S[H93]H6'Eo^H_Hy # z 3 `H{H|H}H~HaIbIcIdI7'eIfI!3#3gIhIiI$3jIkIlI%3'3mInI(3)3*3oI+3pIqI,3-3rIsI.3tI/3uI:3;3vIwIxI=3yIzIAI?3BICI@3DI[3EI]3FI^3_3GIHI`3{3II|3}3JI~3a4KIb4c4LId4e4MIf4g4NIOIPIQIRISITIh4UIi4VIWIj4k4XIYIl4ZIm4n4vjwj#po4p40I1I2I3I4Iq4r45Is46I7I. ( 8I9I!IMv[S/Xt4#Iu4Fo$Ixjyjzjxhyhzh%m'm(mNvOvAjEVBjFVCjDj*phq)m*m+m,m%I'I-mEjFjGj+piq.m/mHjIj,pjq:m;m(I)I*I+I,I-I=m?m@magJj[mbgKj]mLj^mMj_mNj.I/Ih'o'W9p'@ H N :Im n { ;I)8=I*8?I@I[I+8]I,8^I_I`I-8{I.8|I}I~I/8aJ:8bJcJdJ;8eJ=8fJ?8@8[8gJ]8^8_8hJ`8{8iJ|8}8jJkJlJmJ~8a9nJb9c9oJpJqJrJd9sJru:X;X=Xe9f9tJg9h9uJvJwJxJsu?X@X[XyJzJAJ]Xtu^X_XBJCJDJEJFJGJHJi9IJJJj9KJLJMJNJOjPjAhQjOJPJ8kRjSjBh`m{m|m}mChDhTjUj~manbncndnQJhXRJiXjXkXSJTJUJVJGoWJ]SHo`Xuu^SIoVjGVWjHVXjIVYjJV}qJoXJYJvuZJ0J1J2J3JL'4J5J6J7Jk9lXl98Jv4w49Jm9x4y4!JmXn9z4#JA4$JB4%JC4'Jo9D4KoLoMoWqmULW.T_S{X`S{SNoOoPo/T|SQoRoSo|Xwuxu}S}XToUo~SEhDf3cdc(J)J*J+J,J-JE4.J/JF4G4:J;J=JKVLVMV?JNVOVPVVo@JWoaT[J]J^JQVRV_JSV`J#vTVUVVV{J|JbTXoFhGh_e}J~Jp9q9H4aKbKnXoXVWcKpXWWdKqXrXsXr9s9t9u9I4J4eKfKgKhKiKjKYoZj0jHh1jkKIhZf0flKtXmKuXnKvXoKwXK4ZocTpKxXL4qKrKsKM4tKuKN4O4vKwKxKP4Q4yKzKAKBKCKDK0oEKFKGKHKcgIKJKKKyXzXLKAXBXMKNKdgOKPKQKRKR4SKTKUKVKWKS4XKYKT4U4ZKV40KW41KX42K3K4K5K6K7K8K9K!K#KY4$K%K'K~XyuaYzuAuBuCuDuEuFuGuWVbYHucYIuXVJuKuLudYeYfYgYhYMuiYjYkYlYmYNunYoYpYqYOurYsYtYuYvYwYPuxYyYPvYV(KZV)Kegfg0V1V2V*K3VJh2j3j4j5j1o2o3o4ov9w9+Kx9y9z9QuRWSWA9,KB9C9KhTWUWD9SgTgE9LhUgVgF9G9H9-KI9J9K95o6j6o7j.K/K`e{e:K8';KBc=K/e?K@KX9ub[K]K^K_K`K{K|K}K4VY95VZ9P%0919296V397V49~K9'7o8ozYAYRuSu9o!o$p-p[p]p8j9k%p.p^pMh$v%v'v59(v)vJldTKl*v+v,v-v.vEfAgwgBgscQv.bS Rv/v:v| XqB0+q;vNh=vvbfblbbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrArBrCr?v@v[v]v^v*0+0,0_v`v{v-0.0/0:0|v}v~v;0=0?0@0aw[0]0^0bwcwLlMleTNl2SOlZ4dwew04fwgwhw1424iw3444jw54kw6474lw8494mwnw!4owpwqwrwswtw!kDr#4uw_0$4`0{0(!PlvwwwnUoUQlpUCg/pYqxw|s}s~satBYCYbtctywRlzw69AwBwCwDwEwFwGwHwIwJwKwLw/b:bSlfTgTTlhTMw%4Nw!'UlOwPws 6 t U QwRwSwTwUwVwWwXwYw#'Zw0w'4(41w2w3w)44w5w6w*4+47w8w,4-4.49w/4!w#w:4;4$w%w=4'w?4(w@4[4)w*w+w]4,w-w.w^4/w:w_4;w`4=w{4?w|4}4@w[w~4a5]wb5c5^wd5e5_wf5g5`wh5i5{wj5k5|w}w~waxbxcxdxl5exm5fxgxn5o5hxixp5jxq5r5OhPhens5t5kxlxmxnxoxu5v5pxw5qxrx+ 8 wbxbwcGc;b=bsxtxuxTuiTDYx5vxy5VlwxQhRhShWgXgYg#k$k%kUuVuThqUUhrUVhWhkq6q'k(k)k*kxxyx+kXhYhZhlq7q,k-k0h1hmq8q.k/kzxAxBxCxDxEx:k;k=k$f2h?k%f3h@k4h[k5h]k6hFxGxi'q'79r'; E K Hxg h ^ Ix)!Jx*!KxLxMx+!Nx,!OxPxQx-!Rx.!SxTxUx/!Vx:!WxXxYx;!Zx=!0x?!@![!1x]!^!_!2x`!{!3x|!}!4x5x6x7x~!a#8xb#c#9x!x#x$xd#%xdtEYFYGYe#f#'xg#h#(x)x*x+xetHYIYJY,x-x.xKYftLYMY/x:x;x=x?x@x[xi#]x^xj#_x`x{x|x7h8hZg9h}x~x9j!h#h0g^k_k`k{k1g2g$h%h|k}k~kalblay|0by}0~0a1cydyeyfyWlgyjTXlNYgtkTYl'hsU(htU)huU*hvU[qZlhyiyhtjykylymynyM'oypyqyryk#b1l#syz5A5tym#B5C5uyc1n#D5vyE5wyF5xyG5yyo#H50l1l2lEq[UNW:TlTOYmTnT3l4l5l;ToT6l7l8lPYitjtpTQY9l!lqT3g|e4c?bzyAyByCyDyEyI5FyGyJ5K5HyIyJywUxUyUKyzUAUBU#lLy$lrTMyNyOyCUDUPyEUQySvFUGUHURySysT%l4g5g?eTyUyp#q#L5VyWyd1e1XWXyf1YWYyg1h1i1r#s#t#u#M5N5Zy0y1y2y3y4y'l+h,h6g-h5y7gFfGf6yj17yk18yl19ym1O5(ltT!yn1P5#y$y%yQ5'y(yR5S5)y*y+yT5U5,y-y.y/y:y;y)l=y?y@y[y'f]y^y_yo1p1`yq1r1{y|y(f}y~yazbzV5czdzezfzgzW5hzizX5Y5jzZ5kz05lz15mznzozpzqzrzsztzuzvz25wzxzyzRYktSYltmtntotptqtrtstIUTYttUYutJUvtwtxtVYWYXYYYZYyt0Y1Y2Y3Y4Yzt5Y6Y7Y8YAt9Y!Y#Y$Y%Y'YBt(Y)YWuKUzzLUAz)f*fMUNUOUBzPU+f8g.h/h:h;h*l+l,l-lv#w#Czx#y#z#Ct7W8WA#DzB#C#9g9W!WD#DgEgE#!g#g$gF#G#H#EzI#J#K#.l=h/l?hFzGz}e~eHz$'IzCcJz:eKzLz89rbMzNzOzPzQzRzSzTzQU99RUL%7%!9#9$9SU%9TU'9Uz%'Q :l;l*Y+YDtEt=l?l_pnqJqKq@h!j`poqLq%gVzWzXz(9YzZz@luT[l0z1z2z3z4zHfFgxgGgtcTv@bT Uv5z6z} ZqC0,q7z[h8zybgbmbErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r5r9z!z#z$z%zs1t1u1'z(z)zv1w1x1y1*z+z,zz1A1B1C1-zD1E1F1.z/z]l^lvT_l3S`l35:z;z45=z?z@z5565[z7585]z95^z!5#5_z$5%5`z{z'5|z}z~zaAbAcAcl6r(5dAG1)5H1I1L#{leAfAUUVU|lWUHg:p0qgAFtGtHtIt,Y-YJtKthA}liA)9jAkAlAmAnAoApAqArAsAtAuA[b]b~lwTxTamyTvA*5wA''bmxAyAu 7 v V zAAABACADAEAFAGAHA('IAJA+5,5KALAMA-5NAOAPA.5/5QARA:5;5=5SA?5TAUA@5[5VAWA]5XA^5YA_5`5ZA0A1A{52A3A4A|55A6A}57A~58Aa69Ab6c6!A#Ad6e6$Af6g6%Ah6i6'Aj6k6(Al6m6)An6o6*A+A,A-A.A/A:Ap6;Aq6=A?Ar6s6@A[At6]Au6v6]h^hfnw6x6^A_A`A{A|Ay6z6}AA6~AaB, 9 zbAbxcHc^b_bbBcBdBXuzT.YB6eBC6cmfB_h`h{h'g(g)gdlelflYuZu|hXU}hYU~haipq9qglhliljlgBhBklbicidiqq!qllmleifirq#qnloliBjBkBlBmBnBplqlrl,fgisl-fhitliiuljivlkioBpBj's'*9t'= F L qBi j _ rBM#sBN#tBuBvBO#wBP#xByBzBQ#ABR#BBCBDBS#EBT#FBGBHBU#IBV#JBW#X#Y#KBZ#0#1#LB2#3#MB4#5#NBOBPBQB6#7#RB8#9#SBTBUBVB!#WBLt/Y:Y;Y##$#XB%#'#YBZB0B1BMt=Y?Y@Y2B3B4B[YNt]Y^Y5B6B7B8B9B!B#B(#$B%B)#'B(B)B*Blimi*gni+B,B#joipi+gwlxlylzl,g-gqiriAlBlClDlEl-BJ1.BK1L1M1/B:B;B=Bdm?BATem_YOtBTfmsiZUti0Uui1Uvi2U]qgm@B[BPt]B^B_B`B{BN'|B}B~BaC*#N1+#bCD6E6cC,#F6G6dCO1-#H6eCI6fCJ6gCK6hC.#L6hmimjmFq]UOW=TCT`YDTETkmlmmm?TFTnmompm{YQtRtGT|YqmrmHT.gaf5c`biCjCkClCmCnCM6oCpCN6O6qCrCsC3U4U5UtC6U7U8UsmuCtmITvCwCxC9U!UyC#UzCVv$U%U'UACBCJTum/g:g@eCCDC/#:#P6ECFCP1Q1ZWGCR10WHCS1T1U1;#=#?#@#Q6R6ICJCKCLCMCNCvmwixi;gyiOC=gIfJfPCV1QCW1RCX1SCY1S6wmKTTCZ1T6UCVCWCU6XCYCV6W6ZC0C1CX6Y62C3C4C5C6C7Cxm8C9C!C#C.f$C%C'C0111(C2131)C*C/f+C,C-C.CZ6/C:C;C=C?C06@C[C1626]C36^C46_C56`C{C|C}C~CaDbDcDdDeD66fDgDhD}YSt~YTtUtVtWtXtYtZt0t(UaZ1tbZ2t)U3t4t5tcZdZeZfZgZ6thZiZjZkZlZ7tmZnZoZpZ8tqZrZsZtZuZvZ9twZxZ0u*UiD+UjD:f;f,U-U.UkD/U=f?gziAiBiCiymzmAmBm[#]#lD^#_#`#!t#W$W{#mD|#}#@g%W'W~#IgJga$[g]g^gb$c$d$nDe$f$g$CmDiDmEioDpDbfcfqD)'rDDcsD;etDuD+9sbvDwDxDyDzDADBDCD:U,9;UM%)%-9.9/9=U:9?U;9DD*'R EmFmyZzZ#t$tGmHm{psqMqNqFi$j|ptqOq_gaLbLcL=9dLeL#oLT$ofLgLhLiLjLKf`gyg{gucWvec0 EDkLlLdb;qD0`qmL%jnLRbjbpbCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3soLpLqLrLsL415161tLuLvL718191!1wLxLyL#1$1%1'1zL(1)1*1ALBL%o'oMT(o4S)o76CLDL86ELFLGL96!6HL#6$6IL%6JL'6(6KL)6*6LLML+6NLOLPLQLRLSLgn4s,6TL+1-6,1-1h$*oULVL8V9V+o!V|g;p=qFD1u2u3u4uAZBZ5u6uWL,oXL?9YLZL0L1L2L3L4L5L6L7L8L9Lfcgc-oNTOT.oPT!L.6#L+'/o$L%LA $ B 4 'L(L)L*L+L,L-L.L/L,':L;L/6:6=L?L@L;6[L]L^L=6?6_L`L@6[6]6{L^6|L}L_6`6~LaM{6bM|6cM}6~6dMeMfMa7gMhMiMb7jMkMc7lMd7mMe7nMf7g7oMpMh7i7qMj7k7rMl7m7sMn7o7tMp7q7uMr7s7vMwMxMyMzMAMBMt7CMu7DMEMv7w7FMGMx7HMy7z7'j(j'pA7B7IMJMKMLMMMC7D7NME7OMPM/ ) SbTbycIchcicQMRMSMXvQTCZF7TMG7:oUM)j*j+jGiHiIihninjnYvZv,j#V-j$V.j/juq$qknlnmnnnVMWMon:j;j=jvq%qpnqn?j@jwq'qrnsnXMYMZM0M1M2Mtnunvngg[jwnhg]jxn^jyn_jzn`j3M4Mk'u'@9v'[ I O 5Mo p ~ 6Mi$7Mj$8M9M!Mk$#Ml$$M%M'Mm$(Mn$)M*M+Mo$,Mp$-M.M/Mq$:Mr$;Ms$t$u$=Mv$w$x$?My$z$@MA$B$[M]M^M_MC$D$`ME$F${M|M}M~MG$aN7uDZEZFZH$I$bNJ$K$cNdNeNfN8uGZHZIZgNhNiNJZ9uKZLZjNkNlNmNnNoNpNL$qNrNM$sNtNuNvN{j|jJi}jwNxNFl~jakKiAnBnCnDnLiMibkckEnFnGnHnInyN.1zN/1:1;1ANBNCNDN;oENRT=oMZ!uST?odk%Vek'Vfk(Vgk)V~q@oFNGN#uHNINJNKNLNO'MNNNONPNN$=1O$QNH7I7RNP$J7K7SN?1Q$L7TNM7UNN7VNO7WNR$P7[o]o^o1q^UPW@TTTNZUTVT_o`o{o[TWT|o}o~oOZ$u%uXTPZapbpYTNiLf6cjcXNYNZN0N1N2NQ73N4NR7S75N6N7N*V+V,V8N-V.V/Vcp9NdpZT!N#N$N:V;V%N=V'NGD?V@V[V(N)N0TepOiPidf*N+NS$T$T7,N-N@1[1(W.N]1)W/N^1_1`1U$V$W$X$U7V7:N;N=N?N@N[NfphkikQijk]NRi1f2f^N{1_N|1`N}1{N~1W7gp1T|Na2X7}N~NaOY7bOcOZ707dOeOfO1727gOhOiOjOkOlOhpmOnOoOpOigqOrOsOb2c2tOd2e2uOvOjgwOxOyOzO37AOBOCODOEO47FOGO5767HO77IO87JO97KOLOMONOOOPOQOROSOTO!7UOVOWOQZ'uRZ(u)u*u+u,u-u.u/u]VSZ:uTZ;u^V=u?u@uUZVZWZXZYZ[uZZ0Z1Z2Z3Z]u4Z5Z6Z7Z^u8Z9Z!Z#Z$Z%Z_u'Z(Z0v_VXO`VYOkglg{V|V}VZO~VmgSikklkmknkipjpkplpY$Z$0O0$1$2$`u*W+W3$1O4$5$Ti,W-W6$}g~g7$UiViWi8$9$!$2O#$$$%$mpoknppk3O4OMfNf5O-'6OEc7O[e8O9O[9Bb!O#O$O%O'O(O)O*OaW]9bWN%=%^9_9`9cW{9dW|9+O.'W oppp)Z*Z{u|uqprp}pxqPqQqqkGl~pyqRqXi,O-O.O}9/O:Osp2Ttp;O=O?O@O[OOfahzgbhvc1vkc1 HD]O^Oeb?qE0{q_Ork`OUbkbqb5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{O|O}O~OaPf2g2h2bPcPdPi2j2k2l2ePfPgPm2n2o2p2hPq2r2s2iPjPupvp3Twp5Sxp#7kPlP$7mPnPoP%7'7pP(7)7qP*7rP+7,7sP-7.7tPuP/7vPwPxPyPzPAPJn{s:7BPt2;7u2v2'$ypCPDPeWfWzpgWch=p@qID}u~uavbv+Z,ZcvdvEPApFP~9GPHPIPJPKPLPMPNPOPPPQPRPlcmcBp4T5TCp6TSP=7TP/'DpUPVPC % D 5 WPXPYPZP0P1P2P3P4P:'5P6P?7@77P8P9P[7!P#P$P]7^7%P'P_7`7{7(P|7)P*P}7~7+P,Pa8-Pb8.Pc8d8/P:P;Pe8=P?P@Pf8[P]Pg8^Ph8_Pi8`Pj8k8{P|Pl8m8}Pn8o8~Pp8q8aQr8s8bQt8u8cQv8w8dQeQfQgQhQiQjQx8kQy8lQmQz8A8nQoQB8pQC8D8sktk(pE8F8qQrQsQtQuQG8H8vQI8wQxQ: * VbWbzcJcncocyQzQAQ2v7T-ZJ8BQK8EpCQukvkwkYiZi0iKnLnMn3v4vxkhWykiWzkAkzq(qNnOnPnQnDQEQRnBkCkDkAq)qSnTnEkFkBq*qUnVnFQGQHQIQJQKQWnXnYnngGkZnogHk0nIk1nJk2nKkLQMQl'w'a!x'] J P NQq r abOQ($PQ)$QQRQSQ*$TQ+$UQVQWQ,$XQ-$YQZQ0Q.$1Q/$2Q3Q4Q:$5Q;$6Q=$?$@$7Q[$]$^$8Q_$`$9Q{$|$!Q#Q$Q%Q}$~$'Qa%b%(Q)Q*Q+Qc%,Qev.Z/Z:Zd%e%-Qf%g%.Q/Q:Q;Qfv;Z=Z?Z=Q?Q@Q@Zgv[Z]Z[Q]Q^Q_Q`Q{Q|Qh%}Q~Qi%aRbRcRdRLkMk1iNkeRfRHlOkPk2i3n4n5n6n3i4iQkRk7n8n9n!n#ngRw2hRx2y2z2iRjRkRlRFpmR8TGp^Zhv9THpSkjWTkkWUklWVkmWarIpnRoRivpRqRrRsRtRP'uRvRwRxRj%A2k%yRL8M8zRl%N8O8ARB2m%P8BRQ8CRR8DRS8ERn%T8JpKpLp2q_UQW]T!T_Z#T$TMpNpOp^T%TPpQpRp`Zjvkv'T{ZSpTp(T5iPf7cpcFRGRHRIRJRKRU8LRMRV8W8NRORPRnWoWpWQRqWrWsWUpRRVp)TSRTRURtWuWVRvWWRJDwWxWyWXRYR*TWp6i7iefZR0Ro%p%X81R2RC2D2.W3RE2/W4RF2G2H2q%r%s%t%Y8Z85R6R7R8R9R!RXpWkXk8iYk#R9i3f4f$RI2%RJ2'RK2(RL208Yp+T)RM218*R+R,R28-R.R3848/R:R;R5868=R?R@R[R]R^RZp_R`R{R|Rpg}R~RaSN2O2bSP2Q2cSdSqgeSfSgShS78iSjSkSlSmS88nSoS98!8pS#8qS$8rS%8sStSuSvSwSxSySzSASBS'8CSDSES|Zlv}ZmvnvovpvqvrvsvtvzW~Zuva0vvAWwvxvyvb0c0d0e0f0zvg0h0i0j0k0Avl0m0n0o0Bvp0q0r0s0t0u0Cvv0w05vBWFSCWGSrgsgDWEWFWHSGWtg!iZk0k1k2k0p1p2p3pu%v%ISw%x%y%Dv:W;Wz%JSA%B%#i=W?WC%dhehD%$i%i'iE%F%G%KSH%I%J%4p3k5p4kLSMSQfRfNS;'OSFcPS]eQSRSb!CbSSTSUSVSWSXSYSZSHWc!IWO%|%d!e!f!JWg!KWh!0S='X 6p7px0y0EvFv8p9paqCqSqTq5kIlbqDqUq(i

594 

595 

596class APIRouter(routing.Router): 1efabcd

597 """ 

598 `APIRouter` class, used to group *path operations*, for example to structure 

599 an app in multiple files. It would then be included in the `FastAPI` app, or 

600 in another `APIRouter` (ultimately included in the app). 

601 

602 Read more about it in the 

603 [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/). 

604 

605 ## Example 

606 

607 ```python 

608 from fastapi import APIRouter, FastAPI 

609 

610 app = FastAPI() 

611 router = APIRouter() 

612 

613 

614 @router.get("/users/", tags=["users"]) 

615 async def read_users(): 

616 return [{"username": "Rick"}, {"username": "Morty"}] 

617 

618 

619 app.include_router(router) 

620 ``` 

621 """ 

622 

623 def __init__( 1efabcd

624 self, 

625 *, 

626 prefix: Annotated[str, Doc("An optional path prefix for the router.")] = "", 

627 tags: Annotated[ 

628 Optional[List[Union[str, Enum]]], 

629 Doc( 

630 """ 

631 A list of tags to be applied to all the *path operations* in this 

632 router. 

633 

634 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

635 

636 Read more about it in the 

637 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

638 """ 

639 ), 

640 ] = None, 

641 dependencies: Annotated[ 

642 Optional[Sequence[params.Depends]], 

643 Doc( 

644 """ 

645 A list of dependencies (using `Depends()`) to be applied to all the 

646 *path operations* in this router. 

647 

648 Read more about it in the 

649 [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies). 

650 """ 

651 ), 

652 ] = None, 

653 default_response_class: Annotated[ 

654 Type[Response], 

655 Doc( 

656 """ 

657 The default response class to be used. 

658 

659 Read more in the 

660 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#default-response-class). 

661 """ 

662 ), 

663 ] = Default(JSONResponse), 

664 responses: Annotated[ 

665 Optional[Dict[Union[int, str], Dict[str, Any]]], 

666 Doc( 

667 """ 

668 Additional responses to be shown in OpenAPI. 

669 

670 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

671 

672 Read more about it in the 

673 [FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/). 

674 

675 And in the 

676 [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies). 

677 """ 

678 ), 

679 ] = None, 

680 callbacks: Annotated[ 

681 Optional[List[BaseRoute]], 

682 Doc( 

683 """ 

684 OpenAPI callbacks that should apply to all *path operations* in this 

685 router. 

686 

687 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

688 

689 Read more about it in the 

690 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

691 """ 

692 ), 

693 ] = None, 

694 routes: Annotated[ 

695 Optional[List[BaseRoute]], 

696 Doc( 

697 """ 

698 **Note**: you probably shouldn't use this parameter, it is inherited 

699 from Starlette and supported for compatibility. 

700 

701 --- 

702 

703 A list of routes to serve incoming HTTP and WebSocket requests. 

704 """ 

705 ), 

706 deprecated( 

707 """ 

708 You normally wouldn't use this parameter with FastAPI, it is inherited 

709 from Starlette and supported for compatibility. 

710 

711 In FastAPI, you normally would use the *path operation methods*, 

712 like `router.get()`, `router.post()`, etc. 

713 """ 

714 ), 

715 ] = None, 

716 redirect_slashes: Annotated[ 

717 bool, 

718 Doc( 

719 """ 

720 Whether to detect and redirect slashes in URLs when the client doesn't 

721 use the same format. 

722 """ 

723 ), 

724 ] = True, 

725 default: Annotated[ 

726 Optional[ASGIApp], 

727 Doc( 

728 """ 

729 Default function handler for this router. Used to handle 

730 404 Not Found errors. 

731 """ 

732 ), 

733 ] = None, 

734 dependency_overrides_provider: Annotated[ 

735 Optional[Any], 

736 Doc( 

737 """ 

738 Only used internally by FastAPI to handle dependency overrides. 

739 

740 You shouldn't need to use it. It normally points to the `FastAPI` app 

741 object. 

742 """ 

743 ), 

744 ] = None, 

745 route_class: Annotated[ 

746 Type[APIRoute], 

747 Doc( 

748 """ 

749 Custom route (*path operation*) class to be used by this router. 

750 

751 Read more about it in the 

752 [FastAPI docs for Custom Request and APIRoute class](https://fastapi.tiangolo.com/how-to/custom-request-and-route/#custom-apiroute-class-in-a-router). 

753 """ 

754 ), 

755 ] = APIRoute, 

756 on_startup: Annotated[ 

757 Optional[Sequence[Callable[[], Any]]], 

758 Doc( 

759 """ 

760 A list of startup event handler functions. 

761 

762 You should instead use the `lifespan` handlers. 

763 

764 Read more in the [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/). 

765 """ 

766 ), 

767 ] = None, 

768 on_shutdown: Annotated[ 

769 Optional[Sequence[Callable[[], Any]]], 

770 Doc( 

771 """ 

772 A list of shutdown event handler functions. 

773 

774 You should instead use the `lifespan` handlers. 

775 

776 Read more in the 

777 [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/). 

778 """ 

779 ), 

780 ] = None, 

781 # the generic to Lifespan[AppType] is the type of the top level application 

782 # which the router cannot know statically, so we use typing.Any 

783 lifespan: Annotated[ 

784 Optional[Lifespan[Any]], 

785 Doc( 

786 """ 

787 A `Lifespan` context manager handler. This replaces `startup` and 

788 `shutdown` functions with a single context manager. 

789 

790 Read more in the 

791 [FastAPI docs for `lifespan`](https://fastapi.tiangolo.com/advanced/events/). 

792 """ 

793 ), 

794 ] = None, 

795 deprecated: Annotated[ 

796 Optional[bool], 

797 Doc( 

798 """ 

799 Mark all *path operations* in this router as deprecated. 

800 

801 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

802 

803 Read more about it in the 

804 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

805 """ 

806 ), 

807 ] = None, 

808 include_in_schema: Annotated[ 

809 bool, 

810 Doc( 

811 """ 

812 To include (or not) all the *path operations* in this router in the 

813 generated OpenAPI. 

814 

815 This affects the generated OpenAPI (e.g. visible at `/docs`). 

816 

817 Read more about it in the 

818 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

819 """ 

820 ), 

821 ] = True, 

822 generate_unique_id_function: Annotated[ 

823 Callable[[APIRoute], str], 

824 Doc( 

825 """ 

826 Customize the function used to generate unique IDs for the *path 

827 operations* shown in the generated OpenAPI. 

828 

829 This is particularly useful when automatically generating clients or 

830 SDKs for your API. 

831 

832 Read more about it in the 

833 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

834 """ 

835 ), 

836 ] = Default(generate_unique_id), 

837 ) -> None: 

838 super().__init__( 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

839 routes=routes, 

840 redirect_slashes=redirect_slashes, 

841 default=default, 

842 on_startup=on_startup, 

843 on_shutdown=on_shutdown, 

844 lifespan=lifespan, 

845 ) 

846 if prefix: 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

847 assert prefix.startswith("/"), "A path prefix must start with '/'" 1eYfZaSbTc0d1

848 assert not prefix.endswith("/"), ( 1eYfZaSbTc0d1

849 "A path prefix must not end with '/', as the routes will start with '/'" 

850 ) 

851 self.prefix = prefix 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

852 self.tags: List[Union[str, Enum]] = tags or [] 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

853 self.dependencies = list(dependencies or []) 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

854 self.deprecated = deprecated 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

855 self.include_in_schema = include_in_schema 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

856 self.responses = responses or {} 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

857 self.callbacks = callbacks or [] 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

858 self.dependency_overrides_provider = dependency_overrides_provider 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

859 self.route_class = route_class 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

860 self.default_response_class = default_response_class 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

861 self.generate_unique_id_function = generate_unique_id_function 2e {bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? _T`TG M {Tk l ` 8c)c2c~b7e*cActbff?fSff acZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ |T}TH N ~Tm n { 9c-c3cdc9e.cBcubgf5fhfa .bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; aUbUE K cUg h ^ !c?c4c?b#e$e@cCcrbQ if@fTfb @bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= dUeUF L fUi j _ #c`c5c`b'e(e{cDcsbR jf[fUfc ec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ gUhUI O iUo p ~ $cbd6cjc*e+ecdEcBbW kf]fVfd kc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] jUkUJ P lUq r ab%chd7cpc-e.eidFcCbX lf^fWf

862 

863 def route( 1efabcd

864 self, 

865 path: str, 

866 methods: Optional[Collection[str]] = None, 

867 name: Optional[str] = None, 

868 include_in_schema: bool = True, 

869 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

870 def decorator(func: DecoratedCallable) -> DecoratedCallable: 1efabcd

871 self.add_route( 1efabcd

872 path, 

873 func, 

874 methods=methods, 

875 name=name, 

876 include_in_schema=include_in_schema, 

877 ) 

878 return func 1efabcd

879 

880 return decorator 1efabcd

881 

882 def add_api_route( 1efabcd

883 self, 

884 path: str, 

885 endpoint: Callable[..., Any], 

886 *, 

887 response_model: Any = Default(None), 

888 status_code: Optional[int] = None, 

889 tags: Optional[List[Union[str, Enum]]] = None, 

890 dependencies: Optional[Sequence[params.Depends]] = None, 

891 summary: Optional[str] = None, 

892 description: Optional[str] = None, 

893 response_description: str = "Successful Response", 

894 responses: Optional[Dict[Union[int, str], Dict[str, Any]]] = None, 

895 deprecated: Optional[bool] = None, 

896 methods: Optional[Union[Set[str], List[str]]] = None, 

897 operation_id: Optional[str] = None, 

898 response_model_include: Optional[IncEx] = None, 

899 response_model_exclude: Optional[IncEx] = None, 

900 response_model_by_alias: bool = True, 

901 response_model_exclude_unset: bool = False, 

902 response_model_exclude_defaults: bool = False, 

903 response_model_exclude_none: bool = False, 

904 include_in_schema: bool = True, 

905 response_class: Union[Type[Response], DefaultPlaceholder] = Default( 

906 JSONResponse 

907 ), 

908 name: Optional[str] = None, 

909 route_class_override: Optional[Type[APIRoute]] = None, 

910 callbacks: Optional[List[BaseRoute]] = None, 

911 openapi_extra: Optional[Dict[str, Any]] = None, 

912 generate_unique_id_function: Union[ 

913 Callable[[APIRoute], str], DefaultPlaceholder 

914 ] = Default(generate_unique_id), 

915 ) -> None: 

916 route_class = route_class_override or self.route_class 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

917 responses = responses or {} 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

918 combined_responses = {**self.responses, **responses} 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

919 current_response_class = get_value_or_default( 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

920 response_class, self.default_response_class 

921 ) 

922 current_tags = self.tags.copy() 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

923 if tags: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

924 current_tags.extend(tags) 1efabcd

925 current_dependencies = self.dependencies.copy() 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

926 if dependencies: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

927 current_dependencies.extend(dependencies) 1efabcd

928 current_callbacks = self.callbacks.copy() 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

929 if callbacks: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

930 current_callbacks.extend(callbacks) 2e Wcf Xca Ycb Zcc 0cd 1c

931 current_generate_unique_id = get_value_or_default( 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

932 generate_unique_id_function, self.generate_unique_id_function 

933 ) 

934 route = route_class( 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

935 self.prefix + path, 

936 endpoint=endpoint, 

937 response_model=response_model, 

938 status_code=status_code, 

939 tags=current_tags, 

940 dependencies=current_dependencies, 

941 summary=summary, 

942 description=description, 

943 response_description=response_description, 

944 responses=combined_responses, 

945 deprecated=deprecated or self.deprecated, 

946 methods=methods, 

947 operation_id=operation_id, 

948 response_model_include=response_model_include, 

949 response_model_exclude=response_model_exclude, 

950 response_model_by_alias=response_model_by_alias, 

951 response_model_exclude_unset=response_model_exclude_unset, 

952 response_model_exclude_defaults=response_model_exclude_defaults, 

953 response_model_exclude_none=response_model_exclude_none, 

954 include_in_schema=include_in_schema and self.include_in_schema, 

955 response_class=current_response_class, 

956 name=name, 

957 dependency_overrides_provider=self.dependency_overrides_provider, 

958 callbacks=current_callbacks, 

959 openapi_extra=openapi_extra, 

960 generate_unique_id_function=current_generate_unique_id, 

961 ) 

962 self.routes.append(route) 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

963 

964 def api_route( 1efabcd

965 self, 

966 path: str, 

967 *, 

968 response_model: Any = Default(None), 

969 status_code: Optional[int] = None, 

970 tags: Optional[List[Union[str, Enum]]] = None, 

971 dependencies: Optional[Sequence[params.Depends]] = None, 

972 summary: Optional[str] = None, 

973 description: Optional[str] = None, 

974 response_description: str = "Successful Response", 

975 responses: Optional[Dict[Union[int, str], Dict[str, Any]]] = None, 

976 deprecated: Optional[bool] = None, 

977 methods: Optional[List[str]] = None, 

978 operation_id: Optional[str] = None, 

979 response_model_include: Optional[IncEx] = None, 

980 response_model_exclude: Optional[IncEx] = None, 

981 response_model_by_alias: bool = True, 

982 response_model_exclude_unset: bool = False, 

983 response_model_exclude_defaults: bool = False, 

984 response_model_exclude_none: bool = False, 

985 include_in_schema: bool = True, 

986 response_class: Type[Response] = Default(JSONResponse), 

987 name: Optional[str] = None, 

988 callbacks: Optional[List[BaseRoute]] = None, 

989 openapi_extra: Optional[Dict[str, Any]] = None, 

990 generate_unique_id_function: Callable[[APIRoute], str] = Default( 

991 generate_unique_id 

992 ), 

993 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

994 def decorator(func: DecoratedCallable) -> DecoratedCallable: 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

995 self.add_api_route( 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

996 path, 

997 func, 

998 response_model=response_model, 

999 status_code=status_code, 

1000 tags=tags, 

1001 dependencies=dependencies, 

1002 summary=summary, 

1003 description=description, 

1004 response_description=response_description, 

1005 responses=responses, 

1006 deprecated=deprecated, 

1007 methods=methods, 

1008 operation_id=operation_id, 

1009 response_model_include=response_model_include, 

1010 response_model_exclude=response_model_exclude, 

1011 response_model_by_alias=response_model_by_alias, 

1012 response_model_exclude_unset=response_model_exclude_unset, 

1013 response_model_exclude_defaults=response_model_exclude_defaults, 

1014 response_model_exclude_none=response_model_exclude_none, 

1015 include_in_schema=include_in_schema, 

1016 response_class=response_class, 

1017 name=name, 

1018 callbacks=callbacks, 

1019 openapi_extra=openapi_extra, 

1020 generate_unique_id_function=generate_unique_id_function, 

1021 ) 

1022 return func 2e qc{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}b(cw ! x KcLc2 - ' ? G M k l ` 8c)c2c~b*cActbf rcacZ cbQbibob1bXc2b3b4bFbGb+cbccc,cy # z McNc3 . ( @ H N m n { 9c-c3cdc.cBcuba sc.bS | vbfblb5bYc6b7b8bHbIb/c/b:b:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b; E K g h ^ !c?c4c?b@cCcrbQ b tc@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b= F L i j _ #c`c5c`b{cDcsbR c ucec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgc}cA $ B ScTc4 / ) Sb~cTbycadIchcic[ I O o p ~ $cbd6cjccdEcBbW d vckc1 ebUbkbqb*b1c+b,b-bNbObddlcmcedC % D UcVc5 : * VbfdWbzcgdJcncoc] J P q r ab%chd7cpcidFcCbX

1023 

1024 return decorator 2e qc6f{bY bbPbhbnbXbWcYbZb0bDbEb'c|b}bvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ cbQbibob1bXc2b3b4bFbGb+cbcccQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS | vbfblb5bYc6b7b8bHbIb/c/b:b#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc=cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbQ b tc9f@bT } ybgbmb9bZc!b#b$bJbKb[c[b]b`d{d|d}d~daebecedeeefegeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbR c uc!fec0 dbRbjbpb%b0c'b(b)bLbMb|cfcgcqereseteuevewexeyezeAeBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbycadIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbW d vc#fkc1 ebUbkbqb*b1c+b,b-bNbObddlcmcLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcgdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCbX

1025 

1026 def add_api_websocket_route( 1efabcd

1027 self, 

1028 path: str, 

1029 endpoint: Callable[..., Any], 

1030 name: Optional[str] = None, 

1031 *, 

1032 dependencies: Optional[Sequence[params.Depends]] = None, 

1033 ) -> None: 

1034 current_dependencies = self.dependencies.copy() 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1035 if dependencies: 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1036 current_dependencies.extend(dependencies) 1efabcd

1037 

1038 route = APIWebSocketRoute( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1039 self.prefix + path, 

1040 endpoint=endpoint, 

1041 name=name, 

1042 dependencies=current_dependencies, 

1043 dependency_overrides_provider=self.dependency_overrides_provider, 

1044 ) 

1045 self.routes.append(route) 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1046 

1047 def websocket( 1efabcd

1048 self, 

1049 path: Annotated[ 

1050 str, 

1051 Doc( 

1052 """ 

1053 WebSocket path. 

1054 """ 

1055 ), 

1056 ], 

1057 name: Annotated[ 

1058 Optional[str], 

1059 Doc( 

1060 """ 

1061 A name for the WebSocket. Only used internally. 

1062 """ 

1063 ), 

1064 ] = None, 

1065 *, 

1066 dependencies: Annotated[ 

1067 Optional[Sequence[params.Depends]], 

1068 Doc( 

1069 """ 

1070 A list of dependencies (using `Depends()`) to be used for this 

1071 WebSocket. 

1072 

1073 Read more about it in the 

1074 [FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/). 

1075 """ 

1076 ), 

1077 ] = None, 

1078 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

1079 """ 

1080 Decorate a WebSocket function. 

1081 

1082 Read more about it in the 

1083 [FastAPI docs for WebSockets](https://fastapi.tiangolo.com/advanced/websockets/). 

1084 

1085 **Example** 

1086 

1087 ## Example 

1088 

1089 ```python 

1090 from fastapi import APIRouter, FastAPI, WebSocket 

1091 

1092 app = FastAPI() 

1093 router = APIRouter() 

1094 

1095 @router.websocket("/ws") 

1096 async def websocket_endpoint(websocket: WebSocket): 

1097 await websocket.accept() 

1098 while True: 

1099 data = await websocket.receive_text() 

1100 await websocket.send_text(f"Message text was: {data}") 

1101 

1102 app.include_router(router) 

1103 ``` 

1104 """ 

1105 

1106 def decorator(func: DecoratedCallable) -> DecoratedCallable: 1efabcd

1107 self.add_api_websocket_route( 1efabcd

1108 path, func, name=name, dependencies=dependencies 

1109 ) 

1110 return func 1efabcd

1111 

1112 return decorator 1efabcd

1113 

1114 def websocket_route( 1efabcd

1115 self, path: str, name: Union[str, None] = None 

1116 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

1117 def decorator(func: DecoratedCallable) -> DecoratedCallable: 1efabcd

1118 self.add_websocket_route(path, func, name=name) 1efabcd

1119 return func 1efabcd

1120 

1121 return decorator 1efabcd

1122 

1123 def include_router( 1efabcd

1124 self, 

1125 router: Annotated["APIRouter", Doc("The `APIRouter` to include.")], 

1126 *, 

1127 prefix: Annotated[str, Doc("An optional path prefix for the router.")] = "", 

1128 tags: Annotated[ 

1129 Optional[List[Union[str, Enum]]], 

1130 Doc( 

1131 """ 

1132 A list of tags to be applied to all the *path operations* in this 

1133 router. 

1134 

1135 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1136 

1137 Read more about it in the 

1138 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1139 """ 

1140 ), 

1141 ] = None, 

1142 dependencies: Annotated[ 

1143 Optional[Sequence[params.Depends]], 

1144 Doc( 

1145 """ 

1146 A list of dependencies (using `Depends()`) to be applied to all the 

1147 *path operations* in this router. 

1148 

1149 Read more about it in the 

1150 [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies). 

1151 """ 

1152 ), 

1153 ] = None, 

1154 default_response_class: Annotated[ 

1155 Type[Response], 

1156 Doc( 

1157 """ 

1158 The default response class to be used. 

1159 

1160 Read more in the 

1161 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#default-response-class). 

1162 """ 

1163 ), 

1164 ] = Default(JSONResponse), 

1165 responses: Annotated[ 

1166 Optional[Dict[Union[int, str], Dict[str, Any]]], 

1167 Doc( 

1168 """ 

1169 Additional responses to be shown in OpenAPI. 

1170 

1171 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1172 

1173 Read more about it in the 

1174 [FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/). 

1175 

1176 And in the 

1177 [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies). 

1178 """ 

1179 ), 

1180 ] = None, 

1181 callbacks: Annotated[ 

1182 Optional[List[BaseRoute]], 

1183 Doc( 

1184 """ 

1185 OpenAPI callbacks that should apply to all *path operations* in this 

1186 router. 

1187 

1188 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1189 

1190 Read more about it in the 

1191 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

1192 """ 

1193 ), 

1194 ] = None, 

1195 deprecated: Annotated[ 

1196 Optional[bool], 

1197 Doc( 

1198 """ 

1199 Mark all *path operations* in this router as deprecated. 

1200 

1201 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1202 

1203 Read more about it in the 

1204 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1205 """ 

1206 ), 

1207 ] = None, 

1208 include_in_schema: Annotated[ 

1209 bool, 

1210 Doc( 

1211 """ 

1212 Include (or not) all the *path operations* in this router in the 

1213 generated OpenAPI schema. 

1214 

1215 This affects the generated OpenAPI (e.g. visible at `/docs`). 

1216 """ 

1217 ), 

1218 ] = True, 

1219 generate_unique_id_function: Annotated[ 

1220 Callable[[APIRoute], str], 

1221 Doc( 

1222 """ 

1223 Customize the function used to generate unique IDs for the *path 

1224 operations* shown in the generated OpenAPI. 

1225 

1226 This is particularly useful when automatically generating clients or 

1227 SDKs for your API. 

1228 

1229 Read more about it in the 

1230 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

1231 """ 

1232 ), 

1233 ] = Default(generate_unique_id), 

1234 ) -> None: 

1235 """ 

1236 Include another `APIRouter` in the same current `APIRouter`. 

1237 

1238 Read more about it in the 

1239 [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/). 

1240 

1241 ## Example 

1242 

1243 ```python 

1244 from fastapi import APIRouter, FastAPI 

1245 

1246 app = FastAPI() 

1247 internal_router = APIRouter() 

1248 users_router = APIRouter() 

1249 

1250 @users_router.get("/users/") 

1251 def read_users(): 

1252 return [{"name": "Rick"}, {"name": "Morty"}] 

1253 

1254 internal_router.include_router(users_router) 

1255 app.include_router(internal_router) 

1256 ``` 

1257 """ 

1258 if prefix: 2e Y y'XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z z'1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S A'5b6b7b8bHbIbaUbUE K cUg h if@fTfb T B'9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 C'%b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 D'*b+b,b-bNbObjUkUJ P lUq r lf^fWf

1259 assert prefix.startswith("/"), "A path prefix must start with '/'" 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1260 assert not prefix.endswith("/"), ( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1261 "A path prefix must not end with '/', as the routes will start with '/'" 

1262 ) 

1263 else: 

1264 for r in router.routes: 2e Y y'XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z z'1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S A'5b6b7b8bHbIbaUbUE K cUg h if@fTfb T B'9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 C'%b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 D'*b+b,b-bNbObjUkUJ P lUq r lf^fWf

1265 path = getattr(r, "path") # noqa: B009 2e Y y'XbYbZb0bDbEbk l ff?fSff Z z'1b2b3b4bFbGbm n gf5fhfa S A'5b6b7b8bHbIbg h if@fTfb T B'9b!b#b$bJbKbi j jf[fUfc 0 C'%b'b(b)bLbMbo p kf]fVfd 1 D'*b+b,b-bNbObq r lf^fWf

1266 name = getattr(r, "name", "unknown") 2e Y y'XbYbZb0bDbEbk l ff?fSff Z z'1b2b3b4bFbGbm n gf5fhfa S A'5b6b7b8bHbIbg h if@fTfb T B'9b!b#b$bJbKbi j jf[fUfc 0 C'%b'b(b)bLbMbo p kf]fVfd 1 D'*b+b,b-bNbObq r lf^fWf

1267 if path is not None and not path: 2e Y y'XbYbZb0bDbEbk l ff?fSff Z z'1b2b3b4bFbGbm n gf5fhfa S A'5b6b7b8bHbIbg h if@fTfb T B'9b!b#b$bJbKbi j jf[fUfc 0 C'%b'b(b)bLbMbo p kf]fVfd 1 D'*b+b,b-bNbObq r lf^fWf

1268 raise FastAPIError( 2y'z'A'B'C'D'

1269 f"Prefix and path cannot be both empty (path operation: {name})" 

1270 ) 

1271 if responses is None: 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1272 responses = {} 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1273 for route in router.routes: 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1274 if isinstance(route, APIRoute): 2e Y XbYbZb0bDbEbk l ff?fSff Z 1b2b3b4bFbGbm n gf5fhfa S 5b6b7b8bHbIbg h if@fTfb T 9b!b#b$bJbKbi j jf[fUfc 0 %b'b(b)bLbMbo p kf]fVfd 1 *b+b,b-bNbObq r lf^fWf

1275 combined_responses = {**responses, **route.responses} 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1276 use_response_class = get_value_or_default( 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1277 route.response_class, 

1278 router.default_response_class, 

1279 default_response_class, 

1280 self.default_response_class, 

1281 ) 

1282 current_tags = [] 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1283 if tags: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1284 current_tags.extend(tags) 1efabcd

1285 if route.tags: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1286 current_tags.extend(route.tags) 1efabcd

1287 current_dependencies: List[params.Depends] = [] 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1288 if dependencies: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1289 current_dependencies.extend(dependencies) 1efabcd

1290 if route.dependencies: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1291 current_dependencies.extend(route.dependencies) 1efabcd

1292 current_callbacks = [] 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1293 if callbacks: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1294 current_callbacks.extend(callbacks) 1efabcd

1295 if route.callbacks: 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1296 current_callbacks.extend(route.callbacks) 1efabcd

1297 current_generate_unique_id = get_value_or_default( 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1298 route.generate_unique_id_function, 

1299 router.generate_unique_id_function, 

1300 generate_unique_id_function, 

1301 self.generate_unique_id_function, 

1302 ) 

1303 self.add_api_route( 2e Y XbYbZb0bDbEbk l f Z 1b2b3b4bFbGbm n a S 5b6b7b8bHbIbg h b T 9b!b#b$bJbKbi j c 0 %b'b(b)bLbMbo p d 1 *b+b,b-bNbObq r

1304 prefix + route.path, 

1305 route.endpoint, 

1306 response_model=route.response_model, 

1307 status_code=route.status_code, 

1308 tags=current_tags, 

1309 dependencies=current_dependencies, 

1310 summary=route.summary, 

1311 description=route.description, 

1312 response_description=route.response_description, 

1313 responses=combined_responses, 

1314 deprecated=route.deprecated or deprecated or self.deprecated, 

1315 methods=route.methods, 

1316 operation_id=route.operation_id, 

1317 response_model_include=route.response_model_include, 

1318 response_model_exclude=route.response_model_exclude, 

1319 response_model_by_alias=route.response_model_by_alias, 

1320 response_model_exclude_unset=route.response_model_exclude_unset, 

1321 response_model_exclude_defaults=route.response_model_exclude_defaults, 

1322 response_model_exclude_none=route.response_model_exclude_none, 

1323 include_in_schema=route.include_in_schema 

1324 and self.include_in_schema 

1325 and include_in_schema, 

1326 response_class=use_response_class, 

1327 name=route.name, 

1328 route_class_override=type(route), 

1329 callbacks=current_callbacks, 

1330 openapi_extra=route.openapi_extra, 

1331 generate_unique_id_function=current_generate_unique_id, 

1332 ) 

1333 elif isinstance(route, routing.Route): 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1334 methods = list(route.methods or []) 1efabcd

1335 self.add_route( 1efabcd

1336 prefix + route.path, 

1337 route.endpoint, 

1338 methods=methods, 

1339 include_in_schema=route.include_in_schema, 

1340 name=route.name, 

1341 ) 

1342 elif isinstance(route, APIWebSocketRoute): 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1343 current_dependencies = [] 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1344 if dependencies: 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1345 current_dependencies.extend(dependencies) 1efabcd

1346 if route.dependencies: 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1347 current_dependencies.extend(route.dependencies) 1efabcd

1348 self.add_api_websocket_route( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1349 prefix + route.path, 

1350 route.endpoint, 

1351 dependencies=current_dependencies, 

1352 name=route.name, 

1353 ) 

1354 elif isinstance(route, routing.WebSocketRoute): 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1355 self.add_websocket_route( 2e ff?fSff gf5fhfa if@fTfb jf[fUfc kf]fVfd lf^fWf

1356 prefix + route.path, route.endpoint, name=route.name 

1357 ) 

1358 for handler in router.on_startup: 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1359 self.add_event_handler("startup", handler) 1GHEFIJ

1360 for handler in router.on_shutdown: 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1361 self.add_event_handler("shutdown", handler) 1GHEFIJ

1362 self.lifespan_context = _merge_lifespan_context( 2e Y XbYbZb0bDbEb_T`TG M {Tk l ff?fSff Z 1b2b3b4bFbGb|T}TH N ~Tm n gf5fhfa S 5b6b7b8bHbIbaUbUE K cUg h if@fTfb T 9b!b#b$bJbKbdUeUF L fUi j jf[fUfc 0 %b'b(b)bLbMbgUhUI O iUo p kf]fVfd 1 *b+b,b-bNbObjUkUJ P lUq r lf^fWf

1363 self.lifespan_context, 

1364 router.lifespan_context, 

1365 ) 

1366 

1367 def get( 1efabcd

1368 self, 

1369 path: Annotated[ 

1370 str, 

1371 Doc( 

1372 """ 

1373 The URL path to be used for this *path operation*. 

1374 

1375 For example, in `http://example.com/items`, the path is `/items`. 

1376 """ 

1377 ), 

1378 ], 

1379 *, 

1380 response_model: Annotated[ 

1381 Any, 

1382 Doc( 

1383 """ 

1384 The type to use for the response. 

1385 

1386 It could be any valid Pydantic *field* type. So, it doesn't have to 

1387 be a Pydantic model, it could be other things, like a `list`, `dict`, 

1388 etc. 

1389 

1390 It will be used for: 

1391 

1392 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

1393 show it as the response (JSON Schema). 

1394 * Serialization: you could return an arbitrary object and the 

1395 `response_model` would be used to serialize that object into the 

1396 corresponding JSON. 

1397 * Filtering: the JSON sent to the client will only contain the data 

1398 (fields) defined in the `response_model`. If you returned an object 

1399 that contains an attribute `password` but the `response_model` does 

1400 not include that field, the JSON sent to the client would not have 

1401 that `password`. 

1402 * Validation: whatever you return will be serialized with the 

1403 `response_model`, converting any data as necessary to generate the 

1404 corresponding JSON. But if the data in the object returned is not 

1405 valid, that would mean a violation of the contract with the client, 

1406 so it's an error from the API developer. So, FastAPI will raise an 

1407 error and return a 500 error code (Internal Server Error). 

1408 

1409 Read more about it in the 

1410 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

1411 """ 

1412 ), 

1413 ] = Default(None), 

1414 status_code: Annotated[ 

1415 Optional[int], 

1416 Doc( 

1417 """ 

1418 The default status code to be used for the response. 

1419 

1420 You could override the status code by returning a response directly. 

1421 

1422 Read more about it in the 

1423 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

1424 """ 

1425 ), 

1426 ] = None, 

1427 tags: Annotated[ 

1428 Optional[List[Union[str, Enum]]], 

1429 Doc( 

1430 """ 

1431 A list of tags to be applied to the *path operation*. 

1432 

1433 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1434 

1435 Read more about it in the 

1436 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

1437 """ 

1438 ), 

1439 ] = None, 

1440 dependencies: Annotated[ 

1441 Optional[Sequence[params.Depends]], 

1442 Doc( 

1443 """ 

1444 A list of dependencies (using `Depends()`) to be applied to the 

1445 *path operation*. 

1446 

1447 Read more about it in the 

1448 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

1449 """ 

1450 ), 

1451 ] = None, 

1452 summary: Annotated[ 

1453 Optional[str], 

1454 Doc( 

1455 """ 

1456 A summary for the *path operation*. 

1457 

1458 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1459 

1460 Read more about it in the 

1461 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1462 """ 

1463 ), 

1464 ] = None, 

1465 description: Annotated[ 

1466 Optional[str], 

1467 Doc( 

1468 """ 

1469 A description for the *path operation*. 

1470 

1471 If not provided, it will be extracted automatically from the docstring 

1472 of the *path operation function*. 

1473 

1474 It can contain Markdown. 

1475 

1476 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1477 

1478 Read more about it in the 

1479 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1480 """ 

1481 ), 

1482 ] = None, 

1483 response_description: Annotated[ 

1484 str, 

1485 Doc( 

1486 """ 

1487 The description for the default response. 

1488 

1489 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1490 """ 

1491 ), 

1492 ] = "Successful Response", 

1493 responses: Annotated[ 

1494 Optional[Dict[Union[int, str], Dict[str, Any]]], 

1495 Doc( 

1496 """ 

1497 Additional responses that could be returned by this *path operation*. 

1498 

1499 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1500 """ 

1501 ), 

1502 ] = None, 

1503 deprecated: Annotated[ 

1504 Optional[bool], 

1505 Doc( 

1506 """ 

1507 Mark this *path operation* as deprecated. 

1508 

1509 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1510 """ 

1511 ), 

1512 ] = None, 

1513 operation_id: Annotated[ 

1514 Optional[str], 

1515 Doc( 

1516 """ 

1517 Custom operation ID to be used by this *path operation*. 

1518 

1519 By default, it is generated automatically. 

1520 

1521 If you provide a custom operation ID, you need to make sure it is 

1522 unique for the whole API. 

1523 

1524 You can customize the 

1525 operation ID generation with the parameter 

1526 `generate_unique_id_function` in the `FastAPI` class. 

1527 

1528 Read more about it in the 

1529 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

1530 """ 

1531 ), 

1532 ] = None, 

1533 response_model_include: Annotated[ 

1534 Optional[IncEx], 

1535 Doc( 

1536 """ 

1537 Configuration passed to Pydantic to include only certain fields in the 

1538 response data. 

1539 

1540 Read more about it in the 

1541 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1542 """ 

1543 ), 

1544 ] = None, 

1545 response_model_exclude: Annotated[ 

1546 Optional[IncEx], 

1547 Doc( 

1548 """ 

1549 Configuration passed to Pydantic to exclude certain fields in the 

1550 response data. 

1551 

1552 Read more about it in the 

1553 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1554 """ 

1555 ), 

1556 ] = None, 

1557 response_model_by_alias: Annotated[ 

1558 bool, 

1559 Doc( 

1560 """ 

1561 Configuration passed to Pydantic to define if the response model 

1562 should be serialized by alias when an alias is used. 

1563 

1564 Read more about it in the 

1565 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1566 """ 

1567 ), 

1568 ] = True, 

1569 response_model_exclude_unset: Annotated[ 

1570 bool, 

1571 Doc( 

1572 """ 

1573 Configuration passed to Pydantic to define if the response data 

1574 should have all the fields, including the ones that were not set and 

1575 have their default values. This is different from 

1576 `response_model_exclude_defaults` in that if the fields are set, 

1577 they will be included in the response, even if the value is the same 

1578 as the default. 

1579 

1580 When `True`, default values are omitted from the response. 

1581 

1582 Read more about it in the 

1583 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

1584 """ 

1585 ), 

1586 ] = False, 

1587 response_model_exclude_defaults: Annotated[ 

1588 bool, 

1589 Doc( 

1590 """ 

1591 Configuration passed to Pydantic to define if the response data 

1592 should have all the fields, including the ones that have the same value 

1593 as the default. This is different from `response_model_exclude_unset` 

1594 in that if the fields are set but contain the same default values, 

1595 they will be excluded from the response. 

1596 

1597 When `True`, default values are omitted from the response. 

1598 

1599 Read more about it in the 

1600 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

1601 """ 

1602 ), 

1603 ] = False, 

1604 response_model_exclude_none: Annotated[ 

1605 bool, 

1606 Doc( 

1607 """ 

1608 Configuration passed to Pydantic to define if the response data should 

1609 exclude fields set to `None`. 

1610 

1611 This is much simpler (less smart) than `response_model_exclude_unset` 

1612 and `response_model_exclude_defaults`. You probably want to use one of 

1613 those two instead of this one, as those allow returning `None` values 

1614 when it makes sense. 

1615 

1616 Read more about it in the 

1617 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

1618 """ 

1619 ), 

1620 ] = False, 

1621 include_in_schema: Annotated[ 

1622 bool, 

1623 Doc( 

1624 """ 

1625 Include this *path operation* in the generated OpenAPI schema. 

1626 

1627 This affects the generated OpenAPI (e.g. visible at `/docs`). 

1628 

1629 Read more about it in the 

1630 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

1631 """ 

1632 ), 

1633 ] = True, 

1634 response_class: Annotated[ 

1635 Type[Response], 

1636 Doc( 

1637 """ 

1638 Response class to be used for this *path operation*. 

1639 

1640 This will not be used if you return a response directly. 

1641 

1642 Read more about it in the 

1643 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

1644 """ 

1645 ), 

1646 ] = Default(JSONResponse), 

1647 name: Annotated[ 

1648 Optional[str], 

1649 Doc( 

1650 """ 

1651 Name for this *path operation*. Only used internally. 

1652 """ 

1653 ), 

1654 ] = None, 

1655 callbacks: Annotated[ 

1656 Optional[List[BaseRoute]], 

1657 Doc( 

1658 """ 

1659 List of *path operations* that will be used as OpenAPI callbacks. 

1660 

1661 This is only for OpenAPI documentation, the callbacks won't be used 

1662 directly. 

1663 

1664 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1665 

1666 Read more about it in the 

1667 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

1668 """ 

1669 ), 

1670 ] = None, 

1671 openapi_extra: Annotated[ 

1672 Optional[Dict[str, Any]], 

1673 Doc( 

1674 """ 

1675 Extra metadata to be included in the OpenAPI schema for this *path 

1676 operation*. 

1677 

1678 Read more about it in the 

1679 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

1680 """ 

1681 ), 

1682 ] = None, 

1683 generate_unique_id_function: Annotated[ 

1684 Callable[[APIRoute], str], 

1685 Doc( 

1686 """ 

1687 Customize the function used to generate unique IDs for the *path 

1688 operations* shown in the generated OpenAPI. 

1689 

1690 This is particularly useful when automatically generating clients or 

1691 SDKs for your API. 

1692 

1693 Read more about it in the 

1694 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

1695 """ 

1696 ), 

1697 ] = Default(generate_unique_id), 

1698 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

1699 """ 

1700 Add a *path operation* using an HTTP GET operation. 

1701 

1702 ## Example 

1703 

1704 ```python 

1705 from fastapi import APIRouter, FastAPI 

1706 

1707 app = FastAPI() 

1708 router = APIRouter() 

1709 

1710 @router.get("/items/") 

1711 def read_items(): 

1712 return [{"name": "Empanada"}, {"name": "Arepa"}] 

1713 

1714 app.include_router(router) 

1715 ``` 

1716 """ 

1717 return self.api_route( 2e qc6f{bY hbnb|b}bvdwdxdydzdAdBdCdDdEdFdw ! x KcLc2 6ejdmfkdnf? G M k l ` 8c)c2c~b7e*cActbf rc7facZ ibobbcccQdRdSdTdUdVdWdXdYdZd0dy # z McNc3 8eldofmdpf@ H N m n { 9c-c3cdc9e.cBcuba sc8f.bS fblb/b:b#d$d%d'd(d)d*d+d,d-d.ds 6 t OcPcU =cGc;b=b!endqfodrf; E K g h ^ !c?c4c?b#e$e@cCcrbb tc9f@bT gbmb[b]b`d{d|d}d~daebecedeeefeu 7 v QcRcV _cHc^b_b%epdsfqdtf= F L i j _ #c`c5c`b'e(e{cDcsbc uc!fec0 jbpbfcgcqereseteuevewexeyezeAeA $ B ScTc4 adIchcic)erdufsdvf[ I O o p ~ $cbd6cjc*e+ecdEcBbd vc#fkc1 kbqblcmcLeMeNeOePeQeReSeTeUeVeC % D UcVc5 gdJcncoc,etdwfudxf] J P q r ab%chd7cpc-e.eidFcCb

1718 path=path, 

1719 response_model=response_model, 

1720 status_code=status_code, 

1721 tags=tags, 

1722 dependencies=dependencies, 

1723 summary=summary, 

1724 description=description, 

1725 response_description=response_description, 

1726 responses=responses, 

1727 deprecated=deprecated, 

1728 methods=["GET"], 

1729 operation_id=operation_id, 

1730 response_model_include=response_model_include, 

1731 response_model_exclude=response_model_exclude, 

1732 response_model_by_alias=response_model_by_alias, 

1733 response_model_exclude_unset=response_model_exclude_unset, 

1734 response_model_exclude_defaults=response_model_exclude_defaults, 

1735 response_model_exclude_none=response_model_exclude_none, 

1736 include_in_schema=include_in_schema, 

1737 response_class=response_class, 

1738 name=name, 

1739 callbacks=callbacks, 

1740 openapi_extra=openapi_extra, 

1741 generate_unique_id_function=generate_unique_id_function, 

1742 ) 

1743 

1744 def put( 1efabcd

1745 self, 

1746 path: Annotated[ 

1747 str, 

1748 Doc( 

1749 """ 

1750 The URL path to be used for this *path operation*. 

1751 

1752 For example, in `http://example.com/items`, the path is `/items`. 

1753 """ 

1754 ), 

1755 ], 

1756 *, 

1757 response_model: Annotated[ 

1758 Any, 

1759 Doc( 

1760 """ 

1761 The type to use for the response. 

1762 

1763 It could be any valid Pydantic *field* type. So, it doesn't have to 

1764 be a Pydantic model, it could be other things, like a `list`, `dict`, 

1765 etc. 

1766 

1767 It will be used for: 

1768 

1769 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

1770 show it as the response (JSON Schema). 

1771 * Serialization: you could return an arbitrary object and the 

1772 `response_model` would be used to serialize that object into the 

1773 corresponding JSON. 

1774 * Filtering: the JSON sent to the client will only contain the data 

1775 (fields) defined in the `response_model`. If you returned an object 

1776 that contains an attribute `password` but the `response_model` does 

1777 not include that field, the JSON sent to the client would not have 

1778 that `password`. 

1779 * Validation: whatever you return will be serialized with the 

1780 `response_model`, converting any data as necessary to generate the 

1781 corresponding JSON. But if the data in the object returned is not 

1782 valid, that would mean a violation of the contract with the client, 

1783 so it's an error from the API developer. So, FastAPI will raise an 

1784 error and return a 500 error code (Internal Server Error). 

1785 

1786 Read more about it in the 

1787 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

1788 """ 

1789 ), 

1790 ] = Default(None), 

1791 status_code: Annotated[ 

1792 Optional[int], 

1793 Doc( 

1794 """ 

1795 The default status code to be used for the response. 

1796 

1797 You could override the status code by returning a response directly. 

1798 

1799 Read more about it in the 

1800 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

1801 """ 

1802 ), 

1803 ] = None, 

1804 tags: Annotated[ 

1805 Optional[List[Union[str, Enum]]], 

1806 Doc( 

1807 """ 

1808 A list of tags to be applied to the *path operation*. 

1809 

1810 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1811 

1812 Read more about it in the 

1813 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

1814 """ 

1815 ), 

1816 ] = None, 

1817 dependencies: Annotated[ 

1818 Optional[Sequence[params.Depends]], 

1819 Doc( 

1820 """ 

1821 A list of dependencies (using `Depends()`) to be applied to the 

1822 *path operation*. 

1823 

1824 Read more about it in the 

1825 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

1826 """ 

1827 ), 

1828 ] = None, 

1829 summary: Annotated[ 

1830 Optional[str], 

1831 Doc( 

1832 """ 

1833 A summary for the *path operation*. 

1834 

1835 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1836 

1837 Read more about it in the 

1838 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1839 """ 

1840 ), 

1841 ] = None, 

1842 description: Annotated[ 

1843 Optional[str], 

1844 Doc( 

1845 """ 

1846 A description for the *path operation*. 

1847 

1848 If not provided, it will be extracted automatically from the docstring 

1849 of the *path operation function*. 

1850 

1851 It can contain Markdown. 

1852 

1853 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1854 

1855 Read more about it in the 

1856 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

1857 """ 

1858 ), 

1859 ] = None, 

1860 response_description: Annotated[ 

1861 str, 

1862 Doc( 

1863 """ 

1864 The description for the default response. 

1865 

1866 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1867 """ 

1868 ), 

1869 ] = "Successful Response", 

1870 responses: Annotated[ 

1871 Optional[Dict[Union[int, str], Dict[str, Any]]], 

1872 Doc( 

1873 """ 

1874 Additional responses that could be returned by this *path operation*. 

1875 

1876 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1877 """ 

1878 ), 

1879 ] = None, 

1880 deprecated: Annotated[ 

1881 Optional[bool], 

1882 Doc( 

1883 """ 

1884 Mark this *path operation* as deprecated. 

1885 

1886 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

1887 """ 

1888 ), 

1889 ] = None, 

1890 operation_id: Annotated[ 

1891 Optional[str], 

1892 Doc( 

1893 """ 

1894 Custom operation ID to be used by this *path operation*. 

1895 

1896 By default, it is generated automatically. 

1897 

1898 If you provide a custom operation ID, you need to make sure it is 

1899 unique for the whole API. 

1900 

1901 You can customize the 

1902 operation ID generation with the parameter 

1903 `generate_unique_id_function` in the `FastAPI` class. 

1904 

1905 Read more about it in the 

1906 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

1907 """ 

1908 ), 

1909 ] = None, 

1910 response_model_include: Annotated[ 

1911 Optional[IncEx], 

1912 Doc( 

1913 """ 

1914 Configuration passed to Pydantic to include only certain fields in the 

1915 response data. 

1916 

1917 Read more about it in the 

1918 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1919 """ 

1920 ), 

1921 ] = None, 

1922 response_model_exclude: Annotated[ 

1923 Optional[IncEx], 

1924 Doc( 

1925 """ 

1926 Configuration passed to Pydantic to exclude certain fields in the 

1927 response data. 

1928 

1929 Read more about it in the 

1930 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1931 """ 

1932 ), 

1933 ] = None, 

1934 response_model_by_alias: Annotated[ 

1935 bool, 

1936 Doc( 

1937 """ 

1938 Configuration passed to Pydantic to define if the response model 

1939 should be serialized by alias when an alias is used. 

1940 

1941 Read more about it in the 

1942 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

1943 """ 

1944 ), 

1945 ] = True, 

1946 response_model_exclude_unset: Annotated[ 

1947 bool, 

1948 Doc( 

1949 """ 

1950 Configuration passed to Pydantic to define if the response data 

1951 should have all the fields, including the ones that were not set and 

1952 have their default values. This is different from 

1953 `response_model_exclude_defaults` in that if the fields are set, 

1954 they will be included in the response, even if the value is the same 

1955 as the default. 

1956 

1957 When `True`, default values are omitted from the response. 

1958 

1959 Read more about it in the 

1960 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

1961 """ 

1962 ), 

1963 ] = False, 

1964 response_model_exclude_defaults: Annotated[ 

1965 bool, 

1966 Doc( 

1967 """ 

1968 Configuration passed to Pydantic to define if the response data 

1969 should have all the fields, including the ones that have the same value 

1970 as the default. This is different from `response_model_exclude_unset` 

1971 in that if the fields are set but contain the same default values, 

1972 they will be excluded from the response. 

1973 

1974 When `True`, default values are omitted from the response. 

1975 

1976 Read more about it in the 

1977 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

1978 """ 

1979 ), 

1980 ] = False, 

1981 response_model_exclude_none: Annotated[ 

1982 bool, 

1983 Doc( 

1984 """ 

1985 Configuration passed to Pydantic to define if the response data should 

1986 exclude fields set to `None`. 

1987 

1988 This is much simpler (less smart) than `response_model_exclude_unset` 

1989 and `response_model_exclude_defaults`. You probably want to use one of 

1990 those two instead of this one, as those allow returning `None` values 

1991 when it makes sense. 

1992 

1993 Read more about it in the 

1994 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

1995 """ 

1996 ), 

1997 ] = False, 

1998 include_in_schema: Annotated[ 

1999 bool, 

2000 Doc( 

2001 """ 

2002 Include this *path operation* in the generated OpenAPI schema. 

2003 

2004 This affects the generated OpenAPI (e.g. visible at `/docs`). 

2005 

2006 Read more about it in the 

2007 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

2008 """ 

2009 ), 

2010 ] = True, 

2011 response_class: Annotated[ 

2012 Type[Response], 

2013 Doc( 

2014 """ 

2015 Response class to be used for this *path operation*. 

2016 

2017 This will not be used if you return a response directly. 

2018 

2019 Read more about it in the 

2020 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

2021 """ 

2022 ), 

2023 ] = Default(JSONResponse), 

2024 name: Annotated[ 

2025 Optional[str], 

2026 Doc( 

2027 """ 

2028 Name for this *path operation*. Only used internally. 

2029 """ 

2030 ), 

2031 ] = None, 

2032 callbacks: Annotated[ 

2033 Optional[List[BaseRoute]], 

2034 Doc( 

2035 """ 

2036 List of *path operations* that will be used as OpenAPI callbacks. 

2037 

2038 This is only for OpenAPI documentation, the callbacks won't be used 

2039 directly. 

2040 

2041 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2042 

2043 Read more about it in the 

2044 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

2045 """ 

2046 ), 

2047 ] = None, 

2048 openapi_extra: Annotated[ 

2049 Optional[Dict[str, Any]], 

2050 Doc( 

2051 """ 

2052 Extra metadata to be included in the OpenAPI schema for this *path 

2053 operation*. 

2054 

2055 Read more about it in the 

2056 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

2057 """ 

2058 ), 

2059 ] = None, 

2060 generate_unique_id_function: Annotated[ 

2061 Callable[[APIRoute], str], 

2062 Doc( 

2063 """ 

2064 Customize the function used to generate unique IDs for the *path 

2065 operations* shown in the generated OpenAPI. 

2066 

2067 This is particularly useful when automatically generating clients or 

2068 SDKs for your API. 

2069 

2070 Read more about it in the 

2071 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

2072 """ 

2073 ), 

2074 ] = Default(generate_unique_id), 

2075 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

2076 """ 

2077 Add a *path operation* using an HTTP PUT operation. 

2078 

2079 ## Example 

2080 

2081 ```python 

2082 from fastapi import APIRouter, FastAPI 

2083 from pydantic import BaseModel 

2084 

2085 class Item(BaseModel): 

2086 name: str 

2087 description: str | None = None 

2088 

2089 app = FastAPI() 

2090 router = APIRouter() 

2091 

2092 @router.put("/items/{item_id}") 

2093 def replace_item(item_id: str, item: Item): 

2094 return {"message": "Item replaced", "id": item_id} 

2095 

2096 app.include_router(router) 

2097 ``` 

2098 """ 

2099 return self.api_route( 1efabcd

2100 path=path, 

2101 response_model=response_model, 

2102 status_code=status_code, 

2103 tags=tags, 

2104 dependencies=dependencies, 

2105 summary=summary, 

2106 description=description, 

2107 response_description=response_description, 

2108 responses=responses, 

2109 deprecated=deprecated, 

2110 methods=["PUT"], 

2111 operation_id=operation_id, 

2112 response_model_include=response_model_include, 

2113 response_model_exclude=response_model_exclude, 

2114 response_model_by_alias=response_model_by_alias, 

2115 response_model_exclude_unset=response_model_exclude_unset, 

2116 response_model_exclude_defaults=response_model_exclude_defaults, 

2117 response_model_exclude_none=response_model_exclude_none, 

2118 include_in_schema=include_in_schema, 

2119 response_class=response_class, 

2120 name=name, 

2121 callbacks=callbacks, 

2122 openapi_extra=openapi_extra, 

2123 generate_unique_id_function=generate_unique_id_function, 

2124 ) 

2125 

2126 def post( 1efabcd

2127 self, 

2128 path: Annotated[ 

2129 str, 

2130 Doc( 

2131 """ 

2132 The URL path to be used for this *path operation*. 

2133 

2134 For example, in `http://example.com/items`, the path is `/items`. 

2135 """ 

2136 ), 

2137 ], 

2138 *, 

2139 response_model: Annotated[ 

2140 Any, 

2141 Doc( 

2142 """ 

2143 The type to use for the response. 

2144 

2145 It could be any valid Pydantic *field* type. So, it doesn't have to 

2146 be a Pydantic model, it could be other things, like a `list`, `dict`, 

2147 etc. 

2148 

2149 It will be used for: 

2150 

2151 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

2152 show it as the response (JSON Schema). 

2153 * Serialization: you could return an arbitrary object and the 

2154 `response_model` would be used to serialize that object into the 

2155 corresponding JSON. 

2156 * Filtering: the JSON sent to the client will only contain the data 

2157 (fields) defined in the `response_model`. If you returned an object 

2158 that contains an attribute `password` but the `response_model` does 

2159 not include that field, the JSON sent to the client would not have 

2160 that `password`. 

2161 * Validation: whatever you return will be serialized with the 

2162 `response_model`, converting any data as necessary to generate the 

2163 corresponding JSON. But if the data in the object returned is not 

2164 valid, that would mean a violation of the contract with the client, 

2165 so it's an error from the API developer. So, FastAPI will raise an 

2166 error and return a 500 error code (Internal Server Error). 

2167 

2168 Read more about it in the 

2169 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

2170 """ 

2171 ), 

2172 ] = Default(None), 

2173 status_code: Annotated[ 

2174 Optional[int], 

2175 Doc( 

2176 """ 

2177 The default status code to be used for the response. 

2178 

2179 You could override the status code by returning a response directly. 

2180 

2181 Read more about it in the 

2182 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

2183 """ 

2184 ), 

2185 ] = None, 

2186 tags: Annotated[ 

2187 Optional[List[Union[str, Enum]]], 

2188 Doc( 

2189 """ 

2190 A list of tags to be applied to the *path operation*. 

2191 

2192 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2193 

2194 Read more about it in the 

2195 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

2196 """ 

2197 ), 

2198 ] = None, 

2199 dependencies: Annotated[ 

2200 Optional[Sequence[params.Depends]], 

2201 Doc( 

2202 """ 

2203 A list of dependencies (using `Depends()`) to be applied to the 

2204 *path operation*. 

2205 

2206 Read more about it in the 

2207 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

2208 """ 

2209 ), 

2210 ] = None, 

2211 summary: Annotated[ 

2212 Optional[str], 

2213 Doc( 

2214 """ 

2215 A summary for the *path operation*. 

2216 

2217 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2218 

2219 Read more about it in the 

2220 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2221 """ 

2222 ), 

2223 ] = None, 

2224 description: Annotated[ 

2225 Optional[str], 

2226 Doc( 

2227 """ 

2228 A description for the *path operation*. 

2229 

2230 If not provided, it will be extracted automatically from the docstring 

2231 of the *path operation function*. 

2232 

2233 It can contain Markdown. 

2234 

2235 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2236 

2237 Read more about it in the 

2238 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2239 """ 

2240 ), 

2241 ] = None, 

2242 response_description: Annotated[ 

2243 str, 

2244 Doc( 

2245 """ 

2246 The description for the default response. 

2247 

2248 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2249 """ 

2250 ), 

2251 ] = "Successful Response", 

2252 responses: Annotated[ 

2253 Optional[Dict[Union[int, str], Dict[str, Any]]], 

2254 Doc( 

2255 """ 

2256 Additional responses that could be returned by this *path operation*. 

2257 

2258 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2259 """ 

2260 ), 

2261 ] = None, 

2262 deprecated: Annotated[ 

2263 Optional[bool], 

2264 Doc( 

2265 """ 

2266 Mark this *path operation* as deprecated. 

2267 

2268 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2269 """ 

2270 ), 

2271 ] = None, 

2272 operation_id: Annotated[ 

2273 Optional[str], 

2274 Doc( 

2275 """ 

2276 Custom operation ID to be used by this *path operation*. 

2277 

2278 By default, it is generated automatically. 

2279 

2280 If you provide a custom operation ID, you need to make sure it is 

2281 unique for the whole API. 

2282 

2283 You can customize the 

2284 operation ID generation with the parameter 

2285 `generate_unique_id_function` in the `FastAPI` class. 

2286 

2287 Read more about it in the 

2288 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

2289 """ 

2290 ), 

2291 ] = None, 

2292 response_model_include: Annotated[ 

2293 Optional[IncEx], 

2294 Doc( 

2295 """ 

2296 Configuration passed to Pydantic to include only certain fields in the 

2297 response data. 

2298 

2299 Read more about it in the 

2300 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2301 """ 

2302 ), 

2303 ] = None, 

2304 response_model_exclude: Annotated[ 

2305 Optional[IncEx], 

2306 Doc( 

2307 """ 

2308 Configuration passed to Pydantic to exclude certain fields in the 

2309 response data. 

2310 

2311 Read more about it in the 

2312 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2313 """ 

2314 ), 

2315 ] = None, 

2316 response_model_by_alias: Annotated[ 

2317 bool, 

2318 Doc( 

2319 """ 

2320 Configuration passed to Pydantic to define if the response model 

2321 should be serialized by alias when an alias is used. 

2322 

2323 Read more about it in the 

2324 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2325 """ 

2326 ), 

2327 ] = True, 

2328 response_model_exclude_unset: Annotated[ 

2329 bool, 

2330 Doc( 

2331 """ 

2332 Configuration passed to Pydantic to define if the response data 

2333 should have all the fields, including the ones that were not set and 

2334 have their default values. This is different from 

2335 `response_model_exclude_defaults` in that if the fields are set, 

2336 they will be included in the response, even if the value is the same 

2337 as the default. 

2338 

2339 When `True`, default values are omitted from the response. 

2340 

2341 Read more about it in the 

2342 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

2343 """ 

2344 ), 

2345 ] = False, 

2346 response_model_exclude_defaults: Annotated[ 

2347 bool, 

2348 Doc( 

2349 """ 

2350 Configuration passed to Pydantic to define if the response data 

2351 should have all the fields, including the ones that have the same value 

2352 as the default. This is different from `response_model_exclude_unset` 

2353 in that if the fields are set but contain the same default values, 

2354 they will be excluded from the response. 

2355 

2356 When `True`, default values are omitted from the response. 

2357 

2358 Read more about it in the 

2359 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

2360 """ 

2361 ), 

2362 ] = False, 

2363 response_model_exclude_none: Annotated[ 

2364 bool, 

2365 Doc( 

2366 """ 

2367 Configuration passed to Pydantic to define if the response data should 

2368 exclude fields set to `None`. 

2369 

2370 This is much simpler (less smart) than `response_model_exclude_unset` 

2371 and `response_model_exclude_defaults`. You probably want to use one of 

2372 those two instead of this one, as those allow returning `None` values 

2373 when it makes sense. 

2374 

2375 Read more about it in the 

2376 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

2377 """ 

2378 ), 

2379 ] = False, 

2380 include_in_schema: Annotated[ 

2381 bool, 

2382 Doc( 

2383 """ 

2384 Include this *path operation* in the generated OpenAPI schema. 

2385 

2386 This affects the generated OpenAPI (e.g. visible at `/docs`). 

2387 

2388 Read more about it in the 

2389 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

2390 """ 

2391 ), 

2392 ] = True, 

2393 response_class: Annotated[ 

2394 Type[Response], 

2395 Doc( 

2396 """ 

2397 Response class to be used for this *path operation*. 

2398 

2399 This will not be used if you return a response directly. 

2400 

2401 Read more about it in the 

2402 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

2403 """ 

2404 ), 

2405 ] = Default(JSONResponse), 

2406 name: Annotated[ 

2407 Optional[str], 

2408 Doc( 

2409 """ 

2410 Name for this *path operation*. Only used internally. 

2411 """ 

2412 ), 

2413 ] = None, 

2414 callbacks: Annotated[ 

2415 Optional[List[BaseRoute]], 

2416 Doc( 

2417 """ 

2418 List of *path operations* that will be used as OpenAPI callbacks. 

2419 

2420 This is only for OpenAPI documentation, the callbacks won't be used 

2421 directly. 

2422 

2423 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2424 

2425 Read more about it in the 

2426 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

2427 """ 

2428 ), 

2429 ] = None, 

2430 openapi_extra: Annotated[ 

2431 Optional[Dict[str, Any]], 

2432 Doc( 

2433 """ 

2434 Extra metadata to be included in the OpenAPI schema for this *path 

2435 operation*. 

2436 

2437 Read more about it in the 

2438 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

2439 """ 

2440 ), 

2441 ] = None, 

2442 generate_unique_id_function: Annotated[ 

2443 Callable[[APIRoute], str], 

2444 Doc( 

2445 """ 

2446 Customize the function used to generate unique IDs for the *path 

2447 operations* shown in the generated OpenAPI. 

2448 

2449 This is particularly useful when automatically generating clients or 

2450 SDKs for your API. 

2451 

2452 Read more about it in the 

2453 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

2454 """ 

2455 ), 

2456 ] = Default(generate_unique_id), 

2457 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

2458 """ 

2459 Add a *path operation* using an HTTP POST operation. 

2460 

2461 ## Example 

2462 

2463 ```python 

2464 from fastapi import APIRouter, FastAPI 

2465 from pydantic import BaseModel 

2466 

2467 class Item(BaseModel): 

2468 name: str 

2469 description: str | None = None 

2470 

2471 app = FastAPI() 

2472 router = APIRouter() 

2473 

2474 @router.post("/items/") 

2475 def create_item(item: Item): 

2476 return {"message": "Item created"} 

2477 

2478 app.include_router(router) 

2479 ``` 

2480 """ 

2481 return self.api_route( 2e bbPbXbWcYbZb0bDbEb'cGdHdIdJdKdLdMdNdOdPd(cw ! x KcLc2 - ' ` 8cf cbQb1bXc2b3b4bFbGb+c1d2d3d4d5d6d7d8d9d!d,cy # z McNc3 . ( { 9ca | vb5bYc6b7b8bHbIb/c/d:d;d=d?d@d[d]d^d_d:cs 6 t OcPcU + 8 wb;cxbwc^ !cQ b } yb9bZc!b#b$bJbKb[cgeheiejekelemeneoepe]cu 7 v QcRcV , 9 zb^cAbxc_ #cR c dbRb%b0c'b(b)bLbMb|cBeCeDeEeFeGeHeIeJeKe}cA $ B ScTc4 / ) Sb~cTbyc~ $cW d ebUb*b1c+b,b-bNbObddWeXeYeZe0e1e2e3e4e5eedC % D UcVc5 : * VbfdWbzcab%cX

2482 path=path, 

2483 response_model=response_model, 

2484 status_code=status_code, 

2485 tags=tags, 

2486 dependencies=dependencies, 

2487 summary=summary, 

2488 description=description, 

2489 response_description=response_description, 

2490 responses=responses, 

2491 deprecated=deprecated, 

2492 methods=["POST"], 

2493 operation_id=operation_id, 

2494 response_model_include=response_model_include, 

2495 response_model_exclude=response_model_exclude, 

2496 response_model_by_alias=response_model_by_alias, 

2497 response_model_exclude_unset=response_model_exclude_unset, 

2498 response_model_exclude_defaults=response_model_exclude_defaults, 

2499 response_model_exclude_none=response_model_exclude_none, 

2500 include_in_schema=include_in_schema, 

2501 response_class=response_class, 

2502 name=name, 

2503 callbacks=callbacks, 

2504 openapi_extra=openapi_extra, 

2505 generate_unique_id_function=generate_unique_id_function, 

2506 ) 

2507 

2508 def delete( 1efabcd

2509 self, 

2510 path: Annotated[ 

2511 str, 

2512 Doc( 

2513 """ 

2514 The URL path to be used for this *path operation*. 

2515 

2516 For example, in `http://example.com/items`, the path is `/items`. 

2517 """ 

2518 ), 

2519 ], 

2520 *, 

2521 response_model: Annotated[ 

2522 Any, 

2523 Doc( 

2524 """ 

2525 The type to use for the response. 

2526 

2527 It could be any valid Pydantic *field* type. So, it doesn't have to 

2528 be a Pydantic model, it could be other things, like a `list`, `dict`, 

2529 etc. 

2530 

2531 It will be used for: 

2532 

2533 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

2534 show it as the response (JSON Schema). 

2535 * Serialization: you could return an arbitrary object and the 

2536 `response_model` would be used to serialize that object into the 

2537 corresponding JSON. 

2538 * Filtering: the JSON sent to the client will only contain the data 

2539 (fields) defined in the `response_model`. If you returned an object 

2540 that contains an attribute `password` but the `response_model` does 

2541 not include that field, the JSON sent to the client would not have 

2542 that `password`. 

2543 * Validation: whatever you return will be serialized with the 

2544 `response_model`, converting any data as necessary to generate the 

2545 corresponding JSON. But if the data in the object returned is not 

2546 valid, that would mean a violation of the contract with the client, 

2547 so it's an error from the API developer. So, FastAPI will raise an 

2548 error and return a 500 error code (Internal Server Error). 

2549 

2550 Read more about it in the 

2551 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

2552 """ 

2553 ), 

2554 ] = Default(None), 

2555 status_code: Annotated[ 

2556 Optional[int], 

2557 Doc( 

2558 """ 

2559 The default status code to be used for the response. 

2560 

2561 You could override the status code by returning a response directly. 

2562 

2563 Read more about it in the 

2564 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

2565 """ 

2566 ), 

2567 ] = None, 

2568 tags: Annotated[ 

2569 Optional[List[Union[str, Enum]]], 

2570 Doc( 

2571 """ 

2572 A list of tags to be applied to the *path operation*. 

2573 

2574 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2575 

2576 Read more about it in the 

2577 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

2578 """ 

2579 ), 

2580 ] = None, 

2581 dependencies: Annotated[ 

2582 Optional[Sequence[params.Depends]], 

2583 Doc( 

2584 """ 

2585 A list of dependencies (using `Depends()`) to be applied to the 

2586 *path operation*. 

2587 

2588 Read more about it in the 

2589 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

2590 """ 

2591 ), 

2592 ] = None, 

2593 summary: Annotated[ 

2594 Optional[str], 

2595 Doc( 

2596 """ 

2597 A summary for the *path operation*. 

2598 

2599 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2600 

2601 Read more about it in the 

2602 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2603 """ 

2604 ), 

2605 ] = None, 

2606 description: Annotated[ 

2607 Optional[str], 

2608 Doc( 

2609 """ 

2610 A description for the *path operation*. 

2611 

2612 If not provided, it will be extracted automatically from the docstring 

2613 of the *path operation function*. 

2614 

2615 It can contain Markdown. 

2616 

2617 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2618 

2619 Read more about it in the 

2620 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2621 """ 

2622 ), 

2623 ] = None, 

2624 response_description: Annotated[ 

2625 str, 

2626 Doc( 

2627 """ 

2628 The description for the default response. 

2629 

2630 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2631 """ 

2632 ), 

2633 ] = "Successful Response", 

2634 responses: Annotated[ 

2635 Optional[Dict[Union[int, str], Dict[str, Any]]], 

2636 Doc( 

2637 """ 

2638 Additional responses that could be returned by this *path operation*. 

2639 

2640 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2641 """ 

2642 ), 

2643 ] = None, 

2644 deprecated: Annotated[ 

2645 Optional[bool], 

2646 Doc( 

2647 """ 

2648 Mark this *path operation* as deprecated. 

2649 

2650 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2651 """ 

2652 ), 

2653 ] = None, 

2654 operation_id: Annotated[ 

2655 Optional[str], 

2656 Doc( 

2657 """ 

2658 Custom operation ID to be used by this *path operation*. 

2659 

2660 By default, it is generated automatically. 

2661 

2662 If you provide a custom operation ID, you need to make sure it is 

2663 unique for the whole API. 

2664 

2665 You can customize the 

2666 operation ID generation with the parameter 

2667 `generate_unique_id_function` in the `FastAPI` class. 

2668 

2669 Read more about it in the 

2670 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

2671 """ 

2672 ), 

2673 ] = None, 

2674 response_model_include: Annotated[ 

2675 Optional[IncEx], 

2676 Doc( 

2677 """ 

2678 Configuration passed to Pydantic to include only certain fields in the 

2679 response data. 

2680 

2681 Read more about it in the 

2682 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2683 """ 

2684 ), 

2685 ] = None, 

2686 response_model_exclude: Annotated[ 

2687 Optional[IncEx], 

2688 Doc( 

2689 """ 

2690 Configuration passed to Pydantic to exclude certain fields in the 

2691 response data. 

2692 

2693 Read more about it in the 

2694 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2695 """ 

2696 ), 

2697 ] = None, 

2698 response_model_by_alias: Annotated[ 

2699 bool, 

2700 Doc( 

2701 """ 

2702 Configuration passed to Pydantic to define if the response model 

2703 should be serialized by alias when an alias is used. 

2704 

2705 Read more about it in the 

2706 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

2707 """ 

2708 ), 

2709 ] = True, 

2710 response_model_exclude_unset: Annotated[ 

2711 bool, 

2712 Doc( 

2713 """ 

2714 Configuration passed to Pydantic to define if the response data 

2715 should have all the fields, including the ones that were not set and 

2716 have their default values. This is different from 

2717 `response_model_exclude_defaults` in that if the fields are set, 

2718 they will be included in the response, even if the value is the same 

2719 as the default. 

2720 

2721 When `True`, default values are omitted from the response. 

2722 

2723 Read more about it in the 

2724 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

2725 """ 

2726 ), 

2727 ] = False, 

2728 response_model_exclude_defaults: Annotated[ 

2729 bool, 

2730 Doc( 

2731 """ 

2732 Configuration passed to Pydantic to define if the response data 

2733 should have all the fields, including the ones that have the same value 

2734 as the default. This is different from `response_model_exclude_unset` 

2735 in that if the fields are set but contain the same default values, 

2736 they will be excluded from the response. 

2737 

2738 When `True`, default values are omitted from the response. 

2739 

2740 Read more about it in the 

2741 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

2742 """ 

2743 ), 

2744 ] = False, 

2745 response_model_exclude_none: Annotated[ 

2746 bool, 

2747 Doc( 

2748 """ 

2749 Configuration passed to Pydantic to define if the response data should 

2750 exclude fields set to `None`. 

2751 

2752 This is much simpler (less smart) than `response_model_exclude_unset` 

2753 and `response_model_exclude_defaults`. You probably want to use one of 

2754 those two instead of this one, as those allow returning `None` values 

2755 when it makes sense. 

2756 

2757 Read more about it in the 

2758 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

2759 """ 

2760 ), 

2761 ] = False, 

2762 include_in_schema: Annotated[ 

2763 bool, 

2764 Doc( 

2765 """ 

2766 Include this *path operation* in the generated OpenAPI schema. 

2767 

2768 This affects the generated OpenAPI (e.g. visible at `/docs`). 

2769 

2770 Read more about it in the 

2771 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

2772 """ 

2773 ), 

2774 ] = True, 

2775 response_class: Annotated[ 

2776 Type[Response], 

2777 Doc( 

2778 """ 

2779 Response class to be used for this *path operation*. 

2780 

2781 This will not be used if you return a response directly. 

2782 

2783 Read more about it in the 

2784 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

2785 """ 

2786 ), 

2787 ] = Default(JSONResponse), 

2788 name: Annotated[ 

2789 Optional[str], 

2790 Doc( 

2791 """ 

2792 Name for this *path operation*. Only used internally. 

2793 """ 

2794 ), 

2795 ] = None, 

2796 callbacks: Annotated[ 

2797 Optional[List[BaseRoute]], 

2798 Doc( 

2799 """ 

2800 List of *path operations* that will be used as OpenAPI callbacks. 

2801 

2802 This is only for OpenAPI documentation, the callbacks won't be used 

2803 directly. 

2804 

2805 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2806 

2807 Read more about it in the 

2808 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

2809 """ 

2810 ), 

2811 ] = None, 

2812 openapi_extra: Annotated[ 

2813 Optional[Dict[str, Any]], 

2814 Doc( 

2815 """ 

2816 Extra metadata to be included in the OpenAPI schema for this *path 

2817 operation*. 

2818 

2819 Read more about it in the 

2820 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

2821 """ 

2822 ), 

2823 ] = None, 

2824 generate_unique_id_function: Annotated[ 

2825 Callable[[APIRoute], str], 

2826 Doc( 

2827 """ 

2828 Customize the function used to generate unique IDs for the *path 

2829 operations* shown in the generated OpenAPI. 

2830 

2831 This is particularly useful when automatically generating clients or 

2832 SDKs for your API. 

2833 

2834 Read more about it in the 

2835 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

2836 """ 

2837 ), 

2838 ] = Default(generate_unique_id), 

2839 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

2840 """ 

2841 Add a *path operation* using an HTTP DELETE operation. 

2842 

2843 ## Example 

2844 

2845 ```python 

2846 from fastapi import APIRouter, FastAPI 

2847 

2848 app = FastAPI() 

2849 router = APIRouter() 

2850 

2851 @router.delete("/items/{item_id}") 

2852 def delete_item(item_id: str): 

2853 return {"message": "Item deleted"} 

2854 

2855 app.include_router(router) 

2856 ``` 

2857 """ 

2858 return self.api_route( 1efabcd

2859 path=path, 

2860 response_model=response_model, 

2861 status_code=status_code, 

2862 tags=tags, 

2863 dependencies=dependencies, 

2864 summary=summary, 

2865 description=description, 

2866 response_description=response_description, 

2867 responses=responses, 

2868 deprecated=deprecated, 

2869 methods=["DELETE"], 

2870 operation_id=operation_id, 

2871 response_model_include=response_model_include, 

2872 response_model_exclude=response_model_exclude, 

2873 response_model_by_alias=response_model_by_alias, 

2874 response_model_exclude_unset=response_model_exclude_unset, 

2875 response_model_exclude_defaults=response_model_exclude_defaults, 

2876 response_model_exclude_none=response_model_exclude_none, 

2877 include_in_schema=include_in_schema, 

2878 response_class=response_class, 

2879 name=name, 

2880 callbacks=callbacks, 

2881 openapi_extra=openapi_extra, 

2882 generate_unique_id_function=generate_unique_id_function, 

2883 ) 

2884 

2885 def options( 1efabcd

2886 self, 

2887 path: Annotated[ 

2888 str, 

2889 Doc( 

2890 """ 

2891 The URL path to be used for this *path operation*. 

2892 

2893 For example, in `http://example.com/items`, the path is `/items`. 

2894 """ 

2895 ), 

2896 ], 

2897 *, 

2898 response_model: Annotated[ 

2899 Any, 

2900 Doc( 

2901 """ 

2902 The type to use for the response. 

2903 

2904 It could be any valid Pydantic *field* type. So, it doesn't have to 

2905 be a Pydantic model, it could be other things, like a `list`, `dict`, 

2906 etc. 

2907 

2908 It will be used for: 

2909 

2910 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

2911 show it as the response (JSON Schema). 

2912 * Serialization: you could return an arbitrary object and the 

2913 `response_model` would be used to serialize that object into the 

2914 corresponding JSON. 

2915 * Filtering: the JSON sent to the client will only contain the data 

2916 (fields) defined in the `response_model`. If you returned an object 

2917 that contains an attribute `password` but the `response_model` does 

2918 not include that field, the JSON sent to the client would not have 

2919 that `password`. 

2920 * Validation: whatever you return will be serialized with the 

2921 `response_model`, converting any data as necessary to generate the 

2922 corresponding JSON. But if the data in the object returned is not 

2923 valid, that would mean a violation of the contract with the client, 

2924 so it's an error from the API developer. So, FastAPI will raise an 

2925 error and return a 500 error code (Internal Server Error). 

2926 

2927 Read more about it in the 

2928 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

2929 """ 

2930 ), 

2931 ] = Default(None), 

2932 status_code: Annotated[ 

2933 Optional[int], 

2934 Doc( 

2935 """ 

2936 The default status code to be used for the response. 

2937 

2938 You could override the status code by returning a response directly. 

2939 

2940 Read more about it in the 

2941 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

2942 """ 

2943 ), 

2944 ] = None, 

2945 tags: Annotated[ 

2946 Optional[List[Union[str, Enum]]], 

2947 Doc( 

2948 """ 

2949 A list of tags to be applied to the *path operation*. 

2950 

2951 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2952 

2953 Read more about it in the 

2954 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

2955 """ 

2956 ), 

2957 ] = None, 

2958 dependencies: Annotated[ 

2959 Optional[Sequence[params.Depends]], 

2960 Doc( 

2961 """ 

2962 A list of dependencies (using `Depends()`) to be applied to the 

2963 *path operation*. 

2964 

2965 Read more about it in the 

2966 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

2967 """ 

2968 ), 

2969 ] = None, 

2970 summary: Annotated[ 

2971 Optional[str], 

2972 Doc( 

2973 """ 

2974 A summary for the *path operation*. 

2975 

2976 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2977 

2978 Read more about it in the 

2979 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2980 """ 

2981 ), 

2982 ] = None, 

2983 description: Annotated[ 

2984 Optional[str], 

2985 Doc( 

2986 """ 

2987 A description for the *path operation*. 

2988 

2989 If not provided, it will be extracted automatically from the docstring 

2990 of the *path operation function*. 

2991 

2992 It can contain Markdown. 

2993 

2994 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

2995 

2996 Read more about it in the 

2997 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

2998 """ 

2999 ), 

3000 ] = None, 

3001 response_description: Annotated[ 

3002 str, 

3003 Doc( 

3004 """ 

3005 The description for the default response. 

3006 

3007 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3008 """ 

3009 ), 

3010 ] = "Successful Response", 

3011 responses: Annotated[ 

3012 Optional[Dict[Union[int, str], Dict[str, Any]]], 

3013 Doc( 

3014 """ 

3015 Additional responses that could be returned by this *path operation*. 

3016 

3017 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3018 """ 

3019 ), 

3020 ] = None, 

3021 deprecated: Annotated[ 

3022 Optional[bool], 

3023 Doc( 

3024 """ 

3025 Mark this *path operation* as deprecated. 

3026 

3027 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3028 """ 

3029 ), 

3030 ] = None, 

3031 operation_id: Annotated[ 

3032 Optional[str], 

3033 Doc( 

3034 """ 

3035 Custom operation ID to be used by this *path operation*. 

3036 

3037 By default, it is generated automatically. 

3038 

3039 If you provide a custom operation ID, you need to make sure it is 

3040 unique for the whole API. 

3041 

3042 You can customize the 

3043 operation ID generation with the parameter 

3044 `generate_unique_id_function` in the `FastAPI` class. 

3045 

3046 Read more about it in the 

3047 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3048 """ 

3049 ), 

3050 ] = None, 

3051 response_model_include: Annotated[ 

3052 Optional[IncEx], 

3053 Doc( 

3054 """ 

3055 Configuration passed to Pydantic to include only certain fields in the 

3056 response data. 

3057 

3058 Read more about it in the 

3059 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3060 """ 

3061 ), 

3062 ] = None, 

3063 response_model_exclude: Annotated[ 

3064 Optional[IncEx], 

3065 Doc( 

3066 """ 

3067 Configuration passed to Pydantic to exclude certain fields in the 

3068 response data. 

3069 

3070 Read more about it in the 

3071 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3072 """ 

3073 ), 

3074 ] = None, 

3075 response_model_by_alias: Annotated[ 

3076 bool, 

3077 Doc( 

3078 """ 

3079 Configuration passed to Pydantic to define if the response model 

3080 should be serialized by alias when an alias is used. 

3081 

3082 Read more about it in the 

3083 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3084 """ 

3085 ), 

3086 ] = True, 

3087 response_model_exclude_unset: Annotated[ 

3088 bool, 

3089 Doc( 

3090 """ 

3091 Configuration passed to Pydantic to define if the response data 

3092 should have all the fields, including the ones that were not set and 

3093 have their default values. This is different from 

3094 `response_model_exclude_defaults` in that if the fields are set, 

3095 they will be included in the response, even if the value is the same 

3096 as the default. 

3097 

3098 When `True`, default values are omitted from the response. 

3099 

3100 Read more about it in the 

3101 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3102 """ 

3103 ), 

3104 ] = False, 

3105 response_model_exclude_defaults: Annotated[ 

3106 bool, 

3107 Doc( 

3108 """ 

3109 Configuration passed to Pydantic to define if the response data 

3110 should have all the fields, including the ones that have the same value 

3111 as the default. This is different from `response_model_exclude_unset` 

3112 in that if the fields are set but contain the same default values, 

3113 they will be excluded from the response. 

3114 

3115 When `True`, default values are omitted from the response. 

3116 

3117 Read more about it in the 

3118 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3119 """ 

3120 ), 

3121 ] = False, 

3122 response_model_exclude_none: Annotated[ 

3123 bool, 

3124 Doc( 

3125 """ 

3126 Configuration passed to Pydantic to define if the response data should 

3127 exclude fields set to `None`. 

3128 

3129 This is much simpler (less smart) than `response_model_exclude_unset` 

3130 and `response_model_exclude_defaults`. You probably want to use one of 

3131 those two instead of this one, as those allow returning `None` values 

3132 when it makes sense. 

3133 

3134 Read more about it in the 

3135 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

3136 """ 

3137 ), 

3138 ] = False, 

3139 include_in_schema: Annotated[ 

3140 bool, 

3141 Doc( 

3142 """ 

3143 Include this *path operation* in the generated OpenAPI schema. 

3144 

3145 This affects the generated OpenAPI (e.g. visible at `/docs`). 

3146 

3147 Read more about it in the 

3148 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

3149 """ 

3150 ), 

3151 ] = True, 

3152 response_class: Annotated[ 

3153 Type[Response], 

3154 Doc( 

3155 """ 

3156 Response class to be used for this *path operation*. 

3157 

3158 This will not be used if you return a response directly. 

3159 

3160 Read more about it in the 

3161 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

3162 """ 

3163 ), 

3164 ] = Default(JSONResponse), 

3165 name: Annotated[ 

3166 Optional[str], 

3167 Doc( 

3168 """ 

3169 Name for this *path operation*. Only used internally. 

3170 """ 

3171 ), 

3172 ] = None, 

3173 callbacks: Annotated[ 

3174 Optional[List[BaseRoute]], 

3175 Doc( 

3176 """ 

3177 List of *path operations* that will be used as OpenAPI callbacks. 

3178 

3179 This is only for OpenAPI documentation, the callbacks won't be used 

3180 directly. 

3181 

3182 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3183 

3184 Read more about it in the 

3185 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

3186 """ 

3187 ), 

3188 ] = None, 

3189 openapi_extra: Annotated[ 

3190 Optional[Dict[str, Any]], 

3191 Doc( 

3192 """ 

3193 Extra metadata to be included in the OpenAPI schema for this *path 

3194 operation*. 

3195 

3196 Read more about it in the 

3197 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

3198 """ 

3199 ), 

3200 ] = None, 

3201 generate_unique_id_function: Annotated[ 

3202 Callable[[APIRoute], str], 

3203 Doc( 

3204 """ 

3205 Customize the function used to generate unique IDs for the *path 

3206 operations* shown in the generated OpenAPI. 

3207 

3208 This is particularly useful when automatically generating clients or 

3209 SDKs for your API. 

3210 

3211 Read more about it in the 

3212 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3213 """ 

3214 ), 

3215 ] = Default(generate_unique_id), 

3216 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

3217 """ 

3218 Add a *path operation* using an HTTP OPTIONS operation. 

3219 

3220 ## Example 

3221 

3222 ```python 

3223 from fastapi import APIRouter, FastAPI 

3224 

3225 app = FastAPI() 

3226 router = APIRouter() 

3227 

3228 @router.options("/items/") 

3229 def get_item_options(): 

3230 return {"additions": ["Aji", "Guacamole"]} 

3231 

3232 app.include_router(router) 

3233 ``` 

3234 """ 

3235 return self.api_route( 1efabcd

3236 path=path, 

3237 response_model=response_model, 

3238 status_code=status_code, 

3239 tags=tags, 

3240 dependencies=dependencies, 

3241 summary=summary, 

3242 description=description, 

3243 response_description=response_description, 

3244 responses=responses, 

3245 deprecated=deprecated, 

3246 methods=["OPTIONS"], 

3247 operation_id=operation_id, 

3248 response_model_include=response_model_include, 

3249 response_model_exclude=response_model_exclude, 

3250 response_model_by_alias=response_model_by_alias, 

3251 response_model_exclude_unset=response_model_exclude_unset, 

3252 response_model_exclude_defaults=response_model_exclude_defaults, 

3253 response_model_exclude_none=response_model_exclude_none, 

3254 include_in_schema=include_in_schema, 

3255 response_class=response_class, 

3256 name=name, 

3257 callbacks=callbacks, 

3258 openapi_extra=openapi_extra, 

3259 generate_unique_id_function=generate_unique_id_function, 

3260 ) 

3261 

3262 def head( 1efabcd

3263 self, 

3264 path: Annotated[ 

3265 str, 

3266 Doc( 

3267 """ 

3268 The URL path to be used for this *path operation*. 

3269 

3270 For example, in `http://example.com/items`, the path is `/items`. 

3271 """ 

3272 ), 

3273 ], 

3274 *, 

3275 response_model: Annotated[ 

3276 Any, 

3277 Doc( 

3278 """ 

3279 The type to use for the response. 

3280 

3281 It could be any valid Pydantic *field* type. So, it doesn't have to 

3282 be a Pydantic model, it could be other things, like a `list`, `dict`, 

3283 etc. 

3284 

3285 It will be used for: 

3286 

3287 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

3288 show it as the response (JSON Schema). 

3289 * Serialization: you could return an arbitrary object and the 

3290 `response_model` would be used to serialize that object into the 

3291 corresponding JSON. 

3292 * Filtering: the JSON sent to the client will only contain the data 

3293 (fields) defined in the `response_model`. If you returned an object 

3294 that contains an attribute `password` but the `response_model` does 

3295 not include that field, the JSON sent to the client would not have 

3296 that `password`. 

3297 * Validation: whatever you return will be serialized with the 

3298 `response_model`, converting any data as necessary to generate the 

3299 corresponding JSON. But if the data in the object returned is not 

3300 valid, that would mean a violation of the contract with the client, 

3301 so it's an error from the API developer. So, FastAPI will raise an 

3302 error and return a 500 error code (Internal Server Error). 

3303 

3304 Read more about it in the 

3305 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

3306 """ 

3307 ), 

3308 ] = Default(None), 

3309 status_code: Annotated[ 

3310 Optional[int], 

3311 Doc( 

3312 """ 

3313 The default status code to be used for the response. 

3314 

3315 You could override the status code by returning a response directly. 

3316 

3317 Read more about it in the 

3318 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

3319 """ 

3320 ), 

3321 ] = None, 

3322 tags: Annotated[ 

3323 Optional[List[Union[str, Enum]]], 

3324 Doc( 

3325 """ 

3326 A list of tags to be applied to the *path operation*. 

3327 

3328 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3329 

3330 Read more about it in the 

3331 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

3332 """ 

3333 ), 

3334 ] = None, 

3335 dependencies: Annotated[ 

3336 Optional[Sequence[params.Depends]], 

3337 Doc( 

3338 """ 

3339 A list of dependencies (using `Depends()`) to be applied to the 

3340 *path operation*. 

3341 

3342 Read more about it in the 

3343 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

3344 """ 

3345 ), 

3346 ] = None, 

3347 summary: Annotated[ 

3348 Optional[str], 

3349 Doc( 

3350 """ 

3351 A summary for the *path operation*. 

3352 

3353 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3354 

3355 Read more about it in the 

3356 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

3357 """ 

3358 ), 

3359 ] = None, 

3360 description: Annotated[ 

3361 Optional[str], 

3362 Doc( 

3363 """ 

3364 A description for the *path operation*. 

3365 

3366 If not provided, it will be extracted automatically from the docstring 

3367 of the *path operation function*. 

3368 

3369 It can contain Markdown. 

3370 

3371 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3372 

3373 Read more about it in the 

3374 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

3375 """ 

3376 ), 

3377 ] = None, 

3378 response_description: Annotated[ 

3379 str, 

3380 Doc( 

3381 """ 

3382 The description for the default response. 

3383 

3384 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3385 """ 

3386 ), 

3387 ] = "Successful Response", 

3388 responses: Annotated[ 

3389 Optional[Dict[Union[int, str], Dict[str, Any]]], 

3390 Doc( 

3391 """ 

3392 Additional responses that could be returned by this *path operation*. 

3393 

3394 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3395 """ 

3396 ), 

3397 ] = None, 

3398 deprecated: Annotated[ 

3399 Optional[bool], 

3400 Doc( 

3401 """ 

3402 Mark this *path operation* as deprecated. 

3403 

3404 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3405 """ 

3406 ), 

3407 ] = None, 

3408 operation_id: Annotated[ 

3409 Optional[str], 

3410 Doc( 

3411 """ 

3412 Custom operation ID to be used by this *path operation*. 

3413 

3414 By default, it is generated automatically. 

3415 

3416 If you provide a custom operation ID, you need to make sure it is 

3417 unique for the whole API. 

3418 

3419 You can customize the 

3420 operation ID generation with the parameter 

3421 `generate_unique_id_function` in the `FastAPI` class. 

3422 

3423 Read more about it in the 

3424 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3425 """ 

3426 ), 

3427 ] = None, 

3428 response_model_include: Annotated[ 

3429 Optional[IncEx], 

3430 Doc( 

3431 """ 

3432 Configuration passed to Pydantic to include only certain fields in the 

3433 response data. 

3434 

3435 Read more about it in the 

3436 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3437 """ 

3438 ), 

3439 ] = None, 

3440 response_model_exclude: Annotated[ 

3441 Optional[IncEx], 

3442 Doc( 

3443 """ 

3444 Configuration passed to Pydantic to exclude certain fields in the 

3445 response data. 

3446 

3447 Read more about it in the 

3448 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3449 """ 

3450 ), 

3451 ] = None, 

3452 response_model_by_alias: Annotated[ 

3453 bool, 

3454 Doc( 

3455 """ 

3456 Configuration passed to Pydantic to define if the response model 

3457 should be serialized by alias when an alias is used. 

3458 

3459 Read more about it in the 

3460 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3461 """ 

3462 ), 

3463 ] = True, 

3464 response_model_exclude_unset: Annotated[ 

3465 bool, 

3466 Doc( 

3467 """ 

3468 Configuration passed to Pydantic to define if the response data 

3469 should have all the fields, including the ones that were not set and 

3470 have their default values. This is different from 

3471 `response_model_exclude_defaults` in that if the fields are set, 

3472 they will be included in the response, even if the value is the same 

3473 as the default. 

3474 

3475 When `True`, default values are omitted from the response. 

3476 

3477 Read more about it in the 

3478 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3479 """ 

3480 ), 

3481 ] = False, 

3482 response_model_exclude_defaults: Annotated[ 

3483 bool, 

3484 Doc( 

3485 """ 

3486 Configuration passed to Pydantic to define if the response data 

3487 should have all the fields, including the ones that have the same value 

3488 as the default. This is different from `response_model_exclude_unset` 

3489 in that if the fields are set but contain the same default values, 

3490 they will be excluded from the response. 

3491 

3492 When `True`, default values are omitted from the response. 

3493 

3494 Read more about it in the 

3495 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3496 """ 

3497 ), 

3498 ] = False, 

3499 response_model_exclude_none: Annotated[ 

3500 bool, 

3501 Doc( 

3502 """ 

3503 Configuration passed to Pydantic to define if the response data should 

3504 exclude fields set to `None`. 

3505 

3506 This is much simpler (less smart) than `response_model_exclude_unset` 

3507 and `response_model_exclude_defaults`. You probably want to use one of 

3508 those two instead of this one, as those allow returning `None` values 

3509 when it makes sense. 

3510 

3511 Read more about it in the 

3512 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

3513 """ 

3514 ), 

3515 ] = False, 

3516 include_in_schema: Annotated[ 

3517 bool, 

3518 Doc( 

3519 """ 

3520 Include this *path operation* in the generated OpenAPI schema. 

3521 

3522 This affects the generated OpenAPI (e.g. visible at `/docs`). 

3523 

3524 Read more about it in the 

3525 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

3526 """ 

3527 ), 

3528 ] = True, 

3529 response_class: Annotated[ 

3530 Type[Response], 

3531 Doc( 

3532 """ 

3533 Response class to be used for this *path operation*. 

3534 

3535 This will not be used if you return a response directly. 

3536 

3537 Read more about it in the 

3538 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

3539 """ 

3540 ), 

3541 ] = Default(JSONResponse), 

3542 name: Annotated[ 

3543 Optional[str], 

3544 Doc( 

3545 """ 

3546 Name for this *path operation*. Only used internally. 

3547 """ 

3548 ), 

3549 ] = None, 

3550 callbacks: Annotated[ 

3551 Optional[List[BaseRoute]], 

3552 Doc( 

3553 """ 

3554 List of *path operations* that will be used as OpenAPI callbacks. 

3555 

3556 This is only for OpenAPI documentation, the callbacks won't be used 

3557 directly. 

3558 

3559 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3560 

3561 Read more about it in the 

3562 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

3563 """ 

3564 ), 

3565 ] = None, 

3566 openapi_extra: Annotated[ 

3567 Optional[Dict[str, Any]], 

3568 Doc( 

3569 """ 

3570 Extra metadata to be included in the OpenAPI schema for this *path 

3571 operation*. 

3572 

3573 Read more about it in the 

3574 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

3575 """ 

3576 ), 

3577 ] = None, 

3578 generate_unique_id_function: Annotated[ 

3579 Callable[[APIRoute], str], 

3580 Doc( 

3581 """ 

3582 Customize the function used to generate unique IDs for the *path 

3583 operations* shown in the generated OpenAPI. 

3584 

3585 This is particularly useful when automatically generating clients or 

3586 SDKs for your API. 

3587 

3588 Read more about it in the 

3589 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3590 """ 

3591 ), 

3592 ] = Default(generate_unique_id), 

3593 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

3594 """ 

3595 Add a *path operation* using an HTTP HEAD operation. 

3596 

3597 ## Example 

3598 

3599 ```python 

3600 from fastapi import APIRouter, FastAPI 

3601 from pydantic import BaseModel 

3602 

3603 class Item(BaseModel): 

3604 name: str 

3605 description: str | None = None 

3606 

3607 app = FastAPI() 

3608 router = APIRouter() 

3609 

3610 @router.head("/items/", status_code=204) 

3611 def get_items_headers(response: Response): 

3612 response.headers["X-Cat-Dog"] = "Alone in the world" 

3613 

3614 app.include_router(router) 

3615 ``` 

3616 """ 

3617 return self.api_route( 1efabcd

3618 path=path, 

3619 response_model=response_model, 

3620 status_code=status_code, 

3621 tags=tags, 

3622 dependencies=dependencies, 

3623 summary=summary, 

3624 description=description, 

3625 response_description=response_description, 

3626 responses=responses, 

3627 deprecated=deprecated, 

3628 methods=["HEAD"], 

3629 operation_id=operation_id, 

3630 response_model_include=response_model_include, 

3631 response_model_exclude=response_model_exclude, 

3632 response_model_by_alias=response_model_by_alias, 

3633 response_model_exclude_unset=response_model_exclude_unset, 

3634 response_model_exclude_defaults=response_model_exclude_defaults, 

3635 response_model_exclude_none=response_model_exclude_none, 

3636 include_in_schema=include_in_schema, 

3637 response_class=response_class, 

3638 name=name, 

3639 callbacks=callbacks, 

3640 openapi_extra=openapi_extra, 

3641 generate_unique_id_function=generate_unique_id_function, 

3642 ) 

3643 

3644 def patch( 1efabcd

3645 self, 

3646 path: Annotated[ 

3647 str, 

3648 Doc( 

3649 """ 

3650 The URL path to be used for this *path operation*. 

3651 

3652 For example, in `http://example.com/items`, the path is `/items`. 

3653 """ 

3654 ), 

3655 ], 

3656 *, 

3657 response_model: Annotated[ 

3658 Any, 

3659 Doc( 

3660 """ 

3661 The type to use for the response. 

3662 

3663 It could be any valid Pydantic *field* type. So, it doesn't have to 

3664 be a Pydantic model, it could be other things, like a `list`, `dict`, 

3665 etc. 

3666 

3667 It will be used for: 

3668 

3669 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

3670 show it as the response (JSON Schema). 

3671 * Serialization: you could return an arbitrary object and the 

3672 `response_model` would be used to serialize that object into the 

3673 corresponding JSON. 

3674 * Filtering: the JSON sent to the client will only contain the data 

3675 (fields) defined in the `response_model`. If you returned an object 

3676 that contains an attribute `password` but the `response_model` does 

3677 not include that field, the JSON sent to the client would not have 

3678 that `password`. 

3679 * Validation: whatever you return will be serialized with the 

3680 `response_model`, converting any data as necessary to generate the 

3681 corresponding JSON. But if the data in the object returned is not 

3682 valid, that would mean a violation of the contract with the client, 

3683 so it's an error from the API developer. So, FastAPI will raise an 

3684 error and return a 500 error code (Internal Server Error). 

3685 

3686 Read more about it in the 

3687 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

3688 """ 

3689 ), 

3690 ] = Default(None), 

3691 status_code: Annotated[ 

3692 Optional[int], 

3693 Doc( 

3694 """ 

3695 The default status code to be used for the response. 

3696 

3697 You could override the status code by returning a response directly. 

3698 

3699 Read more about it in the 

3700 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

3701 """ 

3702 ), 

3703 ] = None, 

3704 tags: Annotated[ 

3705 Optional[List[Union[str, Enum]]], 

3706 Doc( 

3707 """ 

3708 A list of tags to be applied to the *path operation*. 

3709 

3710 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3711 

3712 Read more about it in the 

3713 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

3714 """ 

3715 ), 

3716 ] = None, 

3717 dependencies: Annotated[ 

3718 Optional[Sequence[params.Depends]], 

3719 Doc( 

3720 """ 

3721 A list of dependencies (using `Depends()`) to be applied to the 

3722 *path operation*. 

3723 

3724 Read more about it in the 

3725 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

3726 """ 

3727 ), 

3728 ] = None, 

3729 summary: Annotated[ 

3730 Optional[str], 

3731 Doc( 

3732 """ 

3733 A summary for the *path operation*. 

3734 

3735 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3736 

3737 Read more about it in the 

3738 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

3739 """ 

3740 ), 

3741 ] = None, 

3742 description: Annotated[ 

3743 Optional[str], 

3744 Doc( 

3745 """ 

3746 A description for the *path operation*. 

3747 

3748 If not provided, it will be extracted automatically from the docstring 

3749 of the *path operation function*. 

3750 

3751 It can contain Markdown. 

3752 

3753 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3754 

3755 Read more about it in the 

3756 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

3757 """ 

3758 ), 

3759 ] = None, 

3760 response_description: Annotated[ 

3761 str, 

3762 Doc( 

3763 """ 

3764 The description for the default response. 

3765 

3766 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3767 """ 

3768 ), 

3769 ] = "Successful Response", 

3770 responses: Annotated[ 

3771 Optional[Dict[Union[int, str], Dict[str, Any]]], 

3772 Doc( 

3773 """ 

3774 Additional responses that could be returned by this *path operation*. 

3775 

3776 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3777 """ 

3778 ), 

3779 ] = None, 

3780 deprecated: Annotated[ 

3781 Optional[bool], 

3782 Doc( 

3783 """ 

3784 Mark this *path operation* as deprecated. 

3785 

3786 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3787 """ 

3788 ), 

3789 ] = None, 

3790 operation_id: Annotated[ 

3791 Optional[str], 

3792 Doc( 

3793 """ 

3794 Custom operation ID to be used by this *path operation*. 

3795 

3796 By default, it is generated automatically. 

3797 

3798 If you provide a custom operation ID, you need to make sure it is 

3799 unique for the whole API. 

3800 

3801 You can customize the 

3802 operation ID generation with the parameter 

3803 `generate_unique_id_function` in the `FastAPI` class. 

3804 

3805 Read more about it in the 

3806 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3807 """ 

3808 ), 

3809 ] = None, 

3810 response_model_include: Annotated[ 

3811 Optional[IncEx], 

3812 Doc( 

3813 """ 

3814 Configuration passed to Pydantic to include only certain fields in the 

3815 response data. 

3816 

3817 Read more about it in the 

3818 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3819 """ 

3820 ), 

3821 ] = None, 

3822 response_model_exclude: Annotated[ 

3823 Optional[IncEx], 

3824 Doc( 

3825 """ 

3826 Configuration passed to Pydantic to exclude certain fields in the 

3827 response data. 

3828 

3829 Read more about it in the 

3830 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3831 """ 

3832 ), 

3833 ] = None, 

3834 response_model_by_alias: Annotated[ 

3835 bool, 

3836 Doc( 

3837 """ 

3838 Configuration passed to Pydantic to define if the response model 

3839 should be serialized by alias when an alias is used. 

3840 

3841 Read more about it in the 

3842 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

3843 """ 

3844 ), 

3845 ] = True, 

3846 response_model_exclude_unset: Annotated[ 

3847 bool, 

3848 Doc( 

3849 """ 

3850 Configuration passed to Pydantic to define if the response data 

3851 should have all the fields, including the ones that were not set and 

3852 have their default values. This is different from 

3853 `response_model_exclude_defaults` in that if the fields are set, 

3854 they will be included in the response, even if the value is the same 

3855 as the default. 

3856 

3857 When `True`, default values are omitted from the response. 

3858 

3859 Read more about it in the 

3860 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3861 """ 

3862 ), 

3863 ] = False, 

3864 response_model_exclude_defaults: Annotated[ 

3865 bool, 

3866 Doc( 

3867 """ 

3868 Configuration passed to Pydantic to define if the response data 

3869 should have all the fields, including the ones that have the same value 

3870 as the default. This is different from `response_model_exclude_unset` 

3871 in that if the fields are set but contain the same default values, 

3872 they will be excluded from the response. 

3873 

3874 When `True`, default values are omitted from the response. 

3875 

3876 Read more about it in the 

3877 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

3878 """ 

3879 ), 

3880 ] = False, 

3881 response_model_exclude_none: Annotated[ 

3882 bool, 

3883 Doc( 

3884 """ 

3885 Configuration passed to Pydantic to define if the response data should 

3886 exclude fields set to `None`. 

3887 

3888 This is much simpler (less smart) than `response_model_exclude_unset` 

3889 and `response_model_exclude_defaults`. You probably want to use one of 

3890 those two instead of this one, as those allow returning `None` values 

3891 when it makes sense. 

3892 

3893 Read more about it in the 

3894 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

3895 """ 

3896 ), 

3897 ] = False, 

3898 include_in_schema: Annotated[ 

3899 bool, 

3900 Doc( 

3901 """ 

3902 Include this *path operation* in the generated OpenAPI schema. 

3903 

3904 This affects the generated OpenAPI (e.g. visible at `/docs`). 

3905 

3906 Read more about it in the 

3907 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

3908 """ 

3909 ), 

3910 ] = True, 

3911 response_class: Annotated[ 

3912 Type[Response], 

3913 Doc( 

3914 """ 

3915 Response class to be used for this *path operation*. 

3916 

3917 This will not be used if you return a response directly. 

3918 

3919 Read more about it in the 

3920 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

3921 """ 

3922 ), 

3923 ] = Default(JSONResponse), 

3924 name: Annotated[ 

3925 Optional[str], 

3926 Doc( 

3927 """ 

3928 Name for this *path operation*. Only used internally. 

3929 """ 

3930 ), 

3931 ] = None, 

3932 callbacks: Annotated[ 

3933 Optional[List[BaseRoute]], 

3934 Doc( 

3935 """ 

3936 List of *path operations* that will be used as OpenAPI callbacks. 

3937 

3938 This is only for OpenAPI documentation, the callbacks won't be used 

3939 directly. 

3940 

3941 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

3942 

3943 Read more about it in the 

3944 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

3945 """ 

3946 ), 

3947 ] = None, 

3948 openapi_extra: Annotated[ 

3949 Optional[Dict[str, Any]], 

3950 Doc( 

3951 """ 

3952 Extra metadata to be included in the OpenAPI schema for this *path 

3953 operation*. 

3954 

3955 Read more about it in the 

3956 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

3957 """ 

3958 ), 

3959 ] = None, 

3960 generate_unique_id_function: Annotated[ 

3961 Callable[[APIRoute], str], 

3962 Doc( 

3963 """ 

3964 Customize the function used to generate unique IDs for the *path 

3965 operations* shown in the generated OpenAPI. 

3966 

3967 This is particularly useful when automatically generating clients or 

3968 SDKs for your API. 

3969 

3970 Read more about it in the 

3971 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

3972 """ 

3973 ), 

3974 ] = Default(generate_unique_id), 

3975 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

3976 """ 

3977 Add a *path operation* using an HTTP PATCH operation. 

3978 

3979 ## Example 

3980 

3981 ```python 

3982 from fastapi import APIRouter, FastAPI 

3983 from pydantic import BaseModel 

3984 

3985 class Item(BaseModel): 

3986 name: str 

3987 description: str | None = None 

3988 

3989 app = FastAPI() 

3990 router = APIRouter() 

3991 

3992 @router.patch("/items/") 

3993 def update_item(item: Item): 

3994 return {"message": "Item updated in place"} 

3995 

3996 app.include_router(router) 

3997 ``` 

3998 """ 

3999 return self.api_route( 1efabcd

4000 path=path, 

4001 response_model=response_model, 

4002 status_code=status_code, 

4003 tags=tags, 

4004 dependencies=dependencies, 

4005 summary=summary, 

4006 description=description, 

4007 response_description=response_description, 

4008 responses=responses, 

4009 deprecated=deprecated, 

4010 methods=["PATCH"], 

4011 operation_id=operation_id, 

4012 response_model_include=response_model_include, 

4013 response_model_exclude=response_model_exclude, 

4014 response_model_by_alias=response_model_by_alias, 

4015 response_model_exclude_unset=response_model_exclude_unset, 

4016 response_model_exclude_defaults=response_model_exclude_defaults, 

4017 response_model_exclude_none=response_model_exclude_none, 

4018 include_in_schema=include_in_schema, 

4019 response_class=response_class, 

4020 name=name, 

4021 callbacks=callbacks, 

4022 openapi_extra=openapi_extra, 

4023 generate_unique_id_function=generate_unique_id_function, 

4024 ) 

4025 

4026 def trace( 1efabcd

4027 self, 

4028 path: Annotated[ 

4029 str, 

4030 Doc( 

4031 """ 

4032 The URL path to be used for this *path operation*. 

4033 

4034 For example, in `http://example.com/items`, the path is `/items`. 

4035 """ 

4036 ), 

4037 ], 

4038 *, 

4039 response_model: Annotated[ 

4040 Any, 

4041 Doc( 

4042 """ 

4043 The type to use for the response. 

4044 

4045 It could be any valid Pydantic *field* type. So, it doesn't have to 

4046 be a Pydantic model, it could be other things, like a `list`, `dict`, 

4047 etc. 

4048 

4049 It will be used for: 

4050 

4051 * Documentation: the generated OpenAPI (and the UI at `/docs`) will 

4052 show it as the response (JSON Schema). 

4053 * Serialization: you could return an arbitrary object and the 

4054 `response_model` would be used to serialize that object into the 

4055 corresponding JSON. 

4056 * Filtering: the JSON sent to the client will only contain the data 

4057 (fields) defined in the `response_model`. If you returned an object 

4058 that contains an attribute `password` but the `response_model` does 

4059 not include that field, the JSON sent to the client would not have 

4060 that `password`. 

4061 * Validation: whatever you return will be serialized with the 

4062 `response_model`, converting any data as necessary to generate the 

4063 corresponding JSON. But if the data in the object returned is not 

4064 valid, that would mean a violation of the contract with the client, 

4065 so it's an error from the API developer. So, FastAPI will raise an 

4066 error and return a 500 error code (Internal Server Error). 

4067 

4068 Read more about it in the 

4069 [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/). 

4070 """ 

4071 ), 

4072 ] = Default(None), 

4073 status_code: Annotated[ 

4074 Optional[int], 

4075 Doc( 

4076 """ 

4077 The default status code to be used for the response. 

4078 

4079 You could override the status code by returning a response directly. 

4080 

4081 Read more about it in the 

4082 [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/). 

4083 """ 

4084 ), 

4085 ] = None, 

4086 tags: Annotated[ 

4087 Optional[List[Union[str, Enum]]], 

4088 Doc( 

4089 """ 

4090 A list of tags to be applied to the *path operation*. 

4091 

4092 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4093 

4094 Read more about it in the 

4095 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags). 

4096 """ 

4097 ), 

4098 ] = None, 

4099 dependencies: Annotated[ 

4100 Optional[Sequence[params.Depends]], 

4101 Doc( 

4102 """ 

4103 A list of dependencies (using `Depends()`) to be applied to the 

4104 *path operation*. 

4105 

4106 Read more about it in the 

4107 [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/). 

4108 """ 

4109 ), 

4110 ] = None, 

4111 summary: Annotated[ 

4112 Optional[str], 

4113 Doc( 

4114 """ 

4115 A summary for the *path operation*. 

4116 

4117 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4118 

4119 Read more about it in the 

4120 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

4121 """ 

4122 ), 

4123 ] = None, 

4124 description: Annotated[ 

4125 Optional[str], 

4126 Doc( 

4127 """ 

4128 A description for the *path operation*. 

4129 

4130 If not provided, it will be extracted automatically from the docstring 

4131 of the *path operation function*. 

4132 

4133 It can contain Markdown. 

4134 

4135 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4136 

4137 Read more about it in the 

4138 [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). 

4139 """ 

4140 ), 

4141 ] = None, 

4142 response_description: Annotated[ 

4143 str, 

4144 Doc( 

4145 """ 

4146 The description for the default response. 

4147 

4148 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4149 """ 

4150 ), 

4151 ] = "Successful Response", 

4152 responses: Annotated[ 

4153 Optional[Dict[Union[int, str], Dict[str, Any]]], 

4154 Doc( 

4155 """ 

4156 Additional responses that could be returned by this *path operation*. 

4157 

4158 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4159 """ 

4160 ), 

4161 ] = None, 

4162 deprecated: Annotated[ 

4163 Optional[bool], 

4164 Doc( 

4165 """ 

4166 Mark this *path operation* as deprecated. 

4167 

4168 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4169 """ 

4170 ), 

4171 ] = None, 

4172 operation_id: Annotated[ 

4173 Optional[str], 

4174 Doc( 

4175 """ 

4176 Custom operation ID to be used by this *path operation*. 

4177 

4178 By default, it is generated automatically. 

4179 

4180 If you provide a custom operation ID, you need to make sure it is 

4181 unique for the whole API. 

4182 

4183 You can customize the 

4184 operation ID generation with the parameter 

4185 `generate_unique_id_function` in the `FastAPI` class. 

4186 

4187 Read more about it in the 

4188 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

4189 """ 

4190 ), 

4191 ] = None, 

4192 response_model_include: Annotated[ 

4193 Optional[IncEx], 

4194 Doc( 

4195 """ 

4196 Configuration passed to Pydantic to include only certain fields in the 

4197 response data. 

4198 

4199 Read more about it in the 

4200 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

4201 """ 

4202 ), 

4203 ] = None, 

4204 response_model_exclude: Annotated[ 

4205 Optional[IncEx], 

4206 Doc( 

4207 """ 

4208 Configuration passed to Pydantic to exclude certain fields in the 

4209 response data. 

4210 

4211 Read more about it in the 

4212 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

4213 """ 

4214 ), 

4215 ] = None, 

4216 response_model_by_alias: Annotated[ 

4217 bool, 

4218 Doc( 

4219 """ 

4220 Configuration passed to Pydantic to define if the response model 

4221 should be serialized by alias when an alias is used. 

4222 

4223 Read more about it in the 

4224 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude). 

4225 """ 

4226 ), 

4227 ] = True, 

4228 response_model_exclude_unset: Annotated[ 

4229 bool, 

4230 Doc( 

4231 """ 

4232 Configuration passed to Pydantic to define if the response data 

4233 should have all the fields, including the ones that were not set and 

4234 have their default values. This is different from 

4235 `response_model_exclude_defaults` in that if the fields are set, 

4236 they will be included in the response, even if the value is the same 

4237 as the default. 

4238 

4239 When `True`, default values are omitted from the response. 

4240 

4241 Read more about it in the 

4242 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

4243 """ 

4244 ), 

4245 ] = False, 

4246 response_model_exclude_defaults: Annotated[ 

4247 bool, 

4248 Doc( 

4249 """ 

4250 Configuration passed to Pydantic to define if the response data 

4251 should have all the fields, including the ones that have the same value 

4252 as the default. This is different from `response_model_exclude_unset` 

4253 in that if the fields are set but contain the same default values, 

4254 they will be excluded from the response. 

4255 

4256 When `True`, default values are omitted from the response. 

4257 

4258 Read more about it in the 

4259 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter). 

4260 """ 

4261 ), 

4262 ] = False, 

4263 response_model_exclude_none: Annotated[ 

4264 bool, 

4265 Doc( 

4266 """ 

4267 Configuration passed to Pydantic to define if the response data should 

4268 exclude fields set to `None`. 

4269 

4270 This is much simpler (less smart) than `response_model_exclude_unset` 

4271 and `response_model_exclude_defaults`. You probably want to use one of 

4272 those two instead of this one, as those allow returning `None` values 

4273 when it makes sense. 

4274 

4275 Read more about it in the 

4276 [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none). 

4277 """ 

4278 ), 

4279 ] = False, 

4280 include_in_schema: Annotated[ 

4281 bool, 

4282 Doc( 

4283 """ 

4284 Include this *path operation* in the generated OpenAPI schema. 

4285 

4286 This affects the generated OpenAPI (e.g. visible at `/docs`). 

4287 

4288 Read more about it in the 

4289 [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). 

4290 """ 

4291 ), 

4292 ] = True, 

4293 response_class: Annotated[ 

4294 Type[Response], 

4295 Doc( 

4296 """ 

4297 Response class to be used for this *path operation*. 

4298 

4299 This will not be used if you return a response directly. 

4300 

4301 Read more about it in the 

4302 [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse). 

4303 """ 

4304 ), 

4305 ] = Default(JSONResponse), 

4306 name: Annotated[ 

4307 Optional[str], 

4308 Doc( 

4309 """ 

4310 Name for this *path operation*. Only used internally. 

4311 """ 

4312 ), 

4313 ] = None, 

4314 callbacks: Annotated[ 

4315 Optional[List[BaseRoute]], 

4316 Doc( 

4317 """ 

4318 List of *path operations* that will be used as OpenAPI callbacks. 

4319 

4320 This is only for OpenAPI documentation, the callbacks won't be used 

4321 directly. 

4322 

4323 It will be added to the generated OpenAPI (e.g. visible at `/docs`). 

4324 

4325 Read more about it in the 

4326 [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/). 

4327 """ 

4328 ), 

4329 ] = None, 

4330 openapi_extra: Annotated[ 

4331 Optional[Dict[str, Any]], 

4332 Doc( 

4333 """ 

4334 Extra metadata to be included in the OpenAPI schema for this *path 

4335 operation*. 

4336 

4337 Read more about it in the 

4338 [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema). 

4339 """ 

4340 ), 

4341 ] = None, 

4342 generate_unique_id_function: Annotated[ 

4343 Callable[[APIRoute], str], 

4344 Doc( 

4345 """ 

4346 Customize the function used to generate unique IDs for the *path 

4347 operations* shown in the generated OpenAPI. 

4348 

4349 This is particularly useful when automatically generating clients or 

4350 SDKs for your API. 

4351 

4352 Read more about it in the 

4353 [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function). 

4354 """ 

4355 ), 

4356 ] = Default(generate_unique_id), 

4357 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

4358 """ 

4359 Add a *path operation* using an HTTP TRACE operation. 

4360 

4361 ## Example 

4362 

4363 ```python 

4364 from fastapi import APIRouter, FastAPI 

4365 from pydantic import BaseModel 

4366 

4367 class Item(BaseModel): 

4368 name: str 

4369 description: str | None = None 

4370 

4371 app = FastAPI() 

4372 router = APIRouter() 

4373 

4374 @router.trace("/items/{item_id}") 

4375 def trace_item(item_id: str): 

4376 return None 

4377 

4378 app.include_router(router) 

4379 ``` 

4380 """ 

4381 return self.api_route( 1efabcd

4382 path=path, 

4383 response_model=response_model, 

4384 status_code=status_code, 

4385 tags=tags, 

4386 dependencies=dependencies, 

4387 summary=summary, 

4388 description=description, 

4389 response_description=response_description, 

4390 responses=responses, 

4391 deprecated=deprecated, 

4392 methods=["TRACE"], 

4393 operation_id=operation_id, 

4394 response_model_include=response_model_include, 

4395 response_model_exclude=response_model_exclude, 

4396 response_model_by_alias=response_model_by_alias, 

4397 response_model_exclude_unset=response_model_exclude_unset, 

4398 response_model_exclude_defaults=response_model_exclude_defaults, 

4399 response_model_exclude_none=response_model_exclude_none, 

4400 include_in_schema=include_in_schema, 

4401 response_class=response_class, 

4402 name=name, 

4403 callbacks=callbacks, 

4404 openapi_extra=openapi_extra, 

4405 generate_unique_id_function=generate_unique_id_function, 

4406 ) 

4407 

4408 @deprecated( 1efabcd

4409 """ 

4410 on_event is deprecated, use lifespan event handlers instead. 

4411 

4412 Read more about it in the 

4413 [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). 

4414 """ 

4415 ) 

4416 def on_event( 1efabcd

4417 self, 

4418 event_type: Annotated[ 

4419 str, 

4420 Doc( 

4421 """ 

4422 The type of event. `startup` or `shutdown`. 

4423 """ 

4424 ), 

4425 ], 

4426 ) -> Callable[[DecoratedCallable], DecoratedCallable]: 

4427 """ 

4428 Add an event handler for the router. 

4429 

4430 `on_event` is deprecated, use `lifespan` event handlers instead. 

4431 

4432 Read more about it in the 

4433 [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/#alternative-events-deprecated). 

4434 """ 

4435 

4436 def decorator(func: DecoratedCallable) -> DecoratedCallable: 2e G tbf H uba E rbb F sbc I Bbd J Cb

4437 self.add_event_handler(event_type, func) 2e G tbf H uba E rbb F sbc I Bbd J Cb

4438 return func 2e G tbf H uba E rbb F sbc I Bbd J Cb

4439 

4440 return decorator 2e G tbf H uba E rbb F sbc I Bbd J Cb