From 4b55d53316f607fdd83831e92f585288842c8988 Mon Sep 17 00:00:00 2001 From: Sam Gross Date: Thu, 24 Oct 2024 13:59:23 -0400 Subject: [PATCH] [3.13] gh-125268: Use static string for "1e309" in AST (GH-125272) (GH-125280) When formatting the AST as a string, infinite values are replaced by 1e309, which evaluates to infinity. The initialization of this string replacement was not thread-safe in the free threading build. (cherry picked from commit 427dcf24de4e06d239745d74d08c4b2e541dca5a) --- Doc/data/python3.13.abi | 9541 +++++++++-------- Include/internal/pycore_global_objects.h | 2 +- .../pycore_global_objects_fini_generated.h | 1 + Include/internal/pycore_global_strings.h | 1 + .../internal/pycore_runtime_init_generated.h | 1 + .../internal/pycore_unicodeobject_generated.h | 4 + Parser/asdl_c.py | 2 - Python/Python-ast.c | 2 - Python/ast_unparse.c | 29 +- 9 files changed, 4788 insertions(+), 4795 deletions(-) diff --git a/Doc/data/python3.13.abi b/Doc/data/python3.13.abi index 55112e1e43c01d..11f1203850339c 100644 --- a/Doc/data/python3.13.abi +++ b/Doc/data/python3.13.abi @@ -1661,7 +1661,7 @@ - + @@ -1679,7 +1679,7 @@ - + @@ -1694,7 +1694,7 @@ - + @@ -1728,10 +1728,10 @@ - + - + @@ -1819,11 +1819,11 @@ - + - + @@ -1835,14 +1835,14 @@ - + - + @@ -1861,7 +1861,7 @@ - + @@ -1889,7 +1889,7 @@ - + @@ -1931,7 +1931,7 @@ - + @@ -1948,7 +1948,11 @@ - + + + + + @@ -1957,11 +1961,11 @@ - + - + @@ -1994,23 +1998,23 @@ - + - + - - - + + + - - - + + + @@ -2031,38 +2035,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -2070,12 +2074,12 @@ - + - - + + @@ -2084,8 +2088,8 @@ - - + + @@ -2093,15 +2097,15 @@ - - + + - + - - - + + + @@ -2118,37 +2122,37 @@ - + - + - - + + - + - + - + - - + + @@ -2157,50 +2161,50 @@ - - - + + + - - + + - - + + - - + + - - - - + + + + - - + + - + - + - + - + - + - + - - + + @@ -2208,24 +2212,24 @@ - + - + - - - - + + + + - + - - + + - + @@ -2234,13 +2238,13 @@ - + - + - + @@ -2254,13 +2258,13 @@ - - + + - + @@ -2268,22 +2272,22 @@ - + - + - + - + - + - + @@ -2295,166 +2299,166 @@ - + - + - + - + - + - + - + - + - + - + - - - - - - - - + + + + + + + + - + - + - + - + - + - - - + + + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + @@ -2474,10 +2478,10 @@ - + - + @@ -2487,140 +2491,140 @@ - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - - - + + + - + - - + + - - + + - + - - + + - - + + - - + + - + - + - + @@ -2632,117 +2636,117 @@ - - + + - + - + - + - + - + - + + + + + + + + + + - + - - - - - - - - - - + - + - - + + - - + + - - + + - - + + - + - - + + - + - + - + - + - + - + - + - + @@ -2775,10 +2779,10 @@ - + - + @@ -2793,6 +2797,10 @@ + + + + @@ -2800,14 +2808,14 @@ - + - - + + @@ -2823,37 +2831,37 @@ - + - + - - + + - - + + - - + + - - + + @@ -2878,19 +2886,19 @@ - - + + - - + + - + @@ -2900,104 +2908,104 @@ - + - + - + - - + + - - + + - + - - + + - + - + - + - + - + - + - - + + - + - + - - + + - + - - - + + + - - - + + + - - - + + + - - - + + + - + @@ -3031,10 +3039,10 @@ - - + + - + @@ -3052,11 +3060,11 @@ - + - + @@ -3075,12 +3083,12 @@ - + - + - - + + @@ -3092,29 +3100,29 @@ - + - + - + - + - + - - + + - + @@ -3127,183 +3135,183 @@ - + - + - + - - + + - - + + - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + - - + + - - + + - - - + + + - + - - + + - + - - + + - + - + - + - + - + - - + + - - + + - + - - - + + + - + - - + + - - + + - - + + - + @@ -3311,7 +3319,7 @@ - + @@ -3319,7 +3327,7 @@ - + @@ -3327,41 +3335,41 @@ - + - + - + - + - + - + - + - + - + @@ -3378,14 +3386,14 @@ - - - + + + - - + + @@ -3393,10 +3401,10 @@ - + - + @@ -3408,10 +3416,10 @@ - - - - + + + + @@ -3419,58 +3427,58 @@ - + - - - + + + - + - - - + + + - + - - - + + + - + - + - + - - - - - - - - + + + + + + + + - + - + @@ -3494,28 +3502,28 @@ - + - + - - + + - - + + - - + + @@ -3529,153 +3537,153 @@ - - + + - + - - + + - - - + + + - + - - + + - - + + - + - + - - - - - - - - + + + + + + + + - - + + - - + + - - + + + + - - - - - + + + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - + - - - + + + - - + + - + - + - - - + + + - + - - + + @@ -3684,14 +3692,14 @@ - - + + - + - + @@ -3726,7 +3734,7 @@ - + @@ -3738,43 +3746,43 @@ - + - + - + - + - + - + - + - + @@ -3804,8 +3812,8 @@ - - + + @@ -3816,8 +3824,8 @@ - - + + @@ -3858,13 +3866,13 @@ - + - + @@ -3878,10 +3886,10 @@ - + - + @@ -3958,46 +3966,46 @@ - - - + + + - + - + - + - + - + - + - + - + - - - + + + @@ -4005,39 +4013,39 @@ + - - + - + - + - + - + - + - + - + @@ -4046,22 +4054,22 @@ - + - + - - - - - - - + + + + + + + @@ -4069,7 +4077,7 @@ - + @@ -4080,7 +4088,7 @@ - + @@ -4094,13 +4102,13 @@ - + - + @@ -4118,7 +4126,7 @@ - + @@ -4131,28 +4139,28 @@ - + - - - + + + - - - + + + - + - + @@ -4177,22 +4185,22 @@ - + - + - + - + @@ -4224,7 +4232,7 @@ - + @@ -4240,7 +4248,7 @@ - + @@ -4299,7 +4307,7 @@ - + @@ -4328,47 +4336,47 @@ - + - + - + - + - - + + - - - + + + - - + + - + @@ -4381,30 +4389,30 @@ - + - + - + - + - - + + - - + + @@ -4719,7 +4727,7 @@ - + @@ -4793,18 +4801,18 @@ - - + + - - - + + + - - - + + + @@ -4834,22 +4842,22 @@ - + - + - - - + + + - - - - - - + + + + + + @@ -4988,8 +4996,8 @@ - - + + @@ -5023,29 +5031,29 @@ - + - + - - + + - + - + - + @@ -5063,8 +5071,8 @@ - - + + @@ -5091,7 +5099,7 @@ - + @@ -5103,14 +5111,14 @@ - + - - + + - + @@ -5152,16 +5160,16 @@ - - + + - + - + - + @@ -5191,69 +5199,69 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - - - + + + - + @@ -5273,13 +5281,13 @@ - + - - - - + + + + @@ -5290,10 +5298,10 @@ - + - + @@ -5301,9 +5309,9 @@ - + - + @@ -5318,27 +5326,27 @@ - + - + - + - + - - + + - + @@ -5348,7 +5356,7 @@ - + @@ -5399,55 +5407,55 @@ - + - + - + - + - - + + - + - - + + - + - + - + - - + + - - - + + + - + - - + + @@ -5455,61 +5463,61 @@ - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - + @@ -5519,18 +5527,18 @@ - + - + - + @@ -5549,14 +5557,14 @@ - + - + @@ -5622,7 +5630,7 @@ - + @@ -5641,7 +5649,7 @@ - + @@ -5650,21 +5658,21 @@ - - + + - + - + - + - + @@ -5675,7 +5683,7 @@ - + @@ -5683,15 +5691,15 @@ - + - + - + @@ -5701,32 +5709,32 @@ - + - + - - + + - + - + - - + + @@ -5747,9 +5755,9 @@ - - - + + + @@ -5757,7 +5765,7 @@ - + @@ -5775,7 +5783,7 @@ - + @@ -5803,19 +5811,19 @@ - - + + - + - + - + @@ -5826,34 +5834,34 @@ - + - - - - - - - + + + + + + + - + - + - + - - + + @@ -5861,18 +5869,18 @@ - - + + - + - + @@ -5888,12 +5896,12 @@ - - - + + + - + @@ -5901,7 +5909,7 @@ - + @@ -5923,7 +5931,7 @@ - + @@ -5943,59 +5951,59 @@ - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + @@ -6003,16 +6011,16 @@ - - - + + + - - + + - + @@ -6024,8 +6032,8 @@ - - + + @@ -6033,127 +6041,127 @@ - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - - + + - + - + - - - - - - - - - - + + + + + + + + + + - + - + @@ -6167,9 +6175,9 @@ - + - + @@ -6197,7 +6205,7 @@ - + @@ -6214,7 +6222,7 @@ - + @@ -6224,28 +6232,28 @@ - + - + - + - + - - + + @@ -6262,7 +6270,7 @@ - + @@ -6276,16 +6284,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -6293,14 +6301,10 @@ - - - - - + - + @@ -6313,7 +6317,7 @@ - + @@ -6322,14 +6326,14 @@ - + - + - - + + @@ -6338,63 +6342,52 @@ - - + + - + - + - + - - - - - - + - + - - + + - - - - - - - + @@ -6425,7 +6418,7 @@ - + @@ -6435,7 +6428,7 @@ - + @@ -6451,7 +6444,7 @@ - + @@ -6461,8 +6454,8 @@ - - + + @@ -6485,31 +6478,31 @@ - + - + - + - - - + + + - - - + + + @@ -6537,22 +6530,22 @@ - + - + - + - + - + @@ -6571,7 +6564,7 @@ - + @@ -6586,7 +6579,7 @@ - + @@ -6684,7 +6677,7 @@ - + @@ -6838,21 +6831,21 @@ - - - - - - - + + + + + + + - - + + - + @@ -6865,15 +6858,15 @@ - + - + - + @@ -6909,13 +6902,13 @@ - + - + @@ -6924,8 +6917,8 @@ - - + + @@ -6937,8 +6930,8 @@ - - + + @@ -6946,8 +6939,8 @@ - - + + @@ -6955,17 +6948,17 @@ - + - - - - - + + + + + @@ -6974,19 +6967,19 @@ - + - - + + - + - - - + + + @@ -6994,7 +6987,7 @@ - + @@ -7003,8 +6996,8 @@ - - + + @@ -7012,7 +7005,7 @@ - + @@ -7026,14 +7019,14 @@ - + - + - + @@ -7043,7 +7036,7 @@ - + @@ -7061,44 +7054,44 @@ - - + + - + - - - + + + - + - + - - - + + + - - + + - - - + + + - - + + - + - + @@ -7108,19 +7101,19 @@ - + - + - + @@ -7128,21 +7121,21 @@ - + - + - + - - + + @@ -7168,20 +7161,31 @@ - - + + - - + + + + + + + + + + + + + @@ -7192,35 +7196,39 @@ - + - + - + - - + + - + - - + + + + + + @@ -7234,92 +7242,92 @@ - - + + - - - - - - + + + + + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - + - - - - + + + + - + - + - + @@ -7333,8 +7341,8 @@ - - + + @@ -7364,8 +7372,8 @@ - - + + @@ -7404,14 +7412,14 @@ - + - + - + @@ -7434,14 +7442,14 @@ - + - - + + - + @@ -7453,31 +7461,31 @@ - + - + - + - + - + - + - - + + - + @@ -7489,74 +7497,74 @@ - + - + - + - + - + - + - - - - - + + + + + - - + + - - - - + + + + - + - + - - + + - + - + - - - + + + - - - + + + @@ -7565,23 +7573,23 @@ - + - + - - - + + + @@ -7589,11 +7597,11 @@ - - + + - + @@ -7601,17 +7609,17 @@ - + - + - + @@ -7619,63 +7627,63 @@ - + - + - + - - + + - + - - + + - - - + + + - - + + - - - + + + - + @@ -7699,7 +7707,7 @@ - + @@ -7723,62 +7731,62 @@ - + - - - + + + - - - - - - + + + + + + - + - + - + - + - + - + - - + + - + - + @@ -7793,15 +7801,15 @@ - + - - + + @@ -7810,91 +7818,91 @@ - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + @@ -7916,59 +7924,59 @@ - + - + - - - + + + - - - - + + + + - - + + - - + + - - - - + + + + - - - + + + - + - + - + @@ -7979,13 +7987,13 @@ - - + + - + - + @@ -7994,18 +8002,18 @@ - - + + - + - + - + @@ -8017,27 +8025,27 @@ - + - + - + - + - + - - - - - - + + + + + + @@ -8046,12 +8054,12 @@ - + - + - + @@ -8062,7 +8070,7 @@ - + @@ -8076,8 +8084,8 @@ - - + + @@ -8095,7 +8103,7 @@ - + @@ -8106,11 +8114,11 @@ - - + + - + @@ -8122,24 +8130,24 @@ - + - + - + - + @@ -8161,23 +8169,23 @@ - + - + - + - + - + @@ -8188,25 +8196,25 @@ - - - + + + - - + + - + - + - + - + @@ -8215,92 +8223,92 @@ - - - + + + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8322,25 +8330,25 @@ - - + + - - - + + + - + - + - + - + @@ -8355,7 +8363,7 @@ - + @@ -8368,16 +8376,16 @@ - - + + - + - + @@ -8387,25 +8395,25 @@ - - + + - + - + - + - + @@ -8430,10 +8438,10 @@ - + - + @@ -8441,7 +8449,7 @@ - + @@ -8474,7 +8482,7 @@ - + @@ -8489,7 +8497,7 @@ - + @@ -8502,273 +8510,273 @@ - - + + - - - + + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -8780,147 +8788,147 @@ - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - - + + - + @@ -8935,261 +8943,261 @@ - + - + - + - - + + - + - + - + - + - + - + - + - - + + - - - - + + + + - - - + + + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -9198,50 +9206,50 @@ - + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - + - + - - + + - + - - + + @@ -9255,42 +9263,42 @@ - + - + - - + + - + - + - + - + - + - + @@ -9298,8 +9306,8 @@ - - + + @@ -9308,46 +9316,46 @@ - - + + - + - + - + - + - + - + - - + + - + @@ -9355,51 +9363,51 @@ - - + + - - + + - + - + - + - + - + - + - - - - - - + + + + + + @@ -9416,17 +9424,17 @@ - + - - + + - + - - + + @@ -9443,23 +9451,23 @@ - + - + - + - + - + @@ -9468,45 +9476,45 @@ - + - - + + - + - + - - - + + + - - - + + + - + @@ -9515,13 +9523,13 @@ - + - + @@ -9536,7 +9544,7 @@ - + @@ -9554,7 +9562,7 @@ - + @@ -9563,9 +9571,9 @@ - - - + + + @@ -9589,10 +9597,10 @@ - - - - + + + + @@ -9617,13 +9625,13 @@ - + - + @@ -9638,7 +9646,7 @@ - + @@ -9664,32 +9672,32 @@ - + - + - + - + - + - + - + - - + + @@ -9697,12 +9705,12 @@ - + - + @@ -9720,7 +9728,7 @@ - + @@ -9728,7 +9736,7 @@ - + @@ -9739,43 +9747,43 @@ - + - + - + - + - + - - + + - + - + - + - + @@ -9816,18 +9824,18 @@ - + - + - - - + + + @@ -9847,7 +9855,7 @@ - + @@ -9875,146 +9883,146 @@ - - + + - - + + - - + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - + - + - + - - + + - - - + + + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - + @@ -10028,9 +10036,9 @@ - + - + @@ -10054,15 +10062,15 @@ - + - + - + @@ -10074,29 +10082,29 @@ - + - + - + - + - + - - + + @@ -10116,18 +10124,18 @@ - - - + + + - - - + + + @@ -10150,25 +10158,25 @@ - - + + - - + + - + - - + + - + @@ -10188,69 +10196,69 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + @@ -10258,411 +10266,411 @@ - - + + - - - - - - + + + + + + - - - + + + - - - + + + - - - - + + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - - + + - - - - + + + + - - + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - - + + + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - + + - + - + - - + + @@ -10675,10 +10683,10 @@ - + - + @@ -10687,7 +10695,7 @@ - + @@ -10696,14 +10704,14 @@ - + - - - + + + @@ -10715,7 +10723,7 @@ - + @@ -10731,46 +10739,46 @@ - + - + - + - + - + - + - + - + - - + + - + - + - + @@ -10782,13 +10790,13 @@ - + - + - + @@ -10797,7 +10805,7 @@ - + @@ -10809,10 +10817,10 @@ - + - + @@ -10830,7 +10838,7 @@ - + @@ -10842,7 +10850,7 @@ - + @@ -10854,7 +10862,7 @@ - + @@ -10866,7 +10874,7 @@ - + @@ -10878,7 +10886,7 @@ - + @@ -10890,7 +10898,7 @@ - + @@ -10902,7 +10910,7 @@ - + @@ -10914,7 +10922,7 @@ - + @@ -10922,7 +10930,7 @@ - + @@ -10977,7 +10985,7 @@ - + @@ -11298,7 +11306,7 @@ - + @@ -11377,7 +11385,7 @@ - + @@ -11482,7 +11490,7 @@ - + @@ -11507,7 +11515,7 @@ - + @@ -11562,7 +11570,7 @@ - + @@ -11611,7 +11619,7 @@ - + @@ -11733,25 +11741,25 @@ - + - + - + - + - + @@ -12023,7 +12031,7 @@ - + @@ -12032,7 +12040,7 @@ - + @@ -12073,14 +12081,14 @@ - + - + @@ -12098,16 +12106,16 @@ - - + + - + - + @@ -12158,71 +12166,71 @@ - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -12230,18 +12238,18 @@ - + - + - + @@ -12319,7 +12327,7 @@ - + @@ -12328,7 +12336,7 @@ - + @@ -12336,7 +12344,7 @@ - + @@ -12956,20 +12964,20 @@ - + - + - + @@ -13032,7 +13040,7 @@ - + @@ -13050,15 +13058,15 @@ - + - + - + @@ -13073,19 +13081,19 @@ - + - + - + @@ -13237,7 +13245,7 @@ - + @@ -13338,7 +13346,7 @@ - + @@ -13348,7 +13356,7 @@ - + @@ -13377,10 +13385,10 @@ - + - + @@ -13390,7 +13398,7 @@ - + @@ -13398,15 +13406,15 @@ - + - - - + + + @@ -13414,41 +13422,41 @@ - + - + - + - + - - + + - - + + - + - + - - + + - + - - + + @@ -13467,31 +13475,31 @@ - + - + - + - + - + - + - + - + @@ -13509,37 +13517,37 @@ - + - + - + - - - + + + - + - + - + - + - + - - + + - + @@ -13549,16 +13557,16 @@ - + - + - + - + @@ -13567,16 +13575,16 @@ - + - + - + - + @@ -13585,41 +13593,41 @@ - + - + - + - + - + - + - + - - + + - - + + - + - + @@ -13632,7 +13640,7 @@ - + @@ -13644,15 +13652,15 @@ - + - - - - + + + + - + @@ -13661,127 +13669,127 @@ - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - - - - - + + + + + - + - + - + @@ -13817,10 +13825,10 @@ - + - + @@ -13862,7 +13870,7 @@ - + @@ -13907,7 +13915,7 @@ - + @@ -13937,7 +13945,7 @@ - + @@ -13946,31 +13954,31 @@ - + - + - - + + - + - + - + - + @@ -13978,7 +13986,7 @@ - + @@ -13997,16 +14005,16 @@ - + - + - + @@ -14014,7 +14022,7 @@ - + @@ -14023,20 +14031,20 @@ - - + + - + - + - + @@ -14081,15 +14089,15 @@ - + - + - + @@ -14097,13 +14105,13 @@ - + - + @@ -14111,7 +14119,7 @@ - + @@ -14192,19 +14200,19 @@ - + - + - + - + @@ -14261,13 +14269,13 @@ - + - + - + @@ -14285,16 +14293,16 @@ - + - + - + - + @@ -14303,40 +14311,40 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -14348,13 +14356,13 @@ - + - + - + @@ -14363,14 +14371,14 @@ - + - + - + @@ -14379,7 +14387,7 @@ - + @@ -14387,7 +14395,7 @@ - + @@ -14423,7 +14431,7 @@ - + @@ -14455,7 +14463,7 @@ - + @@ -14479,7 +14487,7 @@ - + @@ -14551,13 +14559,13 @@ - + - + @@ -14609,7 +14617,7 @@ - + @@ -14672,10 +14680,10 @@ - + - + @@ -14690,13 +14698,13 @@ - + - + - + @@ -14723,10 +14731,10 @@ - + - + @@ -14738,7 +14746,7 @@ - + @@ -14747,32 +14755,32 @@ - + - + - + - + - + - - + + - + @@ -14781,10 +14789,10 @@ - + - + @@ -14805,14 +14813,14 @@ - + - - + + - + @@ -14827,7 +14835,7 @@ - + @@ -14837,7 +14845,7 @@ - + @@ -14849,22 +14857,22 @@ - + - + - + - + - + @@ -14894,7 +14902,7 @@ - + @@ -14912,7 +14920,7 @@ - + @@ -14933,7 +14941,7 @@ - + @@ -14948,28 +14956,28 @@ - + - + - + - + - + - + @@ -14980,31 +14988,31 @@ - + - + - + - + - + - + - + - + - + @@ -15013,29 +15021,29 @@ - + - - + + - + - + - + - + @@ -15043,19 +15051,19 @@ - + - + - + - + - + @@ -15087,7 +15095,7 @@ - + @@ -15115,7 +15123,7 @@ - + @@ -15124,20 +15132,20 @@ - + - + - + @@ -15154,7 +15162,7 @@ - + @@ -15170,7 +15178,7 @@ - + @@ -15182,7 +15190,7 @@ - + @@ -15194,7 +15202,7 @@ - + @@ -15206,7 +15214,7 @@ - + @@ -15214,7 +15222,7 @@ - + @@ -16357,7 +16365,7 @@ - + @@ -16371,10 +16379,10 @@ - + - + @@ -16420,25 +16428,25 @@ - + - + - + - + - + @@ -16446,7 +16454,7 @@ - + @@ -16471,7 +16479,7 @@ - + @@ -16485,10 +16493,10 @@ - + - + @@ -16522,7 +16530,7 @@ - + @@ -16530,7 +16538,7 @@ - + @@ -16547,7 +16555,7 @@ - + @@ -16558,10 +16566,10 @@ - + - + @@ -16603,13 +16611,13 @@ - + - + @@ -16629,13 +16637,13 @@ - + - + @@ -16694,16 +16702,16 @@ - + - + - + @@ -16735,7 +16743,7 @@ - + @@ -16773,7 +16781,7 @@ - + @@ -16787,10 +16795,10 @@ - + - + @@ -16807,7 +16815,7 @@ - + @@ -16818,13 +16826,13 @@ - + - + @@ -16848,7 +16856,7 @@ - + @@ -16861,7 +16869,7 @@ - + @@ -16876,13 +16884,13 @@ - + - + - + @@ -16891,10 +16899,10 @@ - + - + @@ -16903,15 +16911,15 @@ - + - + - + @@ -16926,7 +16934,7 @@ - + @@ -16935,16 +16943,16 @@ - + - + - + - + @@ -16952,7 +16960,7 @@ - + @@ -16960,7 +16968,7 @@ - + @@ -16968,7 +16976,7 @@ - + @@ -16976,20 +16984,20 @@ - + - + - + - + @@ -16997,7 +17005,7 @@ - + @@ -17005,7 +17013,7 @@ - + @@ -17013,7 +17021,7 @@ - + @@ -17021,41 +17029,41 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -17063,7 +17071,7 @@ - + @@ -17071,10 +17079,10 @@ - + - + @@ -17146,7 +17154,7 @@ - + @@ -17172,12 +17180,12 @@ - + - + @@ -17190,19 +17198,19 @@ - + - + - + - + - + @@ -17211,7 +17219,7 @@ - + @@ -17219,7 +17227,7 @@ - + @@ -17254,7 +17262,7 @@ - + @@ -17268,21 +17276,21 @@ - + - + - - + + - - + + - - + + - + @@ -17341,10 +17349,13 @@ - + - - + + + + + @@ -17427,2331 +17438,2331 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -19766,13 +19777,13 @@ - + - + - + @@ -19796,16 +19807,16 @@ - + - + - + @@ -19897,12 +19908,12 @@ - + - + @@ -19918,13 +19929,13 @@ - + - + - + @@ -19933,24 +19944,24 @@ - + - + - + - + - + - + @@ -19959,13 +19970,13 @@ - + - + - + @@ -19974,7 +19985,7 @@ - + @@ -19986,7 +19997,7 @@ - + @@ -19995,7 +20006,7 @@ - + @@ -20019,7 +20030,7 @@ - + @@ -20040,7 +20051,7 @@ - + @@ -20085,7 +20096,7 @@ - + @@ -20133,16 +20144,16 @@ - + - + - + @@ -20171,13 +20182,13 @@ - + - + - + @@ -20196,7 +20207,7 @@ - + @@ -20205,7 +20216,7 @@ - + @@ -20214,7 +20225,7 @@ - + @@ -20236,14 +20247,14 @@ - + - - + + @@ -20281,7 +20292,7 @@ - + @@ -20408,16 +20419,16 @@ - + - + - + - + @@ -20429,30 +20440,30 @@ - + - + - + - + - + - + @@ -20463,21 +20474,21 @@ - + - + - + - + @@ -20489,7 +20500,7 @@ - + @@ -20498,19 +20509,19 @@ - + - + - + - + @@ -20521,7 +20532,7 @@ - + @@ -20554,10 +20565,10 @@ - + - + @@ -20575,18 +20586,18 @@ - + - + - + - + @@ -20632,19 +20643,19 @@ - + - + - + @@ -20660,10 +20671,10 @@ - + - + @@ -20680,7 +20691,7 @@ - + @@ -20688,7 +20699,7 @@ - + @@ -20696,10 +20707,10 @@ - + - + @@ -20708,10 +20719,10 @@ - + - + @@ -20761,254 +20772,254 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21028,7 +21039,7 @@ - + @@ -21040,7 +21051,7 @@ - + @@ -21109,10 +21120,10 @@ - + - + @@ -21135,7 +21146,7 @@ - + @@ -21144,13 +21155,13 @@ - + - + - + @@ -21209,7 +21220,7 @@ - + @@ -21219,7 +21230,7 @@ - + @@ -21227,10 +21238,10 @@ - + - + @@ -21276,13 +21287,13 @@ - + - + - + @@ -21302,7 +21313,7 @@ - + @@ -21318,12 +21329,12 @@ - + - + @@ -21337,7 +21348,7 @@ - + @@ -21360,10 +21371,10 @@ - + - + @@ -21378,7 +21389,7 @@ - + @@ -21386,7 +21397,7 @@ - + @@ -21397,7 +21408,7 @@ - + @@ -21439,7 +21450,7 @@ - + @@ -21467,16 +21478,16 @@ - + - + - + @@ -21501,28 +21512,28 @@ - + - + - + - + - - - - + + + + @@ -21537,17 +21548,17 @@ - - - + + + - - + + - + @@ -21577,30 +21588,30 @@ - + - + - - + + - + - - - + + + - + @@ -21613,12 +21624,12 @@ - + - + - + @@ -21626,10 +21637,10 @@ - + - + @@ -21642,7 +21653,7 @@ - + @@ -21651,7 +21662,7 @@ - + @@ -21663,7 +21674,7 @@ - + @@ -21672,13 +21683,13 @@ - + - + @@ -21689,34 +21700,34 @@ - + - - - - - + + + + + - + - + - + - + @@ -21745,44 +21756,44 @@ - + - + - + - - + + - - - - - - - - + + + + + + + + - + - + - + @@ -21832,10 +21843,10 @@ - + - + @@ -21851,10 +21862,10 @@ - + - + @@ -21862,27 +21873,27 @@ - + - + - + - + - + - + @@ -21898,15 +21909,15 @@ - + - + - + @@ -21914,19 +21925,19 @@ - + - + - + - + @@ -21935,7 +21946,7 @@ - + @@ -22014,7 +22025,7 @@ - + @@ -22026,18 +22037,18 @@ - - - - + + + + - + - + @@ -22068,7 +22079,7 @@ - + @@ -22083,7 +22094,7 @@ - + @@ -22152,7 +22163,7 @@ - + @@ -22274,7 +22285,7 @@ - + @@ -22366,7 +22377,7 @@ - + @@ -22375,7 +22386,7 @@ - + @@ -22416,7 +22427,7 @@ - + @@ -22426,26 +22437,26 @@ - + - - + + - - + + - + - - + + - - + + - - + + @@ -22460,15 +22471,15 @@ - - + + - + - - - + + + @@ -22477,17 +22488,17 @@ - + - + - + @@ -22502,7 +22513,7 @@ - + @@ -22529,14 +22540,14 @@ - + - + @@ -22548,7 +22559,7 @@ - + @@ -22559,16 +22570,16 @@ - - - + + + - + - + @@ -22576,9 +22587,9 @@ - - - + + + @@ -22586,16 +22597,16 @@ - + - + - - + + @@ -22605,7 +22616,7 @@ - + @@ -22621,12 +22632,12 @@ - + - + @@ -22638,7 +22649,7 @@ - + @@ -22669,7 +22680,7 @@ - + @@ -22677,31 +22688,31 @@ - - + + - + - + - + - + - + @@ -22736,27 +22747,27 @@ - + - + - + - + - + - + - + @@ -22778,7 +22789,7 @@ - + @@ -22836,7 +22847,7 @@ - + @@ -22846,8 +22857,8 @@ - - + + @@ -22856,7 +22867,7 @@ - + @@ -22871,7 +22882,7 @@ - + @@ -22883,7 +22894,7 @@ - + @@ -22908,7 +22919,7 @@ - + @@ -22923,12 +22934,12 @@ - + - - + + @@ -22949,7 +22960,7 @@ - + @@ -22958,7 +22969,7 @@ - + @@ -22977,12 +22988,12 @@ - + - + @@ -22995,7 +23006,7 @@ - + @@ -23006,12 +23017,12 @@ - - + + - + @@ -23022,7 +23033,7 @@ - + @@ -23031,7 +23042,7 @@ - + @@ -23047,7 +23058,7 @@ - + @@ -23059,12 +23070,12 @@ - + - + @@ -23073,24 +23084,24 @@ - - + + - + - + - + @@ -23099,54 +23110,54 @@ - - + + - - + + - - + + - - - - + + + + - + - + - + - + - + - + - - + + - + - + @@ -23172,9 +23183,9 @@ - - - + + + @@ -23195,7 +23206,7 @@ - + @@ -23208,8 +23219,8 @@ - - + + @@ -23223,7 +23234,7 @@ - + @@ -23231,7 +23242,7 @@ - + @@ -23253,12 +23264,12 @@ - + - + @@ -23278,9 +23289,9 @@ - + - + @@ -23293,22 +23304,22 @@ - - + + - + - + - + @@ -23320,9 +23331,9 @@ - - + + @@ -23346,36 +23357,36 @@ - + - + - + - + - - + + - + - - + + - + @@ -23397,7 +23408,7 @@ - + @@ -23455,14 +23466,14 @@ - + - + @@ -23471,27 +23482,27 @@ - - + + - + - + - + - + @@ -23525,22 +23536,22 @@ - + - + - + - + - + @@ -23549,8 +23560,8 @@ - - + + @@ -23560,8 +23571,8 @@ - - + + @@ -23593,7 +23604,7 @@ - + @@ -23679,7 +23690,7 @@ - + @@ -23694,7 +23705,7 @@ - + @@ -23728,11 +23739,11 @@ - + - + @@ -23742,23 +23753,23 @@ - + - + - + - - - + + + @@ -23769,11 +23780,11 @@ - + - + - + @@ -23783,7 +23794,7 @@ - + @@ -23791,14 +23802,14 @@ - + - + @@ -23831,15 +23842,15 @@ - + - + - + @@ -23849,15 +23860,15 @@ - + - + - + @@ -23877,8 +23888,8 @@ - - + + @@ -23887,10 +23898,10 @@ - + - + @@ -23905,7 +23916,7 @@ - + @@ -23915,45 +23926,45 @@ - + - + - + - - + + - + - + - + - + - + - - + + - - + + @@ -23966,32 +23977,32 @@ - - + + - - + + - + - + - + - + @@ -24045,7 +24056,7 @@ - + @@ -24083,86 +24094,86 @@ - - + + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + @@ -24177,8 +24188,8 @@ - - + + @@ -24188,7 +24199,7 @@ - + @@ -24209,7 +24220,7 @@ - + @@ -24220,7 +24231,7 @@ - + @@ -24231,13 +24242,13 @@ - + - + @@ -24245,55 +24256,55 @@ - + - + - - + + - - + + - + - + - - + + - + - + - - + + - + - + @@ -24317,7 +24328,7 @@ - + @@ -24340,42 +24351,42 @@ - + - + - + - + - - + + - + - + @@ -24386,7 +24397,7 @@ - + @@ -24398,44 +24409,44 @@ - - - + + + - + - + - + - + - + - + - + - + @@ -24480,7 +24491,7 @@ - + @@ -24496,20 +24507,20 @@ - + - + - + - + @@ -24520,22 +24531,22 @@ - - + + - + - + - + - + @@ -24614,7 +24625,7 @@ - + @@ -24623,7 +24634,7 @@ - + @@ -24631,8 +24642,8 @@ - - + + @@ -24681,10 +24692,10 @@ - + - + @@ -24703,10 +24714,10 @@ - + - + @@ -24715,7 +24726,7 @@ - + @@ -24726,7 +24737,7 @@ - + @@ -24780,7 +24791,7 @@ - + @@ -24813,43 +24824,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -24873,12 +24884,12 @@ - + - + @@ -24889,7 +24900,7 @@ - + @@ -24901,7 +24912,7 @@ - + @@ -24952,8 +24963,8 @@ - - + + @@ -24966,7 +24977,7 @@ - + @@ -25013,7 +25024,7 @@ - + @@ -25028,15 +25039,15 @@ - + - - + + - + @@ -25089,47 +25100,47 @@ - - + + - - - - - - + + + + + + - - - - + + + + - + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + @@ -25147,7 +25158,7 @@ - + @@ -25200,7 +25211,7 @@ - + @@ -25214,7 +25225,7 @@ - + @@ -25225,22 +25236,22 @@ - + - - + + - + - + @@ -25263,7 +25274,7 @@ - + @@ -25316,7 +25327,7 @@ - + @@ -25329,7 +25340,7 @@ - + @@ -25343,10 +25354,10 @@ - + - + @@ -25388,7 +25399,7 @@ - + @@ -25398,90 +25409,90 @@ - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - - + + - - + + @@ -25496,22 +25507,22 @@ - - + + - + - + @@ -25587,7 +25598,7 @@ - + @@ -25597,14 +25608,14 @@ - + - + - - + + @@ -25622,11 +25633,11 @@ - + - + @@ -25635,7 +25646,7 @@ - + @@ -25651,9 +25662,9 @@ - - - + + + @@ -25692,7 +25703,7 @@ - + @@ -25726,8 +25737,13 @@ + + + + + - + @@ -25738,7 +25754,7 @@ - + @@ -25748,33 +25764,33 @@ - + - - - + + + - - - + + + - + - + @@ -25785,9 +25801,9 @@ - + - + @@ -25795,20 +25811,20 @@ - - + + - + - - + + - + @@ -25821,30 +25837,30 @@ - + - + - + - + - + - + @@ -25852,17 +25868,17 @@ - + - - + + - + @@ -25895,60 +25911,60 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -25963,10 +25979,10 @@ - + - + @@ -25981,34 +25997,34 @@ - + - + - + - - + + - + - + - + - + @@ -26035,35 +26051,35 @@ - - + + - + - + - + - - + + - - + + - + - + - + @@ -26071,7 +26087,7 @@ - + @@ -26088,19 +26104,19 @@ - + - - - + + + - - + + - + @@ -26108,7 +26124,7 @@ - + @@ -26142,21 +26158,21 @@ - + - + - + - + - - + + @@ -26177,7 +26193,7 @@ - + @@ -26186,13 +26202,13 @@ - + - + @@ -26208,7 +26224,7 @@ - + @@ -26216,50 +26232,50 @@ - + - + - + - + - + - - - - - - - - + + + + + + + + - + - + - - + + @@ -26268,13 +26284,13 @@ - - + + - + @@ -26288,15 +26304,15 @@ - - - + + + - + - + @@ -26304,7 +26320,7 @@ - + @@ -26338,7 +26354,7 @@ - + @@ -26362,7 +26378,7 @@ - + @@ -26371,16 +26387,16 @@ - - - + + + - + @@ -26411,7 +26427,7 @@ - + @@ -26433,26 +26449,26 @@ - - + + - + - - + + - + - - - + + + @@ -26486,22 +26502,22 @@ - + - + - + - + - + @@ -26515,11 +26531,11 @@ - + - + @@ -26582,8 +26598,8 @@ - - + + @@ -26591,13 +26607,13 @@ - + - + @@ -26623,19 +26639,19 @@ - + - + - + - - - + + + @@ -26654,14 +26670,14 @@ - - + + - + @@ -26669,7 +26685,7 @@ - + @@ -26678,21 +26694,21 @@ - + - + - + - + @@ -26703,7 +26719,7 @@ - + @@ -26713,32 +26729,32 @@ - - + + - - + + - - + + - + - + - + - + @@ -26746,16 +26762,16 @@ - + - - + + - + - + @@ -26767,8 +26783,8 @@ - - + + @@ -26787,135 +26803,135 @@ - - + + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - - - + + + - + - + - + @@ -27028,7 +27044,7 @@ - + @@ -27045,22 +27061,22 @@ - + - + - + - + - + @@ -27087,13 +27103,13 @@ - + - + @@ -27111,27 +27127,27 @@ - + - + - + - + - + @@ -27145,19 +27161,19 @@ - + - + - - + + @@ -27171,35 +27187,35 @@ - + - + - + - - - + + + - + - + @@ -27211,7 +27227,7 @@ - + @@ -27221,26 +27237,26 @@ - + - - + + - - + + - + - + - + @@ -27248,7 +27264,7 @@ - + @@ -27265,13 +27281,13 @@ - - - + + + - - + + @@ -27290,7 +27306,7 @@ - + @@ -27324,11 +27340,11 @@ - + - + @@ -27336,19 +27352,19 @@ - - + + - - + + - + @@ -27357,19 +27373,19 @@ - + - + - + - + @@ -27381,63 +27397,63 @@ - + - + - + - + - + - - - + + + - + - + - + - - + + - + - + - - + + - + - + @@ -27449,10 +27465,10 @@ - + - + @@ -27462,12 +27478,12 @@ - + - + @@ -27483,19 +27499,19 @@ - + - + - + - + @@ -27511,14 +27527,14 @@ - - + + - + @@ -27531,41 +27547,41 @@ - - + + - + - + - + - + - + - + - + @@ -27583,40 +27599,40 @@ - + - + - + - + - + - + - - + + - + - + - + - + @@ -27624,9 +27640,9 @@ - + - + @@ -27649,13 +27665,13 @@ - + - - + + @@ -27697,23 +27713,23 @@ - - - + + + - + - + - - - + + + - + @@ -27724,10 +27740,10 @@ - + - + @@ -27750,18 +27766,18 @@ - + - + - + - + @@ -27769,7 +27785,7 @@ - + @@ -27777,7 +27793,7 @@ - + @@ -27789,12 +27805,12 @@ - + - + - + @@ -27803,30 +27819,30 @@ - + - - - + + + - + - + - + @@ -27840,73 +27856,73 @@ - + - + - - + + - + - - + + - - + + - + - - + + - + - - + + - + - - + + - - + + - + - + - + - + @@ -27918,117 +27934,117 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - - - + + + - - + + - + - + - + - + - + - + - + - - + + - + @@ -28047,50 +28063,50 @@ - + - - + + - - + + - + - - + + - + - + - - - + + + - + - + @@ -28098,16 +28114,16 @@ - - + + - - + + - - + + @@ -28129,135 +28145,135 @@ - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - + - + - - + + - + - + - - + + - + - - + + - + - + @@ -28267,8 +28283,8 @@ + - @@ -28283,7 +28299,7 @@ - + @@ -28292,58 +28308,58 @@ - - + + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + @@ -28365,7 +28381,7 @@ - + @@ -28375,9 +28391,9 @@ - - - + + + @@ -28390,24 +28406,24 @@ - + - + - - + + - + - - + + - - + + @@ -28417,13 +28433,13 @@ - + - + @@ -28435,7 +28451,7 @@ - + @@ -28443,7 +28459,7 @@ - + @@ -28457,27 +28473,27 @@ - + - + - + + - - + @@ -28485,59 +28501,59 @@ - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + @@ -28547,7 +28563,7 @@ - + @@ -28586,83 +28602,83 @@ - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + @@ -28670,52 +28686,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -28723,37 +28739,37 @@ - + - + - - + + - + - - - + + + - + @@ -28764,37 +28780,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -28804,42 +28820,42 @@ - + - + - + - + - + - + - + - + @@ -28847,7 +28863,7 @@ - + @@ -28856,21 +28872,21 @@ - + - + - + - + @@ -28896,21 +28912,21 @@ - + - + - + - + @@ -28922,11 +28938,11 @@ - + - + @@ -28955,173 +28971,173 @@ - + - - - + + + - - - - + + + + - + - + - - + + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - - + + + + - - + + - + - + - + - - + + - + - - + + - - + + - - + + - + - - - + + + - + - + - - + + @@ -29134,7 +29150,7 @@ - + @@ -29142,66 +29158,66 @@ - - + + - - + + - - + + - + - + - + - + - - + + - + - + - - + + - + - + @@ -29232,16 +29248,16 @@ - + - + - - + + @@ -29259,7 +29275,7 @@ - + @@ -29276,8 +29292,8 @@ - - + + @@ -29288,14 +29304,14 @@ - + - + @@ -29308,9 +29324,9 @@ - + - + @@ -29325,38 +29341,33 @@ - + - + - - + + - + - + - - - - - - - + + @@ -29364,21 +29375,21 @@ - + - - + + - - + + - - + + diff --git a/Include/internal/pycore_global_objects.h b/Include/internal/pycore_global_objects.h index 327fcc24cb29f1..9d376e7db021ef 100644 --- a/Include/internal/pycore_global_objects.h +++ b/Include/internal/pycore_global_objects.h @@ -67,7 +67,7 @@ struct _Py_interp_cached_objects { PyObject *interned_strings; /* AST */ - PyObject *str_replace_inf; + PyObject *_unused_str_replace_inf; // kept in 3.13 for ABI compatibility /* object.__reduce__ */ PyObject *objreduce; diff --git a/Include/internal/pycore_global_objects_fini_generated.h b/Include/internal/pycore_global_objects_fini_generated.h index 006dd911b5a8ef..cd56ffde9e555e 100644 --- a/Include/internal/pycore_global_objects_fini_generated.h +++ b/Include/internal/pycore_global_objects_fini_generated.h @@ -561,6 +561,7 @@ _PyStaticObjects_CheckRefcnt(PyInterpreterState *interp) { _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(json_decoder)); _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(kwdefaults)); _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(list_err)); + _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(str_replace_inf)); _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(type_params)); _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(utf_8)); _PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(CANCELLED)); diff --git a/Include/internal/pycore_global_strings.h b/Include/internal/pycore_global_strings.h index a5436b6d689612..cad2d1a8d22049 100644 --- a/Include/internal/pycore_global_strings.h +++ b/Include/internal/pycore_global_strings.h @@ -47,6 +47,7 @@ struct _Py_global_strings { STRUCT_FOR_STR(json_decoder, "json.decoder") STRUCT_FOR_STR(kwdefaults, ".kwdefaults") STRUCT_FOR_STR(list_err, "list index out of range") + STRUCT_FOR_STR(str_replace_inf, "1e309") STRUCT_FOR_STR(type_params, ".type_params") STRUCT_FOR_STR(utf_8, "utf-8") } literals; diff --git a/Include/internal/pycore_runtime_init_generated.h b/Include/internal/pycore_runtime_init_generated.h index 6e62ecd4b3a815..19a6b9b1537d51 100644 --- a/Include/internal/pycore_runtime_init_generated.h +++ b/Include/internal/pycore_runtime_init_generated.h @@ -556,6 +556,7 @@ extern "C" { INIT_STR(json_decoder, "json.decoder"), \ INIT_STR(kwdefaults, ".kwdefaults"), \ INIT_STR(list_err, "list index out of range"), \ + INIT_STR(str_replace_inf, "1e309"), \ INIT_STR(type_params, ".type_params"), \ INIT_STR(utf_8, "utf-8"), \ } diff --git a/Include/internal/pycore_unicodeobject_generated.h b/Include/internal/pycore_unicodeobject_generated.h index 5337390309548b..7f6b6e07984a9a 100644 --- a/Include/internal/pycore_unicodeobject_generated.h +++ b/Include/internal/pycore_unicodeobject_generated.h @@ -2912,6 +2912,10 @@ _PyUnicode_InitStaticStrings(PyInterpreterState *interp) { _PyUnicode_InternStatic(interp, &string); assert(_PyUnicode_CheckConsistency(string, 1)); assert(PyUnicode_GET_LENGTH(string) != 1); + string = &_Py_STR(str_replace_inf); + _PyUnicode_InternStatic(interp, &string); + assert(_PyUnicode_CheckConsistency(string, 1)); + assert(PyUnicode_GET_LENGTH(string) != 1); string = &_Py_STR(anon_null); _PyUnicode_InternStatic(interp, &string); assert(_PyUnicode_CheckConsistency(string, 1)); diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 3711cf1280f7bf..ed2ea16284d0e7 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -1740,8 +1740,6 @@ def generate_ast_fini(module_state, f): for s in module_state: f.write(" Py_CLEAR(state->" + s + ');\n') f.write(textwrap.dedent(""" - Py_CLEAR(_Py_INTERP_CACHED_OBJECT(interp, str_replace_inf)); - state->finalized = 1; state->once = (_PyOnceFlag){0}; } diff --git a/Python/Python-ast.c b/Python/Python-ast.c index e38a145271589a..0f04c43b34cbb2 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -279,8 +279,6 @@ void _PyAST_Fini(PyInterpreterState *interp) Py_CLEAR(state->vararg); Py_CLEAR(state->withitem_type); - Py_CLEAR(_Py_INTERP_CACHED_OBJECT(interp, str_replace_inf)); - state->finalized = 1; state->once = (_PyOnceFlag){0}; } diff --git a/Python/ast_unparse.c b/Python/ast_unparse.c index 10e9d9b7104314..0d196dc482f954 100644 --- a/Python/ast_unparse.c +++ b/Python/ast_unparse.c @@ -2,7 +2,6 @@ #include "pycore_ast.h" // expr_ty #include "pycore_pystate.h" // _PyInterpreterState_GET() #include "pycore_runtime.h" // _Py_ID() -#include // DBL_MAX_10_EXP #include /* This limited unparser is used to convert annotations back to strings @@ -13,10 +12,6 @@ _Py_DECLARE_STR(dbl_open_br, "{{"); _Py_DECLARE_STR(dbl_close_br, "}}"); -/* We would statically initialize this if doing so were simple enough. */ -#define _str_replace_inf(interp) \ - _Py_INTERP_CACHED_OBJECT(interp, str_replace_inf) - /* Forward declarations for recursion via helper functions. */ static PyObject * expr_as_unicode(expr_ty e, int level); @@ -78,13 +73,13 @@ append_repr(_PyUnicodeWriter *writer, PyObject *obj) } if ((PyFloat_CheckExact(obj) && Py_IS_INFINITY(PyFloat_AS_DOUBLE(obj))) || - PyComplex_CheckExact(obj)) + PyComplex_CheckExact(obj)) { - PyInterpreterState *interp = _PyInterpreterState_GET(); + _Py_DECLARE_STR(str_replace_inf, "1e309"); // evaluates to inf PyObject *new_repr = PyUnicode_Replace( repr, &_Py_ID(inf), - _str_replace_inf(interp), + &_Py_STR(str_replace_inf), -1 ); Py_DECREF(repr); @@ -918,20 +913,6 @@ append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level) return -1; } -static int -maybe_init_static_strings(void) -{ - PyInterpreterState *interp = _PyInterpreterState_GET(); - if (_str_replace_inf(interp) == NULL) { - PyObject *tmp = PyUnicode_FromFormat("1e%d", 1 + DBL_MAX_10_EXP); - if (tmp == NULL) { - return -1; - } - _str_replace_inf(interp) = tmp; - } - return 0; -} - static PyObject * expr_as_unicode(expr_ty e, int level) { @@ -939,9 +920,7 @@ expr_as_unicode(expr_ty e, int level) _PyUnicodeWriter_Init(&writer); writer.min_length = 256; writer.overallocate = 1; - if (-1 == maybe_init_static_strings() || - -1 == append_ast_expr(&writer, e, level)) - { + if (-1 == append_ast_expr(&writer, e, level)) { _PyUnicodeWriter_Dealloc(&writer); return NULL; }