Coverage for tests/conftest.py: 97%
58 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-27 00:03 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-27 00:03 +0000
1import shutil 1abcdefghij
2import subprocess 1abcdefghij
3import sys 1abcdefghij
4from dataclasses import dataclass, field 1abcdefghij
5from pathlib import Path 1abcdefghij
6from typing import Any, Callable, Dict, Generator, List, Union 1abcdefghij
7from unittest.mock import patch 1abcdefghij
9import pytest 1abcdefghij
10from pydantic import BaseModel 1abcdefghij
11from sqlmodel import SQLModel 1abcdefghij
12from sqlmodel._compat import IS_PYDANTIC_V2 1abcdefghij
13from sqlmodel.main import default_registry 1abcdefghij
15top_level_path = Path(__file__).resolve().parent.parent 1abcdefghij
16docs_src_path = top_level_path / "docs_src" 1abcdefghij
19@pytest.fixture(autouse=True) 1abcdefghij
20def clear_sqlmodel() -> Any: 1abcdefghij
21 # Clear the tables in the metadata for the default base model
22 SQLModel.metadata.clear() 1abcdefghij
23 # Clear the Models associated with the registry, to avoid warnings
24 default_registry.dispose() 1abcdefghij
25 yield 1abcdefghij
26 SQLModel.metadata.clear() 1abcdefghij
27 default_registry.dispose() 1abcdefghij
30@pytest.fixture() 1abcdefghij
31def cov_tmp_path(tmp_path: Path) -> Generator[Path, None, None]: 1abcdefghij
32 yield tmp_path 1abcdefghij
33 for coverage_path in tmp_path.glob(".coverage*"): 1abcdefghij
34 coverage_destiny_path = top_level_path / coverage_path.name
35 shutil.copy(coverage_path, coverage_destiny_path)
38def coverage_run(*, module: str, cwd: Union[str, Path]) -> subprocess.CompletedProcess: 1abcdefghij
39 result = subprocess.run( 2JoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o
40 [
41 "coverage",
42 "run",
43 "--parallel-mode",
44 "--source=docs_src,tests,sqlmodel",
45 "-m",
46 module,
47 ],
48 cwd=str(cwd),
49 capture_output=True,
50 encoding="utf-8",
51 )
52 return result 2JoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o
55def get_testing_print_function( 1abcdefghij
56 calls: List[List[Union[str, Dict[str, Any]]]],
57) -> Callable[..., Any]:
58 def new_print(*args: Any) -> None: 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlb ~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,lc /e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmd 8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBme ngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5mf ~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}mg /h:h;h=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnh sitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRni ejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.nj @j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
59 data: List[Any] = [] 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPl~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmm8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBmngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnsitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
60 for arg in args: 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPl~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmm8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBmngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnsitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
61 if isinstance(arg, BaseModel): 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPl~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmm8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBmngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnsitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
62 data.append(arg.model_dump()) 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolplk l m n o p q r s QdRdSdTdUdVdWdXdYdZd0d1d2d3dt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltl[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPl~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlC D E F G H I J K CeDeEeFeGeHeIeJeKeLeMeNeOePeL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXl'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lU V W X Y Z 0 1 2 ofpfqfrfsftfufvfwfxfyfzfAfBf3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@l0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmm8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fnmom$ % ' ( ) * :f;f=f?f@f[f]f+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmjgkglgmgrmsmtmumvmwmxmymzmAmBmngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFm; = ? @ [ ] ^ _ ` QgRgSgTgUgVgWgXgYgZg0g1g2g3g{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJm[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mfbgbhbibjbkblbmbnbChDhEhFhGhHhIhJhKhLhMhNhOhPhobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h~manxbybzb~haibicidieifiAbBbgihiiijikiliminiCbbncnoipiqiridnenfngnhninjnknlnmnnnsitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrnDbEbFbGbHbIbJbKbLbViWiXiYiZi0i1i2i3i4i5i6i7i8iMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVnVbWbXbYbZb0b1b2b3bHjIjJjKjLjMjNjOjPjQjRjSjTjUj4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=n%b'b(b)b*b+b,b-b.btkukvkwkxkykzkAkBkCkDkEkFkGk/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]n5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
63 elif isinstance(arg, list): 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPd_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B ccdcecfc[d]d^d_d`d{d|d}d~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBegchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T ocpcqcrc'e(e)e*e+e,e-e.e/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # AcBcCcDc0f1f2f3f4f5f6f7f8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : IcJcjgkglgmgngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebScTcUcVc[g]g^g_g`g{g|g}g~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb4c5c6c7c'h(h)h*h+h,h-h.h/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCb$c%coipiqirisitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUi'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUb/c:c;c=c{i|i}i~iajbjcjdjejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGj?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$b|c}c~cad,j-j.j/j:j;j=j?j@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkskbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^bjdkdldmd5k6k7k8k9k!k#k$k
64 new_list = [] 2_b`b{b|b}b~bacbck l m n o p q r s t u v w x y z A B ccdcecfcgchcicjckclcmcncC D E F G H I J K L M N O P Q R S T ocpcqcrcsctcucvcwcxcyczcU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # AcBcCcDcEcFcGcHc$ % ' ( ) * + , - . / : IcJcKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` { | } ~ abbbcbdbebScTcUcVcWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwb4c5c6c7c8c9c!c#cxbybzbAbBbCb$c%c'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUb/c:c;c=c?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b|c}c~cadbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^bjdkdldmd
65 for item in arg: 2_b`b{b|b}b~bacbck l m n o p q r s t u v w x y z A B ccdcecfcgchcicjckclcmcncC D E F G H I J K L M N O P Q R S T ocpcqcrcsctcucvcwcxcyczcU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # AcBcCcDcEcFcGcHc$ % ' ( ) * + , - . / : IcJcKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` { | } ~ abbbcbdbebScTcUcVcWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwb4c5c6c7c8c9c!c#cxbybzbAbBbCb$c%c'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUb/c:c;c=c?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b|c}c~cadbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^bjdkdldmd
66 if isinstance(item, BaseModel): 2_b`b{b|b}b~bacbck l m n o p q r s t u v w x y z A B ccdcecfcgchcicjckclcmcncC D E F G H I J K L M N O P Q R S T ocpcqcrcsctcucvcwcxcyczcU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # AcBcCcDcEcFcGcHc$ % ' ( ) * + , - . / : IcJcKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` { | } ~ abbbcbdbebScTcUcVcWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwb4c5c6c7c8c9c!c#cxbybzbAbBbCb$c%c'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUb/c:c;c=c?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b|c}c~cadbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^bjdkdldmd
67 new_list.append(item.model_dump()) 2_b`b{b|b}b~bacbck l m n o p q r s t u v w x y z A B ccdcecfcgchcicjckclcmcncC D E F G H I J K L M N O P Q R S T ocpcqcrcsctcucvcwcxcyczcU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # AcBcCcDcEcFcGcHc$ % ' ( ) * + , - . / : IcJcKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` { | } ~ abbbcbdbebScTcUcVcWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwb4c5c6c7c8c9c!c#cxbybzbAbBbCb$c%c'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUb/c:c;c=c?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b|c}c~cadbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^bjdkdldmd
68 data.append(new_list) 2_b`b{b|b}b~bacbck l m n o p q r s t u v w x y z A B ccdcecfcgchcicjckclcmcncC D E F G H I J K L M N O P Q R S T ocpcqcrcsctcucvcwcxcyczcU V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # AcBcCcDcEcFcGcHc$ % ' ( ) * + , - . / : IcJcKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` { | } ~ abbbcbdbebScTcUcVcWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwb4c5c6c7c8c9c!c#cxbybzbAbBbCb$c%c'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUb/c:c;c=c?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b|c}c~cadbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.b/b:b;b=b?b@b[b]b^bjdkdldmd
69 else:
70 data.append(arg) 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdk l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B [d]d^d_d`d{d|d}d~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T 'e(e)e*e+e,e-e.e/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnfU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # 0f1f2f3f4f5f6f7f8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/f$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : jgkglgmgngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPg; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbeb[g]g^g_g`g{g|g}g~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb'h(h)h*h+h,h-h.h/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}hxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCboipiqirisitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUb{i|i}i~iajbjcjdjejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$b,j-j.j/j:j;j=j?j@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b5k6k7k8k9k!k#k$k
71 calls.append(data) 2ndodpdqdrdsdpoqotdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPl~daebecedeeerosofegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l/e:e;e=e?e@etouo[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmm8f9f!fvowo#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBmngogpgqgrgsgxoyotgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m~gahbhchdhehzoAofhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m/h:h;hBoCo=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnsitiuiviwixiDoEoyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnejfjgjhjijjjFoGokjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n@j[j]j^j_j`jHoIo{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
73 return new_print 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdmlnlolpl_b`b{b|b}b~bacbck l m n o p q r s QdRd%k'kSdTdUdVdWdXdYdZd0d1d2d3d(k)kt u v w x y 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@dz A B qlrlsltlccdcecfc[d]d^d_d`d{d|d}dulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlb ~daebecedeeefegeheiejekelemeneoepeqereseteuevewexeyezeAeBeQlRlSlTlgchcicjckclcmcncC D E F G H I J K CeDe*k+kEeFeGeHeIeJeKeLeMeNeOePe,k-kL M N O P Q QeReSeTeUeVeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%eR S T UlVlWlXlocpcqcrc'e(e)e*e+e,e-e.eYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,lc /e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfefffgfhfifjfkflfmfnf-l.l/l:lsctcucvcwcxcyczcU V W X Y Z 0 1 2 ofpf.k/kqfrfsftfufvfwfxfyfzfAfBf:k;k3 4 5 6 7 8 CfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf9 ! # ;l=l?l@lAcBcCcDc0f1f2f3f4f5f6f7f[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmd 8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fnmomEcFcGcHc$ % ' ( ) * :f=k;f=f?f@f[f]f?k+ , - . ^f_f`f{f|f}f~fagbgcgdgegfggghgig/ : pmqmIcJcjgkglgmgrmsmtmumvmwmxmymzmAmBme ngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgCmDmEmFmKcLcMcNcOcPcQcRc; = ? @ [ ] ^ _ ` QgRg@k[kSgTgUgVgWgXgYgZg0g1g2g3g]k^k{ | } ~ abbb4g5g6g7g8g9g!g#g$g%g'g(g)g*g+g,g-g.g/g:g;g=g?g@gcbdbebGmHmImJmScTcUcVc[g]g^g_g`g{g|g}gKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5mf ~gahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBh6m7m8m9mWcXcYcZc0c1c2c3cfbgbhbibjbkblbmbnbChDh_k`kEhFhGhHhIhJhKhLhMhNhOhPh{k|kobpbqbrbsbtbQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%hubvbwb!m#m$m%m4c5c6c7c'h(h)h*h+h,h-h.h'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}mg /h:h;h=h?h@h[h]h^h_h`h{h|h}h~man8c9c!c#cxbybzb~h}kaibicidieifi~kAbBbgihiiijikiliminiCbbncn$c%coipiqiridnenfngnhninjnknlnmnnnh sitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUionpnqnrn'c(c)c*c+c,c-c.cDbEbFbGbHbIbJbKbLbViWialblXiYiZi0i1i2i3i4i5i6i7i8icldlMbNbObPbQbRb9i!i#i$i%i'i(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`iSbTbUbsntnunvn/c:c;c=c{i|i}i~iajbjcjdjwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRni ejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjSnTnUnVn?c@c[c]c^c_c`c{cVbWbXbYbZb0b1b2b3bHjIjelflJjKjLjMjNjOjPjQjRjSjTjUjglhl4b5b6b7b8b9bVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j!b#b$bWnXnYnZn|c}c~cad,j-j.j/j:j;j=j?j0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.nj @j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksk/n:n;n=nbdcdddedfdgdhdid%b'b(b)b*b+b,b-b.btkukiljlvkwkxkykzkAkBkCkDkEkFkGkklll/b:b;b=b?b@bHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k[b]b^b?n@n[n]njdkdldmd5k6k7k8k9k!k#k$k^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooo
76@dataclass 1abcdefghij
77class PrintMock: 1abcdefghij
78 calls: List[Any] = field(default_factory=list) 1abcdefghij
81@pytest.fixture(name="print_mock") 1abcdefghij
82def print_mock_fixture() -> Generator[PrintMock, None, None]: 1abcdefghij
83 print_mock = PrintMock() 1abcdefghij
84 new_print = get_testing_print_function(print_mock.calls) 1abcdefghij
85 with patch("builtins.print", new=new_print): 1abcdefghij
86 yield print_mock 1abcdefghij
89needs_pydanticv2 = pytest.mark.skipif(not IS_PYDANTIC_V2, reason="requires Pydantic v2") 1abcdefghij
90needs_pydanticv1 = pytest.mark.skipif(IS_PYDANTIC_V2, reason="requires Pydantic v1") 1abcdefghij
92needs_py39 = pytest.mark.skipif(sys.version_info < (3, 9), reason="requires python3.9+") 1abcdefghij
93needs_py310 = pytest.mark.skipif( 1abcdefghij
94 sys.version_info < (3, 10), reason="requires python3.10+"
95)