python311-Sphinx-7.2.6-150400.3.6.1<>, Wde:p9|{/85oKm?#VҀAZ-o}ޣ{mTMzY|ё|ԩ"0>ej@ifMa[u<~' A:dNC ,k=ŵlKĜbVEyX!Z㖗~E%ɧ9Rȍͪt^ԑnC!y 㺞糚F/F }BeV % ۄ5ſx)L igx!Tf2tYB0(>Eh?Xd & E *7 Mjhdh 4h (h 9h Lh "4h3hIh_`hqqr4t(u*8u4z9wz:Fz>Ϝ@ϤFϬGhH`hIhXY\h] h^O?bc{def l u hv,wDhxhyzɤɴɸ TCpython311-Sphinx7.2.6150400.3.6.1Python documentation generatorSphinx is a tool that facilitates creating documentation for Python projects (or other documents consisting of multiple reStructuredText sources). It was originally created for the Python documentation, and supports Python project documentation well, but C/C++ is likewise supported. Sphinx uses reStructuredText as its markup language. Sphinx draws from the parsing and translating suite, the Docutils.e:h03-ch2b SUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Languages/Pythonhttp://sphinx-doc.orglinuxnoarch# python311_install_alternative: update-alternatives --quiet --install /usr/bin/sphinx-apidoc sphinx-apidoc /usr/bin/sphinx-apidoc-3.11 311 \ --slave /usr/bin/sphinx-autogen sphinx-autogen /usr/bin/sphinx-autogen-3.11 \ --slave /usr/bin/sphinx-build sphinx-build /usr/bin/sphinx-build-3.11 \ --slave /usr/bin/sphinx-quickstart sphinx-quickstart /usr/bin/sphinx-quickstart-3.11 :# python311_uninstall_alternative: if [ ! -e "/usr/bin/sphinx-apidoc-3.11" ]; then update-alternatives --quiet --remove "sphinx-apidoc" "/usr/bin/sphinx-apidoc-3.11" fi # ?:Q<}} < {n{n  MM i i(`(`....,,ttWW77mmKji>//,8,8 EEEEOOSS,,<*<*{{q",+yZ\k#-#- ^YYll ] ]bR1_e&) ,RLRL))6v]YC:GRGRc[c[R R ()6G@<N\N&#n#n&F&F]zq2ii##i2iCEEFZR1r~K{)Bz??"&&UUIO "" e HH c>T F9llKK``yy!! _ _iXij==[[]]B w !F!F9;9;GGN..1R1r!$!$::,h,h$J$Jll+r+rw1oT yv%%kj)/DwZ LD $<=DqFLvLvy5 +r+D+D FUHYX&If Q WKuST S6Pe /Y )X~I "6:I I .'F´I HJ;<  &"I3}U iQ^z `LBDK 2+I<lPOz;I%@a#*Y lR 6K '4W]N!KAm R ueP oK $dPAO!HX HfQpx9 / I1{>>>:nT -W>Va .. F F  ""RR ,2j }y$ 3i-3=# "' g# ^N,L'S&`DDqOh^aFLov.7< {6Ouk+`:A l~Q cc/)/)..hh&, $ dd r) ;FxEZZI,sN(mi:\o c0lhR*G%mkrGMe1f}b q{|/aqkxM/i:EMsmsmddpTpT   f1HDD""@@(Q'CClplpQR12S2Suupp((}} ||22!! 7Y$$++NNh  ?AA큤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큤AA큤A큤A큤AA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:e:eAeAeAe:eAae90cbe7168198d447951b65dc8496c84129b33be791ee31b156d7d0f3daf678bab39e34c07695ef3e5c22cf16034a8836da1b2ab8bc1c6b0bb82f6e1790ea434234272559127045745f125f574c4797d8d52a1874fc3ffd9dc5bbbe0401876ea085fdbf4fc461465398971144fc5dd0e041d1b048b19e5d3a510968741f990fceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508ff1bda7a7df4aea4723ccf02f678f0724c831a32cadf779b9fb4f12110d5bebb85596f7d0ca21e6568150ccf89d951ec62e546fb3a2ccee4478a3441e6e23343ab773732be9e11ef56f9ee5ec6f4a8eada2d0f82617fd2f8058a59ff10e2d185e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ad282afc9a4717d7c7475971e77ab083fd7ed8bca9644fea99cb976d552af78f294fdcf63a978fbcb2672952cf5d574485c6de001902941ad1de4399c7f203b359118305706b461f81713d66f87e96da7b0f3fd8ae6e752b4743be96d8339632c0889fc179591dd8b882d426909e8a17406c7e5bc3f68d167799c045374973c02f149c3c150ee6c151c3f77586f9136ff83621961e16fc1c1ae9029a8e97e8892f149c3c150ee6c151c3f77586f9136ff83621961e16fc1c1ae9029a8e97e889cd4b1db3d06dd5f7860c005a8bd0b9d601f8c4fb5cd792ced4f1028655cc40b3cd4b1db3d06dd5f7860c005a8bd0b9d601f8c4fb5cd792ced4f1028655cc40b3affaceceb78071ed55fa9b9cf936e8405ed50113cba32b53817924a8362c0484affaceceb78071ed55fa9b9cf936e8405ed50113cba32b53817924a8362c0484659197a3fd8748c9c6507d21005a761672b745cff8dc5777376ddb66aeac8640f090ac5340767954114e43516bd403cc2f7cf8640403e88d8373ac8b00615d9fbd0135ac6428b47534b7983aecaf535324a5f48c7a8c95f5ca34e5ff104c99cdbd0135ac6428b47534b7983aecaf535324a5f48c7a8c95f5ca34e5ff104c99cd7ed45fd1a0749e968a2f5113abda6b3a6690d5dcec5562e47883b3a106202a607ed45fd1a0749e968a2f5113abda6b3a6690d5dcec5562e47883b3a106202a602a79b1e7f656c555eb20dd9ebac9c7042af5895b358b536e5b48e3c3282a1e172a79b1e7f656c555eb20dd9ebac9c7042af5895b358b536e5b48e3c3282a1e1713e58c2d5ece7bc3f398b27d6a8964ebb0dbac873bf7a38bd03a96ecefdce02513e58c2d5ece7bc3f398b27d6a8964ebb0dbac873bf7a38bd03a96ecefdce025bbbad0e990edd5cedf7437dbb401ec570a1596ba8e3915c403afcdda8066e4e4bbbad0e990edd5cedf7437dbb401ec570a1596ba8e3915c403afcdda8066e4e4dbb21dd6d6a489c7f7051b76b06e4deff44113714ce04fc5fb248bfdc9a959efdbb21dd6d6a489c7f7051b76b06e4deff44113714ce04fc5fb248bfdc9a959eff24d299be487d6d44698d9db269aa7c43648bd75896a9e332be5119c090f123ff24d299be487d6d44698d9db269aa7c43648bd75896a9e332be5119c090f123f5a682fb867d6335091d1dee1de8acecfd6fe03e0eb7cc54e65906cd1f45d2dc15a682fb867d6335091d1dee1de8acecfd6fe03e0eb7cc54e65906cd1f45d2dc14b9368f595bd3469bfb4e6d2ab8bd59c6e4ab503c8c7126141b1074cdec613064b9368f595bd3469bfb4e6d2ab8bd59c6e4ab503c8c7126141b1074cdec61306089f493191d6b25883fb43fc745379521113d6317d8307970071c4a51504967b089f493191d6b25883fb43fc745379521113d6317d8307970071c4a51504967b11416c7e1d66e5a15ebc57472a306cbb3bea19ebf8986acfd63c9a64b4995d1211416c7e1d66e5a15ebc57472a306cbb3bea19ebf8986acfd63c9a64b4995d121d31ef1d511e7a487aa7b5c6181352234ba8478119f5995673d00ad870e901681d31ef1d511e7a487aa7b5c6181352234ba8478119f5995673d00ad870e901689cc8994edfacd04028b4bf3afb65363b47389549913ef42e1e8dcb62bfe9fc7d9cc8994edfacd04028b4bf3afb65363b47389549913ef42e1e8dcb62bfe9fc7d08d0baafa787d090f123cf32624936958b86b20fec680b3159d84d35880be9bc08d0baafa787d090f123cf32624936958b86b20fec680b3159d84d35880be9bcab626fa4aa4fe4f72b9c6fabb0179e7ea79ff02b9a28fbf73ddbf9df78efef98ab626fa4aa4fe4f72b9c6fabb0179e7ea79ff02b9a28fbf73ddbf9df78efef9873f8ab879b9fe19981b78d9ea6fef121b109ffaccb7a9b4c14675d82b34ba665140dd340ffa921fd3213ce32dabfab676c1864439375932da66dcf7e767ed4c205b3c01414c4d2a034386f1fa830bcada778115f26ddd50daf75c70f0711aa3571b6e4dbfbe681ab1387c2367562befcd63ce5161d965df0ebb8a512bf967e1671b6e4dbfbe681ab1387c2367562befcd63ce5161d965df0ebb8a512bf967e166ae87773f923f4ea9fbc365d2fa7a397e9fa788787c93200315d9ee331b32ec26ae87773f923f4ea9fbc365d2fa7a397e9fa788787c93200315d9ee331b32ec2464cdde223ef971a4e8cd6fff323f877e76d61db2004a32980fbb7b5db92a255464cdde223ef971a4e8cd6fff323f877e76d61db2004a32980fbb7b5db92a2554388dbde78b371cb9f96ceb7cc37db35b601fe66694d463e81c1222e4cf036d44388dbde78b371cb9f96ceb7cc37db35b601fe66694d463e81c1222e4cf036d44b8f63e8c875763cc742d30330456d301e4fb83b22414727938abbf9dd6ea1d24b8f63e8c875763cc742d30330456d301e4fb83b22414727938abbf9dd6ea1d21b513dab36e05514ca1de0b62465165e1f126c14ffce1c6e4b8eb31ab14201de1b513dab36e05514ca1de0b62465165e1f126c14ffce1c6e4b8eb31ab14201defbff19afe596fdf93b198c00b1901db6eedf990857ee6fc762e37921d2e444a8fbff19afe596fdf93b198c00b1901db6eedf990857ee6fc762e37921d2e444a84aa03b761e8fe6ae383b5c737c30903a6fc0fc485714da076bec3cc37b8fc6f04aa03b761e8fe6ae383b5c737c30903a6fc0fc485714da076bec3cc37b8fc6f05a7250bfe5f7bb85c3202231bdcf95788e404e63ed5795c81bedb6739f5f2a2d5a7250bfe5f7bb85c3202231bdcf95788e404e63ed5795c81bedb6739f5f2a2de22df772112b08b7098ac9e704fc5d4c245a8bf733c9decb38d218cb4130a96ae22df772112b08b7098ac9e704fc5d4c245a8bf733c9decb38d218cb4130a96a0e99a1ea4a05287f9980b2f296c1d52da312d66549a4abf719399bd6193f776a0e99a1ea4a05287f9980b2f296c1d52da312d66549a4abf719399bd6193f776a5b2e5fdc3c3944db2dbae1685f3fb903f276e40f8d7501630a49a936f645c21c5b2e5fdc3c3944db2dbae1685f3fb903f276e40f8d7501630a49a936f645c21c2771f7b5762f1c473d241c519bea300c20992a872252863387defd07a77348cf2771f7b5762f1c473d241c519bea300c20992a872252863387defd07a77348cf29a9bfa165c41e34611d663b0d5fdae789386f8bf073ac04061b9cf2d9d59338a33202f44eb24a1ef166a4b25a566a7ab46c9e4069e4d2c33a3c4ceb737dbe76b84d064fe5cf42593056303c6e983ea3e1b02879e9f8218704d5325444869f9fe2393b20730e0836b062f09d63c5aabc28353a7949a2466a0cfa99e0bddbc9d78b655e6b861edffea7105f4fd186f6d4f58284e6cebdc09e100f358e2ab4be8140e35bdd1062abc27f13b3442e85aca4f118373649d77759c02bb0b014c4af2e9ea374150fc3bf02ad8e7db178929d9515832fceca3f6e57a42295bf37069e01d90cfdeed4bd97dd2e57a3e0853cc830b5d3c84e6ae1ff376073e550ded0d16eace1b1d5950f961d675b8de1e1917cf57d5a9705163aa8a57dbe4f690fe3a5c972eae2c869ac97639510cdb998dec35ec0efe87a942f4d597706bf293ee8cb4672eae2c869ac97639510cdb998dec35ec0efe87a942f4d597706bf293ee8cb4697b17a41608dc457223c6ef308f2961b276710b7ab221b22a7dedb78ffcaf9bc97b17a41608dc457223c6ef308f2961b276710b7ab221b22a7dedb78ffcaf9bcef929ef2225324cb8139a098b3691591ddc9d60aae52e806e154bb4b743ae889584cce4843e3ec429667398b87a75b6398979f3ffaf7e50f5c4c2e56f14eb40dae08db05fa583f4b4e2186badf9b05805a5f78a2a29467f016b0174421a3ba98df26643bbff340812a4699fb97fc44185b6f57aa31791d5b3beb36dc993572f6df26643bbff340812a4699fb97fc44185b6f57aa31791d5b3beb36dc993572f698f4ec54e6f5309c6a79f5e911458b2e640e8932b2ff6d255b72892d96b935e398f4ec54e6f5309c6a79f5e911458b2e640e8932b2ff6d255b72892d96b935e35ff8f78e6949f0546e5c454e44c1d6c9a0e901c9de163c80a32f53ad7012abd95ff8f78e6949f0546e5c454e44c1d6c9a0e901c9de163c80a32f53ad7012abd9e1ea4fee2a58d329d0bbc2447b3042d46058828dcb242a1b57e9882bfdfaeddee1ea4fee2a58d329d0bbc2447b3042d46058828dcb242a1b57e9882bfdfaedde15b73ab23187368c1c4a48d37653bfcca492bc8189d5f5bd6b29c12002a5f97615b73ab23187368c1c4a48d37653bfcca492bc8189d5f5bd6b29c12002a5f976a09858e2b6f7e6fc0828e962126d2e0d4d3948b6c3bd72a88c4bb633144f64caa09858e2b6f7e6fc0828e962126d2e0d4d3948b6c3bd72a88c4bb633144f64ca1bc770cc4f6e2e2c5324a98b6a31787151bf298f2c8e1b73a0be8d07e763471f90cf8e3178d37eae838e8849e6a9e2ccb84e2e8c7846e582d212da6b194fcc251ba649588d778a7aa55e59ed8878927ea6092a4e58079c028653221b156ac234bdca6e7c3bad178d6c0f38e334850cf9328c3542a630012e1282ffa3e045c6a0e160d9976f07fdd6f424432abd4c232316201fd9f69ca51b786d464381df07d53affaa403aa0b894ff6bd500213ebc14f1eefc1dbb70a7f68d0f354e8b066ace62c2db481030305e719b8d7e0cd8a3d7893299178a2fb000315a13d432fe32c3dde2b8b0ba0adbb518d033893dc080811baacd262102f7252ff01b0d7c852d50dc65a2e189f280d6174325364da848ad40a6df11296b269e74f8ac695023be79e7b601a654bc5b2fd0f30601e45be5b902753305110f518f44a5a84b45a869839bedb887fb7f6a6be5a03f07c701b33bc9793343b61e5ac811ae9aa355aef8985f95c8d25935f9531e04ce9f8c22d873e6bfd3de3077d2b23922888e95f081ee238f7dcfbdc425dd7c9f12d4208a5aa010c18ad0e63f958ecb7742318e853f0d238f7dcfbdc425dd7c9f12d4208a5aa010c18ad0e63f958ecb7742318e853f0d33ca62387e2f974a8107724177b2453792eee543a1db85e70d6982105ca19d6733ca62387e2f974a8107724177b2453792eee543a1db85e70d6982105ca19d6715de060b89500561df0760bca8326952fbc906a47740b844a45ade0be93d79e815de060b89500561df0760bca8326952fbc906a47740b844a45ade0be93d79e8ac59223956dec8ad57471dfa23907c2f3964630bd6ad3a0c94519c5af7eac359ac59223956dec8ad57471dfa23907c2f3964630bd6ad3a0c94519c5af7eac359f4756c0aa659d1e8b5ff10cb675b5cb9bcaa12f1145572c7b6ab013969c3403a0da1813e27851188ac2898d24fe860d8f523967f8c9886d5f7ed916694bac1bb924f5ad425c3c9cdaa234c27126aba056b80ce9529c1263aa84d95389c4e24e5142ce112f081f308b8d77d842d21d41af9aead7d63d27b5b2ce33ff6cd67fc0adb96a8f513b37a2c47d8cd5127e565cb68bcb93c395c6e634cad787cfc8077b7d18508ca0b0c85ebfcfcad0212ff1c1a2457e922ff799038415b47205bc7067130eebfe9300e78f6b1e1c26a9df3fd0d7b3df0bdb7565157f4db1dec8dcf809c30eebfe9300e78f6b1e1c26a9df3fd0d7b3df0bdb7565157f4db1dec8dcf809cb39b2403289c9192023c2743b68069647b22c4ef6c9ff220a0da4930b5b2fa6bb39b2403289c9192023c2743b68069647b22c4ef6c9ff220a0da4930b5b2fa6bd09cab5baaa9609a6bd90258d303cf17a97e99ab003989011bbd90ddd5dd0e69d09cab5baaa9609a6bd90258d303cf17a97e99ab003989011bbd90ddd5dd0e69dc708500231a4c16b4e3f0be30604ff29761f55b1d90ea4b4d697da1439d9ee6ef855c6057a76b83f0701f87be202758e6bbad58bf813f19f8ff81a259dd6f33ae2fddce190bdf442157d79832f5237ce714d65b90599ec3d2a625b7236dee7ea8c14bd6eaaa4bc2f6e50611b799e1ab35c66394c2e4de49a4be1c9a8a8f3253f1ae102d6a80e463b6d4a7e68a4d6aa3645e630b5fabcb771a73c92108fca73f5e01900967c04d081376f105486f4dae737d6f984d36af049b4a07d4475ce3862598554093b49c5220640d505243f62a597ed3e36eb31b73b55395f0341b586c4b24fa5178a18d1f6ea5959d1adbd0a3b2832735ed3d7ec80bbc0e7e130b860f3361643696222e7e0b096c257bfac4f01af7b61ebfe4599125280af756c3c8f873b744c26057e98012815ac21c941ba0756dea4fcf055ce7ebbb36de6a42627630d13aceff1a0639af597a8172d8d9cbc52e5b4a8af4c8bfdc77c38c7df7a88030d13aceff1a0639af597a8172d8d9cbc52e5b4a8af4c8bfdc77c38c7df7a88099d12981451f7afc7ab714c8d482353b82aadfb2366ea1fda41564188bca228199d12981451f7afc7ab714c8d482353b82aadfb2366ea1fda41564188bca2281dd8b89374777f265e183f528ddc7ffcad76cd415b33038529d8b67917979ae8e0d3eb2bb13a45a7cfac66dec1b948b65e442b5aae88d6a4fc8d268e7aac67e68d2f996d5ed78c862c6d7634e80531d24b64e2a77f7b6dd099392cb8797dedf6bd2f996d5ed78c862c6d7634e80531d24b64e2a77f7b6dd099392cb8797dedf6b9d1f4b6008c2600798849847bc98b872bec06b55f180640ff1d72a0bb6c2b3a69d1f4b6008c2600798849847bc98b872bec06b55f180640ff1d72a0bb6c2b3a6156c8aa5a82b2e5f3bfdc5198fcf906b4132f038a01fe3688338f19f3c2ba2b60091cb005be16fdef46d5c119a59e289301dcd078b93b9884e88c4566b2deae3bfc6e00272aca3c536b35fb010eaef3e2abff3d353b7ef25697ae308c3c8a371bb88d5d7f816cdc24920e2d8837b0911fa8e990b0cf9bdba9f6cfdbd5cf6e87e2b10fdcf6f4aea8e2a905bd4a114375521e4e95b4bd4d7a7cba6dd810efd362b2b10fdcf6f4aea8e2a905bd4a114375521e4e95b4bd4d7a7cba6dd810efd362b095762db2bd34f17cedfa8a853f21f838b2b4bfa7b89f03330235db0963fa9ea0366fd9ad72a403801c54df7228fe32447d5d3f882f88c9c5dafc2831cdf8695c67ad75f56b686afe4c889ee3f723e8ecd570c4593d9af32b995fe98390f83589e1dcef595e03c1165d7a7edb581dae73fd192664c7192a9eccc1af79297ea310828bbe20392c3433f1ad90b3a3db35ea300a6e7b9a375b5012b2185fef5aad8bfc2ac7aa3709aa94c428646511e34340a65531a9e335c5c318a568e817f8da419c8dbb258f071fc94957c52e1ca05794a0e54682246711c6f376993a6438d56a1482610b4750ffafc4ec37792d8831632bd144ecec8d052e82b39bd54bd0acea4b4f657c969f9ab6b98d7bccc5b7d541577f3783a7be7d9cb4d52e621d37e297b9b83fd23f8b31450c9eb54c044d8b93c3bf7ae960d27143951ea1557f470bdfce3c51f98348f65af1e2c0ee24a6ef284978cb113d1249e7433a247aecb96c3a7d5abae3b09d8502b53ca644b3e06861c5c8c7cd55637e046880b018da4d75a87f305bc2a3828cf9dd1e9546c9656c73dd4b135e354b56abccea04eed61259d8f791fdfb87775a8424ee4c5945a400e5a306dfbf2ef056dff7b9f5d53dcf6608f791fdfb87775a8424ee4c5945a400e5a306dfbf2ef056dff7b9f5d53dcf6605670e8b56d946f18d67952139b3ee24ec56bcea41cbe62c7af77ae2aaa8a1f0abf1d1349a35a48d374bd48c5d73477fb701511757588a6d94c36d883cb24101fbf1d1349a35a48d374bd48c5d73477fb701511757588a6d94c36d883cb24101fcacc3e3a5fb9ba243108313f2de7d9c6cdfee83cd7346dda0555c028a1145cb6cacc3e3a5fb9ba243108313f2de7d9c6cdfee83cd7346dda0555c028a1145cb61bbbebdb209f2c121756fce51858f0e9e4b9bcb5d39c76d225dc6a2f239d79f81bbbebdb209f2c121756fce51858f0e9e4b9bcb5d39c76d225dc6a2f239d79f87605714c65290e3b9d6cda04654fe93cb72042698280d04b3e0dab374e73d1917605714c65290e3b9d6cda04654fe93cb72042698280d04b3e0dab374e73d19186e18758c45e33cd1c0fd6fcf2d8507aabc9646dc6e810a71bf0d8dae219b74439ead61602218001566e0eeace3d1f5ecebfe9fad15f8f01b7baea44f92f6973fcaedfba24a255a38684dbc999a96cf997cfd50d133ce70e96a67c0c10d95619b243e0e6c7321eff65c31524c7e3b672f67becd681f1c6c7fc6836ffac5219970e00074b201d4bdbc89a28396c3f1d20a5c096eb4f55d57938ffb93eeeb56ee5064180459e477da9d646aa4fdd29345efd3d05e03eba77b418c9d2933081a30e698f9fd96cb4f5efccfe98c477835c57575ae2ff500b9dd600ab5eaaaa0719ec698f9fd96cb4f5efccfe98c477835c57575ae2ff500b9dd600ab5eaaaa0719ecad6dcabb9873462660d64f7e24ba355dc5786ea7cdf62f8d38b27b9fd157c950ad6dcabb9873462660d64f7e24ba355dc5786ea7cdf62f8d38b27b9fd157c9501190f0124583a23d07279cd55ca5cfe83e6a30e6a1cedcab9693a359f1363e19eb0dc3ae41f34dbed30f4e60017fbbccbe38160f6a13c2ae0595419e7a2892fe7b057edae196d2affd35bb12bacfba1ddb5ca6a1b130150b4027ce5666e15c497b057edae196d2affd35bb12bacfba1ddb5ca6a1b130150b4027ce5666e15c49de0247a7c0723c93beee9c0d75b95fc52ff72715271c6153f6f3e263f2652245de0247a7c0723c93beee9c0d75b95fc52ff72715271c6153f6f3e263f2652245a2dc2c4d4ba1c98822a561e30b7d66b51dc5361a6b4b447e02d96b056bbc6093b7e69a4fd16b7aa76652087c7530994124362a5fe442b917d73bb5f333abaefa37908c9c2808212035089d569bf3799dda97e7dd259a54c41ede9573539ae4d7820cfbe4f3b7311925cd0fa5020a0e107bddefe34748b63643d4d9daf2352c6bfc05747bd045c1cfed04308de14b761d7ae58677bdcd5337439e62f34064d42933fee653bb599fe22e35c9b6e79a2f32e2530cdc6eb76749f92ce75b038e83a0dab12be07a667b86d381abda6c09ade7ccf16ac2f1bda0ce11aa210e303997b079383329ac93741b60bce73af93b60ca1b081222a2c688c83671386dffddc9969dac3991553b44fa7dd4eedd1fbbe3bfda6f01e7dd0bb9f340361a50d5bc253b9dac3991553b44fa7dd4eedd1fbbe3bfda6f01e7dd0bb9f340361a50d5bc253b2a7b198bc6c2e7cb81fad6c832261d441b4f87a2c46b97aa00484d2acb1bfb3e8a2b7a14eb5af85fae21f725d7c8922897a456c3ea553cd31636de0cac9526910e4c2d7d2b1fe2424cbb41ec49ceabd5ba19b552784ec48d347291e199e170140e4c2d7d2b1fe2424cbb41ec49ceabd5ba19b552784ec48d347291e199e1701454f455bf1016d8265b4c2107c5d37b88b1887264cc19ad23bc28fe631bedf25954f455bf1016d8265b4c2107c5d37b88b1887264cc19ad23bc28fe631bedf259c5c7204230fb456ecc9288d2484257e806f2bb78ff4d8fd44fa15701c520b055c5c7204230fb456ecc9288d2484257e806f2bb78ff4d8fd44fa15701c520b0558d804e088d2e628cec8ba500c54cfb723302c1c5362d606c0d2959162125af478d804e088d2e628cec8ba500c54cfb723302c1c5362d606c0d2959162125af4751f2eafb5b55e4266a796ee7a66d6f2aea1b86b3da9a6ce604ab805aecbab36451f2eafb5b55e4266a796ee7a66d6f2aea1b86b3da9a6ce604ab805aecbab3647be604f2a2776ae7aeed96917e1528d2efd73a2f1d28e00039912360ca8456f87be604f2a2776ae7aeed96917e1528d2efd73a2f1d28e00039912360ca8456f85e3bccf066ac25f30b2bdf087e2c3deba184995d8a166a09ee6bc54e181ea6144fdcd50f0a16ee88ebedc40146ed7d957eb9b5e59b989ae68374fcbf98871396e45d24f8c939b90b72e4ca0262112566ec520c96810235535b65f5126a727211e45d24f8c939b90b72e4ca0262112566ec520c96810235535b65f5126a72721143a14f4d7699b59b8696a0c47318d11bd42873f12be4aa41a30df8b73c1c0e6843a14f4d7699b59b8696a0c47318d11bd42873f12be4aa41a30df8b73c1c0e6827d84b6010362e88888bbaa3b86753e477c67459bc66ee8c3407a6e2e13a6c5427d84b6010362e88888bbaa3b86753e477c67459bc66ee8c3407a6e2e13a6c543df18afcfb315d847795f9d910b465392b5ec33591d6b64031ee8afe1d60a0103df18afcfb315d847795f9d910b465392b5ec33591d6b64031ee8afe1d60a010468c5f33a219394789c4d697b5a39fc7e78333a9cb65d20a815c1f9e79b8023c37c982c8f6f2cc6b594c648f8e822ed42d1ac9c67c20a614063baa6df59e1967402f1ad37b67f11bdf79b4918c1db3b883c740d19ca3b354ce87eee684ff865eef2f16b163292ab4ca0d03eea4dff6559cef240698fe6afed6f80a4af87cd987ac3230599c62db963021414fd61919221b1104d1a433ebf72b89569438a44823ac3230599c62db963021414fd61919221b1104d1a433ebf72b89569438a44823af1157da144c21726221e4591700f4181cc1a417cba6e6b5119ccbe669e1ae3baf1157da144c21726221e4591700f4181cc1a417cba6e6b5119ccbe669e1ae3b35dbcfbfa8ee6b8f247adb2f3937d9e06da6660d035644a7dd28d950bbf6862735dbcfbfa8ee6b8f247adb2f3937d9e06da6660d035644a7dd28d950bbf68627f73c00ee56bda01a4e75a6790fb46d40b18c4970c1480547e2eb533c6a8b824ad90857ba5cc3ae25c54eeaf3aacae405de60b425b6330a0ad132c4928e7f09ff94e78e001027ea46ad988269418d4fde04a2fbf8d546a172bf02d62b88c9da6a25fee51735a70098824c9c1a33f0b5abca790331be2d52becca4b7d9556dea4d3485fd67f0fceea6249a0d1de0132f96d8af019f68abd70f2afd4b3b41e0abd33485fd67f0fceea6249a0d1de0132f96d8af019f68abd70f2afd4b3b41e0abd36d98e5ad99a62d3ff5291982ec85e9a1bc232e43b836ce8a86ffe29fe3eca2576d98e5ad99a62d3ff5291982ec85e9a1bc232e43b836ce8a86ffe29fe3eca257adb18202e20419044c801b6135c703d476e941b87815176f779a228c4392b609adb18202e20419044c801b6135c703d476e941b87815176f779a228c4392b60957ed841e091300b61480c37a10d184092e90bbc77fc3bbf2cb50c1f66d13c53457ed841e091300b61480c37a10d184092e90bbc77fc3bbf2cb50c1f66d13c534e91e31147b585a47a7555714678998e96daeaea9b4d72a82ecaa52a11cfb9a81e91e31147b585a47a7555714678998e96daeaea9b4d72a82ecaa52a11cfb9a81fc7fb852f12337b5db3de6332e732f8caece92029ed22dea62f6f3c3f061591efc7fb852f12337b5db3de6332e732f8caece92029ed22dea62f6f3c3f061591ed6af410deb2086c1a6cbeb11a83ad87bc82dc4ce5c3f9c9592cb5898b231398407e2cf79b4a00bb884893698931fc4d93a1951691b1faf188071c756e168061e233d13748edc56efede3e13479939e96dc5f37917d2c36c0026717645ce34146c2e1a67b490e9e88edc48306c5dd3c886b8be41fc4e334721bdd8b7b9f0394677f39fe47faf76c1217dfe51a3bf786cf94fdf591cd62f254214f7944dff147857f5cca2a271e9ba2b24b97f5f4d30b145ce9d8f179152ed81592b24cbb37e0566170c826318f2bbb6561bf9f2f88d70d8787a33bbd8de4a9d19a016e6854c77b6f99814eadc0a24787f78b95bf50e2c3acbe2b90895315a6662a5233e7eaab6f14890ae21acc764b00671971912661ac8b93f808f11e8eac87c24ad11a7cf211765ac6f069bfd6461dfdf1f97fd72f82164465edccf0dd75c2f316c4c7b05e0fedd8b689d529b93327cc0bc8f816c251997d236acc7682d1992b1a9f1b7ec221edd8b689d529b93327cc0bc8f816c251997d236acc7682d1992b1a9f1b7ec221d883b4adcf0056f5ac3d9a34c50ae5648261e972e8e1715a0e6ad6fdd54ec5d201f1bda1e0cc4ca06c05fda550aafe36894e795ec8993fc9aca1b72909041b31d6ebb84925fd29109e36572bec531167e0eb3ee5bb13ab50ed0642d5ab2700bdbc5d772a1f4c8979c0a2a7abf1259c2a363d4eeb529bb9c47147aba8400cb5da76a4575eea6d29e0b34066db606792a2c43eb4e52609110452e8fd833c93afea9da188022873097352d112714e8bc010b1be1553f09d766d3a3cfe6ea378cbb69496324d0c1681824f903a6f06c3affa574c4b372bea153cf1efa25db18b88eaabc4ff1eea8248fe6e95d4e7d49a72820ac441ca98c556ffd3b8ecb3895f3a0babfebdb689fed48e1d3dfbd19b433b41dc6f7c3fe6b8338c5caf2c34627d5a61a8fe90368bb3f9509b12d6b43c1690fb404901401fa7696793a08e4a4ec06eae522e77cd5b1160ef18af8e990922ef82eddaaadbd989aa56051e364941cf6b003fa7cffc5396634136f3b4bd373e5f52bd2668d42270d9dbd76f198961d32bfbb1076551475179d78706776e8eff9ea80b0ae78ff0d43fbb108edb5032e3c1509c0daf668418e9190c226bc47b4b6191c3393cdfcf6ad7953c48e0a9d45be59ca02e436d29f9c4a68828c3b1b75e25c4806a0e5e2368b492cd8fd05b9c15d17e8ba4d298af0e50e2801647baa61fdfb9042e311a2c9e3a80398125ef4946191305299e8ce1418d7dcd1145b960879944fc85cd6743d4bc3e388966b9109ebe22063156f89b43fa46ee5de7675b732cf25b464db02c6ece6001fa44087d66cd5965cf9b3440c6f71421d6e45c472cc8f603736706fd3276b2472c6685a45e832365cf9b3440c6f71421d6e45c472cc8f603736706fd3276b2472c6685a45e83236d2c9371fc71d72cb819801ffefa1d01ff11a2977b6bdb521d44a2cae9e71b826d2c9371fc71d72cb819801ffefa1d01ff11a2977b6bdb521d44a2cae9e71b8273501fdc73c3176260fb8be2405993d1161f7dedc8c51f30d26d3e584695187b63d3ebea54f5a829e6ff05e7098dfbb32691ca720a1275a6f25577cb4a318ef3070b54f7532afe2cab79c61a8fa48fa1873f49719951cede34050c1ab27d536a72702267e4c249d491b7b09294dbcacb10867748eaa1d41c8c5f001b780fda9211e649c10851dcf29eb22aadd2929f429c137dd50cbb6f24d5fa466d576a43b0befb40f007c15f7c10d99fe6da9ada767981acdf6840771608efea889ce6c5941d3301f8bdc100c777c7b641adfc65a8d10d41f1fcf1b463d8fddf43c57ae34b5a187131344de89b6fbf4bf8790757d34deef090ec0ad4fdfcb9f69f85fc781372f81a54b87fdb51cc58652c2e00f141215e92c87ae996caf8c0873bd3912fa96fea9e66b7c422fb8a189cfd8ac9feb5422ee28a60101e9fbd0f27df3236a64a6fea9e66b7c422fb8a189cfd8ac9feb5422ee28a60101e9fbd0f27df3236a64a9cfa2bfabb17dee8caad7ecee252134f3d7f1cbd332d27883e6cfb47c723c01342d19737f79d1a5f988f28b7652d84b6e677e1ba0de310c602f5dd26fab6efca2b9e1b928265c7b0164cce2e98e78022d37be0e7624cd0a5b873c288e5c0e6bcc41a85cb3432e78f56530b87b699cc4916541a388b6b817502a7d91cee5c73ae5f759640465dcc476d29bf9dbf62a6ca377ee2f0975092359d7c95f51e9ecc9e5644141ca1112f52d87e5b0498c61d75241723b095dc1b33d292ba1f0cf84fe7c68b0fcfa7c32021aa4747f88b9e655d9dfb654b98de494d3f781ba885c486f417b36900433e885f956be89dcb08d767c1ff9115286efa1ea9586b95863f06c57ea084c372c4bc9156afedcdeba9ed61560baa23f73c3fa090f3d79349c6f8623b2e6095aeb1f8b56729156111804dc2e58fd9db735b4a3a726c73943e40e464af5d97dc80400ae23cd9c8074cb61a073628bbddf2d91259539d425c687067ac4dbb42fe9186c0435deaa413e78c62548f0386771c8cfec6c58bf9212910314ffd725c127375e58b472654df72f4aebb1e08df5f9b479cf50bc4a49e483db08cda5d02360c098983635196cbbef95cc02816f4436a2d6cdeba0249a154601154139ca263bd7722a0c1996f647e750381c5dd40b6123cfc254329cf0bfac512eeefb734107971aa6ce759e4a544c91a16aec7fbc665b661ce4493a5df26b90fb20a9b499960f2f4083fa7ae3e268cd9dde58a35def41d89d1a0593f6841b2789974b9a7bf4a88078448ecf734fe104170df74a15a97a8ffb55fb0be1ad0d1aa7a15552eee462fb784b8c23e2b3486c0efd80d45a10bd07d1dfe41d34e0f0f2e18728564c654c78b11490a968e7ebc3f54c350c518784424e469632335fb6e868f2bc5eb3878d018926cb2c7b8640053633472f7c2fbc350881ec26c4c45192a9da08b8ce71118d0b400d2b57cd39e86e9a909c21f09e741efd93cb62c0cb1dd7fc1e394b11dfcc3b8ca51801dae274a2534c6e928e96b6e70e4fab707ea8c575fd454c208d821f26588a6cb65accad32ae36ddf6f22486a72c3ce8a514f5b4be3ad8ab12d923b1c9a52a14d1a7674ec4db28b717380af099a9beb2d7d50e8dce40de78a984c2c6421ad123dfa81608eea86be270a9f7cc86a154da78fddfd6bfcd060c78635718ea34c3efa032d39b2525660ac1285feae50327d1bd9c67376085681d6d21a0c554d00aacba8435970c23cea598bad8143a57d5974996f918c059611fa17dd6c1ad94eb84a9b3b052bd41828a94ce154c9ebb237fab69d9563771b37e87db953720877e9bd25aab2723f5f301dec9e17709c46fedc463a73902cb0462aa3245eeea75b5a2841d7a597450954d78a710dee871ed440f4d28c66da3cffd6d1878546be35efd719a27cc2d427ad67e432d3f90d3957531cde3e66f6d55d3ed2cf108f9211f4e0b4444dda735b5b1f3bd50bacf08bc4b8439bfcc66c4f4d708fcec2bbd060766d742c0c91e8f31a4358125dcdced14bca9d1e1e83170963e72ae65b2303c5e5ca6d19b0f582d9a69fea67a1da10e07f5dfc3c23c4257bdceaf23724332184638ae8d384be5eb27fe9235758d2f8ee200628c30e05648bafa0492e56325f208f0b1f0c1cb711dc2c9fea00e56bb3428c679257b4ead054b0680d88006fe407ea5bb8c4837b4bd8d2c922b88a636628ae8b7284913dc9f257dec92c3f48aa64da25ef83ae62889fa384f838423e1859e011969a6df28ce7ae0433be4ef5d21c697b6b585d4c37c66e7e75d8a92fa80a60387a87dd1ac373da5788ee058031f402da3e59dc2531d7a5978059fcc341c1f10c8d068831df5eebad93b6bc2c2b067a917908538fd29f6162e067f8320c2e2620e57e8169224f4f859f9d7213657313b1c3aace4ce305dcdd8f20aee671e6e81fe4fcb1bf066b9294362ce61d4f997ea28c8d20460e0e12f19347487cce06984d1a0165560bc0e2a46ad969efaf8c38721003f0a93263248be5594ced4679fc6cfc3467544864613d42d07215958968a0198138edf3275f6d2eed6150242e56938a20bac358d883e7483430624fed71b97a382237001058c33fccaa00b31e3367d002c2709a637155d6177a9d1806b3d437933c8fdac807b1f943438e1a0e6fc621481a5dafd642ba653a03daaef4b95dfaf14cc3caf3a4afb84cae49148800b66523c56570eea91613f795f69fa8c546f825c7b614edfff3e4dc80aec95d3aec4f8907e4f3ff598128891cd543e5bb923bc46f8a7b721842e0149e4623ecdadd5667de3a2c9a6a0a65ebda781e2f6a9a676f86ff87a2f92f0c24fd508967c59960c8ff030e71d3c1895ec170a67b31c778857feb1862b32260bfbc47d8e869add3d04d6e63d3e528419fcd0513387c47f0e8c824f99bb6964799ae8a5363085b908f1a6acd92c578baf4b992a353f945e59aeb0f1f1772aa7aba48c3ba57f4a7d294b59f9b1c6c9929b4b19dc919c162b0f648dcb7557a9938deb5f1145fce44a4eb157273048bbf641f63175349d71b379077fde703ef42a0783f1d971dae96a4fbf5fb29f78b819d51950d913c8c5c8048c2b5f6843c41c10ce64898c74e5a9641fd5c342b10ffeb63b6dd321a3a4d88496463abbd8df4901d2ba891d26d3451e7083255e7e64c37c9ca18809a78211789998d8a0a9d48af62f360c965400a50ee25351e583469bf3dda9792d82ce6e4aa8efeba786e877bc1dbb06fada243e856db556220f5136d81814010e2bea70c0c211b84e307a5010022e77b526c553844587bd64f681822843c0ee30d60dd481a77b085c40721fd54383f90c8d672f2419d1313d27e19123a1427180b0124e2ba763251f18557f054ff1047e258d556f3422cdfe5f6ec35e3e639aa42add281b9ccc63d6cd227d3d35c136547119e332568ca266c8cb3d901f527a2cba6dcccc80abbd9317a5b2146fc67e13b557a6e457f49cb3df3a657263f393496570fd105060cd5c600bbfb1f0a01db90c705691d4e7fc784593c2c4afab41bd5c40ebe5fb825413b9f65d3d28f7c027d4cc25900d4467d8bfb9b2ba4452611ce3f724272ed5692c76aabf0bb3d2e0d2c3c25d0ba340e251f4b8dcb9e811f28beca830002edd17e0dd39f9fc87022592e6b88d1dc8e0a159e8e40c049a75f0fa4126945826be4e86bd5b57dc2c714b1bee5c0f52a004afdef5892ffb8f707e5e73f9c927866c9093707010ce403916247f8d8a4852d24a8e619fb3b36adf25d3b2a1c52f28ea7a22f2f1de22bd82e438aefba691d146bb47273efbd3895ad9de0f2a4147b223557ca6b8bc0034d2c98d2e1933f6157fe418654c705dac58f14bda82fe5524c8e05324df3e079a53388c10a194627270e1f09fc22d1bb22d2b57ea08bb0bfde508526cb2b5d131652b00b303caf4a61033fa7d322fd1e4f8bbb0a879621bfa95ced8e0c5891b1081f58958df16b9314c4970f4869ece3c90541491113b316c6b72f51bdfc683b0cdefa58e5d332d67bc5e0aa965a4ef00999273f002bbb3349849e990c213eea15e39e71e79163860014a29dd1bf1aa0609209937b3ba8cbdcd9e3b826ecbeabc6cf0c3d0532fc88b2e4e676298f091f71cc222f121db2ef84a9d4dac09307f2a55471682db99b16a9f4f174952fdf974b04c1b81479ec9bb1717d4055861e417bbdda62748e0da593996c1289aab1646ed82c45e54d700a807cf9c7f2bdd7919689674eb246ae6547cb0603ae5b4427768527909a469a1b08c26a239a6bddba83014680a74266dd2aee5ff60c807b18caaed3e5afc7f6b604abbae719e6297b411f572ba660cc8923cf1258878e12c18d1c600d757042631a8177447c1554927ffdfe7772bfd84b7587a96cf90bdd015a7a2a80d526a0e4ff97de8ae898979b384299971517c309d6f7b89ff6bc86ecb110ce2835678364a3f713eb74ce0ba87641b91ac5d052693f6dd3d5f3ba8c1aa3e628db48e866442e5828c50a33efcf3f169d186b1473c18c30e7668b243239f776ec51c8448c7730f4526ba2cb42c06f7f899755833a1a11e9477c7b56eebb8c79b350f75ae448834ecfea6b526cfda796a7da3db5d733e83e0991254b099c7b14689990bcd57021a2eafa3cac4eb8df2ad69594cc476bb4ed8ac5f97114327152829eaa1873a4dd50afa9a6deb3d5cf00df241e10d793c62e15dc85acfd4468739845352b28f158266f6166252485b4a0b50cb8e3416868303f2cfa2590c5bbfad1e4429f2a29da834001d6492621e211d502a00a9b40f8737030ed8eae0b25977a0ad5a06dc6101b1955cffcc71c627a40c85d7fbe3ca12ece9ac377e2e410589adf0da8a9df0c1ba8c1737279b7ac2c236254a288c38c7d48852f7e34ccd928c690c231a6b93bceb19a82d8ec455e7b166faeed02427bcf3cd9cde7a79e92fbdb444680f0fc90fa1034ddd80eb5ff2fce7bcd85979d7f34457e4dd2e3a56e7b60b06fe24a995a36e667e5c36641011b2b06cb0dfc1b8bb70b4350d677278dba1bff1c380786f3459eaf9f306a74987af2c923557c42b55aca8e9f0c138649787a8fffedfa16cf106bd45628036510d35746c5d8e0714452e13ef2d7d8607718ee73ef3057b5443a47050506cba111b6862aac93dcb88f36d2f5ba7e898f0012c721f7be08c211c1bab68a5753954f1b50929b8c7f91e32cb4826fa6a172e4092551f2dce043a7a9994d7be5d4a5291e06d871d41b5851f98e10751a7b6ca07386fd0073a726b761e71c1a26652d1ce81fba6ffce41198be8cfd740bc215a38f92dc6c74e5816df98876958328146810b510e3160f85a5593633ad002a6c8af73cb941bb50f8b914e20b85520b956916feef1be6b81b211d9fe5062f3eafe713af330f237f112f6cb310a224ef1d76549d64b55aff0fcbe8e8bf064f9e2b091e8074cf06eba9f057b924a045c7a8cbda5860a35e7bb551207750534ff2792b711b52209fc370e897163208e486dfdb7548a2c2bec816c5b0833ebc50c828dc16166727e6896b552014ace87e99aecad3f6a2ea305b660c51ba865a35469308160519ad2bdd5973eafacd2a0b6f3f195c04c07c13f815671d35e9cbd5722468f52f401663aefd0dcf4d39e9d51630564f6031ed1dec3e78b6ccf298a28367ebb6f18678603908f66f9cd16911c08b42c4c66286cc99dd31bded6dcfc1d0b06a76bf53325b71138d6277cc7d12ef8723cc02400a335c6041c29bba1452d325b55a5782ab66129dd43afd52703bcf08b9b2c5b13ff8bfa2a4d5a0b2af10067ec19eda56d383e45a765c4a6768ef9aafd65521329004f18a82d19b3020870cfcdc4ee989caab3d366777c09979b80e3ac271a26d34cd79112449cc1617e556b0cd242d32cf2b24765f7764a84161dc531c72db31dee5a534e4568774a7b95ec1c26a09db1fb6b9dc8d1e8c3197d85abd04229afc9f7234e9b587aa6e4cd7104278ed2073c2b56af44ee5883f847bbb8208935fa32062ce8a4a3a8aa580b92c84b0ab26160d503613b8b8081caeb228366aab6fdf5417d2a2bbe70145eb5fbef29fae07621aeaba360778b51f9d0a0aff82bf655c21835a2e51e352d719bce7621c1b76dea8ff510c80bd82738e3cedbd738ca2a1f62922973f1dbeab2ab6f347ee529a3deb865af758ca6513ceb5412ab4db5242558093610838221dc5a1987b87055ec96ce3c42292857193147348d6f423db158019d4dfaf86fa66107aac5bf272d82878301cdbb07f630006b09189082e440610f6b8aa41cbe347e8dfb418e18bc4e84333e77393f36b76862d0e0c9e9237bf1f7a23215ab8ade58337936e5c5522bf806afcafbff4e266eddbb2156adebcc4108f821fdea5391784f847d6031270b75511a81de03730fc5412af1901954407298ad14c875321e96f9c4ae229d845ed69780b854a68e28baf67014d82a8a2f9d313eca62432f25d8b2b4e6ef80e7a03936efd9d10b825b969359a3b82a943037cc05c8c1e3e5b8986286244e0309ef7393fbe18877f88f885929f39f49563e91176461e4381ebeb361c728ec9457c4417cea2dedfa19953fa99a0d6c9f756630cf191681cb3d9050f7b8d98a4150dd9f3ededb873b3f4bc0c3952de14e0abfe1f660c17a3e19cff043780bb1a434108f77216989ff62d6ac5088f6bff29dfc2295b2865f95626af65cb78a1e26b27489a7b9ad2b3ee5bcd42f1c1e83c0daed144672f00b3e434b93b97e0454fa6f268dc98e51abbffd941713850513aa4b17bb9d62426e4618b27e75e2986bb0aecebd515041efc2ec82715ea039ebed6ea04e403e9dd6eeb0cea062bbe141b4d944842ec5b7b8a6629964634771940d410482fe190efc191cefc90b24c9a5f35165fe92770bff3a55dca6437ee18a77564fa4fa82c27c61afc290877c9555fea008b5e42f0684f4cc0622cc621f9713ab023a39c9f8ef8c464bf6ccde8e60972421475429ae028ce3fd352de714904f959a1fecf9f68aff3e52bfba50187d067bde00894f66abd7ce73dfe265f0a3ead604ebf18431c8b5d4e71b6730aa659cf009934fcdcb74ac7154085440da1327d7320b11d44bf71ecf91bfae65aa06245949b2a678984807921b313afdbd9740ea26094bbe25ce146cd4125b203d8ad3b506b1ed2fb61cc859ef05500226beeb317d825c5b048094caf5fecf4153bd6963da2b4d463e60085117555c1cfc5a14b4286e85d0a4508b549af77f113f63e1e13a963a3cfed7089635f3cd14809802bc05225f0120bf786bb12cf206360667640286d7b6e496678ca711f1d29cb07213cb516c17e37d570c554f3b58da488ddf6ca31ccdee26adb6a929b8b1352dcb1e6faa1cf4fac809d9df80aedd8fc7c0105ef69cced282a9cfd97644d040b696070798870cc30d2592d81b2f74d00ccd443893af2aeda826a629426b1478e8bbd309c387d814ee6b5cd526e05d9a77b38a2a11f629f208baea63b558d6d31620cef7398ff993c003aba74451cf5693e8caab5fb9f0af460bf0621e628e087f0a4465abe5a55fc4553563905128922ea31000a64305307d6f8232d248da347778eb67f86439b44432d89af52bf154d8fd5ba9b462539e7cb4dd84916c0c0aff61190439c123093b5518376837346eab99a26cf4206150f2cd981f89d6e3fc07f70418a276b9845563c7e7013e1225c3a7a0798d970aad08ec2d451e96d134c2bc546e65e947a891a87dc674d6c33831770562a656012106c3e83b9c776c3410bea41d1fd8d4c6550e793fcb064590a49f36a29b920a266c8d0cc6080629207c087906d7aabb366a9c61cf0b918a06519e0c11150224ecb3840fd15a64939d589154f79708ac2689248a1f2da13c7778d3214eb11f68ed5fcf36123926935cc74767e1adc69e79048c1e4bfe4b6678027724b1fa3abb5ad48b244bd76ca785463cf577fd0db2689b455c2dc289690363abaf0db39cdaaa39a97555cd5155189b2c26decc5e156578085ab6bca1be12cfcd3b75df2db00f8830898a38b75c9ec62fb92d7e9f62c037ec6b90f40edcdfd0e83f22723a2ba387177db9d90f82c75d4fbe79034010a29944f1d6ab12a263dbdd4185c733bcc9e14102140f152f5dc85ec60f46dd661baefc8f667f552929e80418b11b0971e44a5cc5a9f29c718b39936f108c6d4dc62ebc47d76a3e32d974c2687e21064db4cc03a8fa5493dd7f2f9d79d3ee5bae2fe1a79fcb6e313fb43147e2dfc1286ee59befd0a7f9ef7c1578a784ceb2c9ffad4fa533f7566b5956c34a294c3e163fe79b0acd6902420fefed60e67694a12a4394ec10a17ef6f1522affd01dca75217e418decbf92f8daa47bc29130614e9241e9e2500fe36c06470e82b950ccbab757a7880845b8465c1f17981c8fcddc535b7715055dcb1b8c3b479d1628dcb2b9a83de9aa51b49a4e32c112671b8fed1c85cff80ea6193a994218b7325154003c6678f65e06bfa27ad5a7d8fefa1a832a10e746971a78a1ce11ce02234f11886b77967fcbab623c502f24f2c6d480ffc7e7584cdd1ced003e2400b3c34d6491046d69cd90b4386a2df608848831ccb46c251c083aa827a87b1e546036e7dae08a9a693599fdb63702b07761b5ff92533f21e6bee569023eb6ad90929c576afe497112fddaf203a37908a881afa6a352201cfa44e580244daeb5a4a645462af47fc40b0f563c90a5713f69d8552336fa75ab76fe52c73db914d14ecb7caa46b37336073839d83bbd082fc65aacdcb90cb3fd8a1236e707b11d7e38e1a9f2bc7feded08720d6c796c0fc2e47538c72b3372abf18347a2db5fec039552b313f582ffad7d50e8e75a85efe540dfdbd934ad164d46062ffbaf3b963729a9938bc73e569ca59445d2f8abb876001b3a106d18c1eca9acd77a1fc277392823b29dcc53c90f1b0760a8bb8ea82de549dac68f7a7b54e94bd3a9d64372388c0523a8abbdcbaadb7e06817b5ace60a12e19478c8f06e3db9fbda670c8f9f1268858d0846c742eac2286a55029dc804021d6d8b36841ce707dd927095ebbb472503f42ed2e1549673cad67541c130cb87b393ee1e6c5c4f375ce032ce2a39c88ddacc55f319880452ac5ce4047dc5dff867e143a907b1b9073d5bb2f58622afce7f898c31faafe5d7abc720c098a31529c7a18ab8d4f53028049f69b53448ca5017096840b845be5facd028fd450ce982a0f67c4587dc597d58207237bb5ff171e31da4d10bd49a6bf04aca3fe85335868100b2e37e86a06bb678fc16299bc83c4c75134b8f717a5c07c0891111f8903416d984e251121cbfc9b10be9554718238e66d1e4724c92b3899b2d4fa9f78eca4e1362ce8b10fe96c56d0f2d0bcf76038eda64d2ccc42ef2db74c9c70285b0f6a7aa020532805448eb4b8600f3a412f65a57678f6d5d4ca52103c48e2fe59c1205d67069cd741cfffcf1b14cbfe3fea7876fc128969b72d2bc6b984b466024a9a03e1b80df18e4c929a85f9ec9bc076c90c24bc44afaa70cafa75e5f74714082afcfe92169857dbf38ac0c589d6a860bc1d147b1d82f31a7bdcae27b93e2ab0541c71d3f2546a9bac638b76685e00f3d80410293eb659b2a4a5d24fa0a65ee0b069c019d4ea07202db35a55a2103809d9bb69e9005ea79af3c9e9eacaf41d8efc068fb4b02bbd90df5179b28f282e21bcbcf2dc8d94f8830980c19320ccfe34d9617840dd44f875a1439e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551768f87e78001648795672ae40bf6942707422dffb74095a919b7cee3462dafdd137ea1ac139666459b433a003f8473f6031b457b23cfaa0f147d3f49765f14cd137ea1ac139666459b433a003f8473f6031b457b23cfaa0f147d3f49765f14c9b2da37d727b75631ae6911d09bf448ad80f92983dec7b1259196e4f7f4666d79b2da37d727b75631ae6911d09bf448ad80f92983dec7b1259196e4f7f4666d7fb1f5c080a68474b208f39c2afe96f47f9b94eafac32ee262bb45707863400d0679c1cd158fdc491cd83ee5ef85c007adcdd68d5fe1416c7eed360a470a0e0a43ce0dbebdd51927cdce11a7a8094d7401f121fcc619aa639d788b514a3a6d1608f1fb374b41dcf1c1859937748de15c32f1b16660772802e2c97d08860f25b88d11267e960bbacf9d0bbb043aaba9bd2090971bdde9517e2cc65415bd6dc991103ff8e76cfa2bfbe2e4334485e1b88379dfcf4e6bf0bf8e1ba89a94556da14d17596696957af2ccee66f65dc876fe9a3c028fcb4be0f31b8e5666cd867517a58a579bd32fba582af93ec5b223081877d3542c6df20bb08c11676f3d2552e9690eddfd8db17ec78aceecd0aa0dc613a7cafe36915b0b58aa207ca15946417166aeddfd8db17ec78aceecd0aa0dc613a7cafe36915b0b58aa207ca15946417166a41e66e3f6aa52314aa7b2f9eeb3a85d3b2af1ed69bcd4511e60896083ae9d44341e66e3f6aa52314aa7b2f9eeb3a85d3b2af1ed69bcd4511e60896083ae9d443b246f9dc796b3f37cf9111253fb9325d530a2d0a29693905651fa7792a90ec30b246f9dc796b3f37cf9111253fb9325d530a2d0a29693905651fa7792a90ec30ba7e5f4ce151d62b39c3f48007d5494f3554d163aa8dab30ab9a620c958b4d28ba7e5f4ce151d62b39c3f48007d5494f3554d163aa8dab30ab9a620c958b4d2824c462760c51be3a7dbad218c6292812332da090f79c3b56aae9578136ea3ab424c462760c51be3a7dbad218c6292812332da090f79c3b56aae9578136ea3ab4c8c4f628236572d079f50d0a3dcc04b3fc8289e1ad942cf0160209058450df38c8c4f628236572d079f50d0a3dcc04b3fc8289e1ad942cf0160209058450df3847f52f1869fb13c0ac7e55033afdc9097449e5c7ce0efce203952266b497919747f52f1869fb13c0ac7e55033afdc9097449e5c7ce0efce203952266b49791974e6f275e62e984e61892a4a0e5cd954c0b36d085a84b1f7fa8fa42b656edf3104e6f275e62e984e61892a4a0e5cd954c0b36d085a84b1f7fa8fa42b656edf310af5ba000b05879e281c4536a0b9219eae28c910f8114a086f184ce1376ecb7faaf5ba000b05879e281c4536a0b9219eae28c910f8114a086f184ce1376ecb7fa3122f00020bc0f1fb89f9c69b5c431e9d0c393874b46ad647ee35385e51a46173122f00020bc0f1fb89f9c69b5c431e9d0c393874b46ad647ee35385e51a4617c0ff7a413d2aceb4fcb5011934c2c7e9eb430b937ce0ed0b822b4cbd67e6e62bc0ff7a413d2aceb4fcb5011934c2c7e9eb430b937ce0ed0b822b4cbd67e6e62b02537a6a32c9eb5aeafaa64cfdc04cb67d2346e44ed7e5c6dbff222dfb1c342002537a6a32c9eb5aeafaa64cfdc04cb67d2346e44ed7e5c6dbff222dfb1c34206ad55ed1de8ec044ad023288f8f5b8c8bd60730a20827f4f34589f44a8760ed56ad55ed1de8ec044ad023288f8f5b8c8bd60730a20827f4f34589f44a8760ed50bd4a7bbdf12703cd38b0c484aee1d1116acbb78d3e5c69b9ea72d7f88134a5b0bd4a7bbdf12703cd38b0c484aee1d1116acbb78d3e5c69b9ea72d7f88134a5bfcc8d95ba4fb1a0dedfb68e198cce81dda6c4432c7b0e9dd071c97678de062a0fcc8d95ba4fb1a0dedfb68e198cce81dda6c4432c7b0e9dd071c97678de062a046899ecebcdb9d2de6f43c82ad287ec2781aee7ea8ea4315f4878613e46b8d0746899ecebcdb9d2de6f43c82ad287ec2781aee7ea8ea4315f4878613e46b8d07adb8ff0d2933c52bff0b6d997b9b54801955fd85fb0bd083868a576550368a0cadb8ff0d2933c52bff0b6d997b9b54801955fd85fb0bd083868a576550368a0c3cea06286acd057628d4dc323530384e92f3454a403493da2cae918ee0abfc3d3cea06286acd057628d4dc323530384e92f3454a403493da2cae918ee0abfc3d0f581d9182e809464bc99afaece65e5f11baf855e52357af2e77982544f0e80a9f205475677c0438ddc25edf7c485f7db1e76fde8ac3dd255ad17e4032df93f0bf543c0c13cec2a11c199867f055da2645607cd8b34cbf1ff4ee2a2c30abb2d0b353b5dcd95ed25b0a383ed862ddcec073c0c7cc556545ac8f0d17dd91f52b41f0547d6d63b459f7a4957c23989a89f736a276b4f0f6fa86e4be3336145ba2c38343d6267ea800c7d4b02657943fc73918555769764c97a4be0feaec46f68d42c0831e09808eeb7d5907515907eb539161dffac6b957e63f331064e8bd594e51ac09ccbba67114cf9ac734320dac5e9cfac30ec73df5300d9a8e5b03fed85d847064b89c3be5b38df7242af153a73c7948cfb349f6799948f509d2417c592f0403fb52388f45df45635163a85f1496f6dbb2798030e227a6512eeb18229138e18d9c735fc009316c26039e7e5c4f71d0c03c8de5a9e15b251467b5cb6f661101504214e2138b7d7b239743649729b69f4e169e293d0e98f45d4d8ed82173789eb6b13f270513ae6bf875fe98192c534cb5c91d2f5b3cd641d1b681ee57a9f27cc6fb1dbe68a4e921e663bf6961b8e00c9b029b6ec38926ca41b1bdc75987d657b20b980ce1ec90c3a5f373feca2e12355a47b00577e9e8c4231138c00a41a8ef5f1cd542f458472ebe11863e9927745cc0ad9a48e1d445590f6b2c216d4e7793e16d9fb945a92840f725a6eea1a1782d50af67c0981525357ae2eb438ac602e89b586c169c3fa8b7922e7e8ce2e4e611de8e357aea39c5431694c66c814b01b20a7f32e219b1ee519677133cb334c5d9df93d0bdbc3e126ce21c85ec101a74b614ee53b87e463187821fb58bf279a9fdac96566c15872552047fa83d6eab28d03759d20f0ea41dd1a1cbba8041c13d63bb50576287e3f7f464129efae5a00350e555bde2e76831ba05da70ded877329cf9314ddc3f21cf40c1f76f2781b8c2bae63476cd5606ad1c71bed389a506434e2d20f0c5cfcbc3a275f18c4d43914fef1c1ec11cbc2ce651ee80ad948a2cb4584fbae39c327c1fe01c6ea49e1b703da077eaa90384cf56702021ade562413173b00d38bd3981fcefe0ec0b3823ebec53df4934fa584b5d8208915dab27b66d9065247d3558a42659a8cead87e62d86b0190621f3338f2264fd800a6170cbdc63b72a57bb7016a14540de10c9942fce88a75c8351f2274975d610d2c4627def2050e32f0943b7e3ec45858f5d0cae909e442ea725535f05df6f098bd7cdf1ed8f5a967723d7b07749a792e47e2038072519595e8aefc3392eb086cfd4402ea0a0f2f6b95390e9ba1767ca8f60f226fdfb62c47a454f1504edcb46f465bc8dcf9182c2c79b0b52640e4c1a112c092af0f6cddd378786ab5753ac9392b9050623ac0feb7fc2a7ec4f59507c7bf3c630a4b895ed717d7957a00d0291bab5429cfe80c2a098da36a37d4bc44ab272cb14de5ba3ed0c02ab85f5f8c69315b105c5f15e81830ef17171383dc69e7d7f59cbc025bfe6dad02f60c0b405c272ea584089c62cd575e0a6b1e730f908c4978a1d17f71615d2dc825f914a079215100f6085a80cd87e6aa168b47dc39aceb3ca1fc3c571ec0da0a8b24f853b50b423b0aa3347f06463f7b9b8b8d2ca94ae4794f33dad8e3c5a92a2b24882dfaed6617a0cbfaeb74202a25e15ffa47196a2f6655aa51ac16b0ff50117ce05edff9cdb3cbcc753abac298af22932783d8d066d2c3793b13668d3466b870d59d4e9c1ecfdac2a8a3171783787f00539b2e1c435124da6a019b519c4afee58297c95739aa65ff014bc91dc2bc816fabbfb524a1545f76b7eb7a07d7c2d15563f25e8252ea63f5a56e9f991099aaeb9ae58e884e41e5585d7623c263844e0a78021b5bacdd184615fae653c9c79118a5e775a6439a7eaebfc54801fc78634beabb4da1add1aa17521f2a4dec57bbd4dad7b55e4ecf607f26fccda86e46ab1e2a64c5e0a294a11a383516f77dd603bb202a79e4229c8c6f683c0072a89afb7015933000973250d73196ef5f32c7aa5405b0bd85b45ca49f0d5f4ff236e9b2f4da5acbe54f86b3fb5c29e0cfc671a8b939f75f262e6d6750416f7573565267b91194e884ccae9b687b70823107cf697c852c570928156dbe273b1808d3d09488c1e9e845ce44d560d6e0106f85ef304150690dcf371f336d9f23f9786fac2e3018b02baa5a4d18180a3c631ccf9c61ced7cad13308e56c54c1545afa5ba765c3320edadbeaf82b7c09c17015b8785313108ca0d767d27bd878a351394478152b3c156cb39cad30f689b30d9262df8863c190e85ff149054dfdb416eb02b2305a0e87504947939bdeaccc93252ce38c29fd21fb92b7672c3be801bc66feeff736c0491fe447f610a409703e4e9bced00b10372064d3ca4c42134e468e350d1143eb648f60c7b0bd6031101ec0544a361ca74ecef256ac901f48bde16ebbb2802c7785776600e34bd6c5103b92a82eadc4bd1944448ea9022775717e52885a9541f612945552af31d017107c8335e084090c46c8012c0bebfae38db37aaacf67258a29972bfde5b2d03e3691ad24b8aedb7fb0de5648c0877ae91da1397adc5f5854b6ff271aa5df2a3bb13ea1c43ed5b99e70755e8d8d5c5c307fd607c1fa8ef83b8f4071e6918864adbea3a81c93695bd5766f310d192a3d7ac1ea30cc91329591e3e0dab36cd3e332b72137cfcc97320a2e3afc8ff1c9ea31ebf9d0b8ee6de8464c0609731c9335997865eb58aecded38c90b69093ec1d4f050145816641b5ff0ef629ba5e22ee36ad83e5515d49d22e493d6c37108280947e9f7f30ca746b4ca49c889f9a963a597be0e26b2563f375716b691b07eb48384b466507822aa96fd6d5757c5fcfffb76ffea5e94818e619119093a0f88360aa71548b92c523d548b321bf6a85775acf9ae58989b18411f704fe00af9df01bca6337d4eccf0b69d44e7b9b3ed17e9407d80be3a401d43d544463e9cda33c4345f9c71bcee43857d4432ebf4552f6803d0799ab61af08cd62905ac1ed462f08601acbacf524cb551e5294ec09bb8e6f12afa85d97fe88e44bfd7f80042a685070ff2a86c36d1891e3c4adc31ae822022d87fac455cba51a9037900f7754c9cce47777046ff571b0fc0916b66c2c783e1f1d56917e57afebf306150763b7f5ab4972344492e4549ecc0fa7aefc3673a0068d3055df3b7b552a88c00b43f5edd85429594bfc3a077f3e4fcfd97dc5d98318e477cd0995650067c80c122de0adfa2a0635810d042c0aa441fe0c628b2570570b5eb3f739a73800b26c760eb91cb39ea9c7701d5b0629c69b733b8f4b2cfb583c9ffa3770d31f8201b2a44667d9c843c33c2786931b017f3f2008b39fed17f04a34b4032bee6ce17eff2924ac89e4e45579491581a40f4d025b22526d55af6adc02821b5e18fd3ac0b9f6cab72cba609b230e3b865344dbe766aa57fa84a7904dec636f15cb29dfdf0be92d35382db246230e3b865344dbe766aa57fa84a7904dec636f15cb29dfdf0be92d35382db246ca1df8587d7d332d5047fdfc9bfd5bbf447d586d2a2296c749e40ae31c71261fca1df8587d7d332d5047fdfc9bfd5bbf447d586d2a2296c749e40ae31c71261fffc8c16085fdefd64dc1f26ad5304ee768c1638a761159e505dbe0d20fa7838affc8c16085fdefd64dc1f26ad5304ee768c1638a761159e505dbe0d20fa7838a06ac8f89aa40db3e5b963d81cc383fb287ef5e7aac1d1c972bbe5935abde8cd406ac8f89aa40db3e5b963d81cc383fb287ef5e7aac1d1c972bbe5935abde8cd4bc02f07b3e719f527667615f06ea311a29cb7b7b62a43bb6487efdb565a5d6232e84c749bedeff1cfdb273cc0a998e9f1d9ff2c53f3611d6c79d786a0cfa3d6ed8e3c0979eb29f05e1c9826f551818a121f8d782f3790ba0b4af991e05095d4bbc1e9befc18723803c334f1ac8a47f8af5b7c33e51f96852b8aae50781de7fcc4ce97b6bc1efab32a13d2c61dd81e96b1f7fc2b6312542a6b903f02e4cea1db637dab1b93d5ce78318c8a1f4b9f5b50c1be087d7bc4599444aaf0b73bf5099239cb9b5dc9638650acbf465ef3273207faf98669432be39a86c96aee474719317d2e262fc83d18ee36527d0b22a45cc1955b76c4e07384958ad155e4aa03d50d04c2566cc0e2ddc5f20e5155b39256c43c6e03d1c11b67c285996fb7a868defa7cffb7e69a50e4ff30d63ab86cb3aae8da07dfce9df4b093761a9943ba0769f8ea8583c8ca6f29e2a76cbaecc84b2664a22fc826b071d4e942e08e10ec9ac1b23e882865b21a053b7fb3464c84e4bc979095c21c30c199a7847a32f102b4443ce53d68bb975f79b284c61c5874c353d7239689c418341b4258498db5600b830afe653bdf87bdf4ad2737bef6c25cb2fd912e7bd4fca8730dbd6562c60f1ed636488777b9df1dfbec201dcd37eb7633c333957be86d7e6c4d279dc956d4e2a8a361bd4188afe5f328846aa2f7e774b2f694c2703a6a925814fea3a4bb3ce3fa8fdf6183bdfdff67a3d67b06cf138fc735b8c5c9a24fe98ea9c95aedd8c27d414909337a791845d901935c1d94bc076af665fb534f6deb02ce54e71cd3ab8d2948f5fab5ac5c9a900e667266a48a8d697b15d57ce5de03ebf7b5496aeebe6c39a87f8d2134c36a2c0f860bc06a204847935bcbfe3d6a3b062a2b262a9285598a296fa29ce7ba377193619c08a187c624a317a4cc42cc1836b2dbddd617f0d7ee55dd7c97b9b1703b46d5d10a4bc084181dbbd9753463a58380f90084bfe0a110840fe3e5f8811cef7f9b6fb8ed293ff782298a1c091387b1db7a1d050e986bac2c2418926978aec868a8313c07e44df501342a520422d1da4279da48d17964a3d58aefbd88707fd44c8bb7bd6475701e497ace36dff2a044347a56415cfed8e73ac73cd054c899bc52abf37a6c68f14518469577fa332bffcd057c71766adc6896e76633747bee783a1585cf5c399c88001779d48abb047f8f329474ce92feeeb637c997fdf22b1c72c8c4401f09f4b73a4f1f28df2322ed70807eca2280cbbedc4ef4f3560e991c357f0376219db70a27781d5a33fb2cc92750e39f04532dde9476f6964341e13a8648fa67f19f2357f2eb6b337d6d225fcdf65870793245e3e4330084a85f25650cfe9395d15ea4e4f298e43732cd790793296f7c4aedf0cb3623d62b81f63b0418a39a8f5a323203d88ddafc8c5226f86d311970025d86d7b6cec5866733c7f79ad00d522098b3b6fbc1b48a9174f03f490838a3b5fb9d419ba5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e2eed6647e34fd219a08316345507edb007e919e0bfea63ec0d07034878b6801a47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac633012a521ca4c32c56939af6a67e4f4b8f5fb80c2952e19cbf2fcbd697c4bb37d096231e9c87df80ec3273da9c5b71bc81503206726a07a4dd4de44c256ff859c709282cf265b5b6fb12690d64ea2b37eda8baebfc38954fd66472d0e4e8e9cf18a599275ab15fb79302c5fa77ed52e42170ff359fecfa684f26e14f61286374374a01976311eb5eaf50432a5158ecceed3ccd36ddaf84ff5b2e384822bccddb305e508c7dc24b7e257dc231214c27f197a38f9ddb759db38df8f4c7af470045872c1743999f3161a93d73cc5ccb061fe273988e2e792fcebbef06234501c727d0bdff46f7e10f633d1e9f2ef99bde753b96bcb7386b0cc902de951ec348ae95ea54d13697a71463ba5558c80d17ac120cfc85e0a5e09a9e17a049c6e604056fd9bfddd99c06c8efa98b3089e41b36c48de9e41bb54c603436fcaff03aced8efbc2ec8e1422714633ec2f8f72953508fd7ea6857b9af2c722c2b45e6dff9ab0e533c9546233b32e4be9616440689a2c2663f97de8075787685710bbdb0d142d0a4634be61c8e998e70db81edcdbbdb560db213396a816d6c98a05af4f241b72b500cf645c6d40171c93b74e938888f086be4ba8095f4943ad44366f7966627df3f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b1bf8686e1d34f7a6b0ac3ee3b2ebcd4e99cf1bea0a690a8ba34b3a1dee6e38d6ded4bfe34aa8c75cf96a57ad855c989463d2f52bc35d87dc96a44573ca9dcca2f0e525240d0a13cc728c76f2f21de2f81f3c34c2ed73cdcef530ee530633e17256d2b920692b0115d29e2d24f57d79ce889a3374a28172f04257ebc85dd5f2943288880985d65ac926a62d85c1a461a0b858a2fd93cb44d3a4760ffa505312698f0af08ff315533947bbffbacb775fa42552b2272b54f103b788380769bf3072b9808d822ceeabc176bbed33a857d1b7edaf6bb2349ac58c8f14efdc5dfd72f1ae5c26075414392fb54dead9ef7a62ab249af3b180bdcbe136c849ef831d0ce83634f1cba7415d17dc6849a139f7c3a37b672ce9df5487baf1557f7a1fcd0bca490539037546bffe1fb30172419cecb4c558d19457897dee96c18e05d1305eabf75956ffb348f6f5e5e193f5154e225e5678f7ff08274b87ca0da986cb35b781ed97cf96002537418c88b07dafc28af4a37cf45827e9e1bbbcd62147ee22a6d96b4618404d5847e1e32c9cd0016805cec4948ffc0f168344b4a3352da0840e0851d6e8c029e1d5b16798cc72a3ee9ec50c68753684119a868bc84edcdafef6965fb3eedeba9ba43e0a12cd758616a9db737d58f70a3a7726608857423c6d1d8f427d0f6771875f20ee2c52dea4374a9c3ed2b95e93294a00ffd2c5ac4ccef1f28c10c87f714ddd68f02593349b43933699ef1d9a4deb69950b6ca870e805f0d08fc995759775bbaa22c62f1f2b46f13ec7d7b41fe59c12d66e7a230d0368d9dc31bbf292c29b7d78c2ef550fd8d910ce1e2b723be4e242fbe74039d0ee3e00e5920ef0acd314572408d454134ebfa5e271565615c8e2b223186b883ac22fd623a83d688b175394cbcbd03354459458073dd87ba895cc63ad38c3c88b54635d5a8e135443b681f63cf51cd26dd12bee6cadbc83e0e3f1ad1c048fc9ab918e6e87a83512fe59414e97397ac04b79a44630f3a5395baedf2b84fadc7d363aada973abea57e00ca03c42e1dbb40e53dfa9f2c6c80cde3792f521ab9057c1b842d6c7be002169742407168e253bce0250185f0b721f7461c3fc9d451ebe06a6bb73f0e86f4a1612050ff266b96bcffd3e1f433dfa787f7e68243104ab3598eb8d538262b99c070bcaa940c557acfa867411e363da5e4ad87b56d4180f3c342b18154d6215f0cdf17fb3fd89e38d3830e19ed2cec1f98f172eafb71cb27d05cddc1529365c2648eb0a0ed4cebf3e049e75bcbf69a777554da62d39496416458018ad39b93db6ff0af01c1416a4cf5643fa970e6facf75aa2c38a66404085039c2314e33b1fb4e30fc4b96eb2bab6c7dae89f65ddd6bbb12119017843939b2602867da5b2842c0058217a5930dede5b87a92c30853b7d9fb82cc53d4bcdd023d38a8d7acdaa5ea44a229308a5f1d223d2962dad7c7f5e54c1731a0338e6c2c04cd3bf69fec5a2d34405b42f08cade610ffd9a40ca2bfebd4bea3e7a6ff6a53d30bb38f892a74011a97e33910fb7b86ce7524fe685479aec9fb64aa13f895c48cbe77599fc2ef91b6fe4d50f1d88baef511389dac950c577b966eb090c7cd708682d037ab566dc3b315ff9d640cf92bee650ddf04345170c27651ff91100613546565223e636ee4f8e734765af2a23e42c83f63bbb11733d4c40eb3d48ff461c9f4bbd1e4cf95671146d5d7bcb674c5567a669351fbc139fcb5b16443e395e52a8cdb12049feaa6866098a61b5c99d6e1fabc275946a0debd8f450ef093ecb1a32456003a08de44141ee43bf62443dc0b51cff5e5cd6316ba0f59df5cb3dcaa5a98655e1a75169e11cb5affb82d6eeec9284324d3d2e8cc4842d978b6bd2c9788d937fcc13c85727d181c7449773cd8530cc21b7361aee9a56d3645f0e7ee28b1afae2f714417c405346b54043b8b7366fd713b3144af5cfc7866340eeaf70ee834a5ec2497df6b4561785becb6ac097c8dc054c132e54ba2a7bc52c00eaac15658f64be63ff5183c3b40ebf3bc4f9c8f734a72948800f59f690d161576c251b34ba629c35438cf2bca39e6da8ef79ce25837899b8d9c492fc42299c62327e8bbd4afac4152c6164fdfaf324ed7017ea1d359be299e40a576615a248c5fc085fcd9a843bbacef1aa9469226776a45bdf6e0cd1963c0e7cbd4d8cac1d8d6c192ffa49eb194d42efe3977fdda7bbb64c7c875af8dc3d7692f55fa6801de2cf23a4373108b62544b5846ba7284c6d647b50d1a6512dea8a9c710533b0286dda56565a0bbc5336a97501f478cbe0a295a9a3d67a1864c1ff6397e3c48795cc883195c5bf71e497395410686556118be29da1878c24feaf974c76e1c5bb4ffec54519c64dfa4e47395410686556118be29da1878c24feaf974c76e1c5bb4ffec54519c64dfa4e46a4fa8ec1bcb351da7111f1c148da8a6ef9ec7c7cca3d25352b07b6216e27e546a4fa8ec1bcb351da7111f1c148da8a6ef9ec7c7cca3d25352b07b6216e27e541ac709e6350fc16087a3e3f4a5b90bb126445e052dfd18fb8c5ee0d3d3b077381ac709e6350fc16087a3e3f4a5b90bb126445e052dfd18fb8c5ee0d3d3b07738f11a6b11ba1c3d320de7dcbdc846cbf5d4f98e57088680e00348da9f14a020d4f11a6b11ba1c3d320de7dcbdc846cbf5d4f98e57088680e00348da9f14a020d4f50a1993a62981e1e10b42eccaa75e5d091c09a59a475c9644072e1c0a68594dee3a64ef07c3db00e08742742ed0daac459fce74a37ca0f6e611c287b5c8e58bea21f4accb937fd2331a5886c94a74603d820ce050cfc6d6c046eabc38b8ba3ea00cb8f196df69ec448de950c3aaf2ccf1c48ba28e53e4df247c0a9033a15ddba00cb8f196df69ec448de950c3aaf2ccf1c48ba28e53e4df247c0a9033a15ddba663a58fe94218a205bc33954ca6447320fb88a0f08e8055a44ad54e0d8ee29fa663a58fe94218a205bc33954ca6447320fb88a0f08e8055a44ad54e0d8ee29f08720253fec953969958246a2caad33ef214e5ece236ed4bbc317b3b1bc15a2655ba8c884ba76627a68c3e8af44eecd76ec36ca8325cbc949512a2536df4aada3bc2d4d80c18731d61226cc6a70ff75c0fb662c69b9dd56031d5740353cdc33a18e848d8407f80299164ca83fe4d84aaebcf3f318e8d6e411d9c1c51579d84adb75f08bca21b54a79ef0bcd0b783725b990949026f6465518353b9d4ac6965cb6980c407ae4cf705d489cf589a4ca7eb29ab706b01e64e7b10c0156f7d2c1c1d9db5e301b3352a0f80966ab2480a7748efa5e46771ba536269dc6cc0fec430a99db5e301b3352a0f80966ab2480a7748efa5e46771ba536269dc6cc0fec430a9421aee9d082c8ad2a2c524da6a3fef86946ced1466b0660f42659d4458b077e0421aee9d082c8ad2a2c524da6a3fef86946ced1466b0660f42659d4458b077e0660bf3e40f5fa286358b30640c1ca91dd4bc2be038034d86d9c74522c7921fd2660bf3e40f5fa286358b30640c1ca91dd4bc2be038034d86d9c74522c7921fd2762f46b4a788000b81c781501139c4f7322069c402631ea94ca7e0956cc76d60762f46b4a788000b81c781501139c4f7322069c402631ea94ca7e0956cc76d60c7340a95203a6435da2027c0958ae76820b66ba389daa3d3be2e28acbaeaf55cc7340a95203a6435da2027c0958ae76820b66ba389daa3d3be2e28acbaeaf55c12c99506c6c4826bbc110cbf5048a1f1535caf49bc3ce182fa4a9c1dc1ea375712c99506c6c4826bbc110cbf5048a1f1535caf49bc3ce182fa4a9c1dc1ea375768c5c829391ff8c07b9a736ea5321bbaebe233e11ac9b4f642bd5898d4a426894bd5b15e7b58b13785250d8543c9aa3b3e9fe5c23bd6ff0d65d593418323e62cce38d19ca7a4f6080e0e7e2f28875575d21332ec9b249f0ed64c797ff672aaf9ce38d19ca7a4f6080e0e7e2f28875575d21332ec9b249f0ed64c797ff672aaf9ddac01bd7cee2463e2f5b6113d58fdb1a2aa2edd4a4a22ec4801ed2afe13fee0ddac01bd7cee2463e2f5b6113d58fdb1a2aa2edd4a4a22ec4801ed2afe13fee06ee53ac32e15d2af4a954cac588d12e3fb3f3cd5b261c0dbc83f773424813ad86ee53ac32e15d2af4a954cac588d12e3fb3f3cd5b261c0dbc83f773424813ad857051135161aef2832bc0fed4f3ff2bcd5109a53d76cc729d1fceee5e24108f657051135161aef2832bc0fed4f3ff2bcd5109a53d76cc729d1fceee5e24108f6ca1007ce0b12a5b3d688d1294d222ecc235630fbc820574dd6e7e2f284668518ca1007ce0b12a5b3d688d1294d222ecc235630fbc820574dd6e7e2f28466851897317a9457107252d339745b4a69a7b27e0f3e40fb8edc66e1aec7baa937c42a97317a9457107252d339745b4a69a7b27e0f3e40fb8edc66e1aec7baa937c42a2d78d17c951807793a3d29eb08eee263954c6792f4c5b8e80f503fd7e7ff7ce92d78d17c951807793a3d29eb08eee263954c6792f4c5b8e80f503fd7e7ff7ce9f06f5b69ea3222cc5508dd35e10aad22398c1eab9cd9dbc23a1636821c986f32f06f5b69ea3222cc5508dd35e10aad22398c1eab9cd9dbc23a1636821c986f32543bfa924ab42b14feaa22370442fef574027857a27f97d02f0d21602ba93c78543bfa924ab42b14feaa22370442fef574027857a27f97d02f0d21602ba93c78219a3ea5d50374da02e65773e6590cb48689840f75d169299dcd93c456979ff6219a3ea5d50374da02e65773e6590cb48689840f75d169299dcd93c456979ff630dda7826a364e325791f4052073ed4370d49dd9c3d8303774e0796e6579f94130dda7826a364e325791f4052073ed4370d49dd9c3d8303774e0796e6579f941ce6f894c23d388a3e7d918ae0f96c3cd6a2d031229c773e63448a489721fde49ce6f894c23d388a3e7d918ae0f96c3cd6a2d031229c773e63448a489721fde49c24bc7af31bbb74da2b713446cbdb63a3d4148e22b27ff2dab517a432d0a7d1ac24bc7af31bbb74da2b713446cbdb63a3d4148e22b27ff2dab517a432d0a7d1a0716b4d1f35fcbe6cb5d3037c532732a26428e8596aaa34f2d3465595df293b40716b4d1f35fcbe6cb5d3037c532732a26428e8596aaa34f2d3465595df293b4af07f8349880867f82b03e18361843480b349feca52b7db2e2655f46cbb24797af07f8349880867f82b03e18361843480b349feca52b7db2e2655f46cbb24797ff4528cde37988dbf793f0771f104c998b0138b1c05a7125c0a24b20ed51a34fff4528cde37988dbf793f0771f104c998b0138b1c05a7125c0a24b20ed51a34f054e56371d0155ebf0a9c173757af8c65b839883605e1ee6b848acab595a4697054e56371d0155ebf0a9c173757af8c65b839883605e1ee6b848acab595a4697a1a7e96c252b40302b877573f085b8d00aeb2e508cce6fd16bf392a43a6a591aa1a7e96c252b40302b877573f085b8d00aeb2e508cce6fd16bf392a43a6a591a273983d69e9b1114838337358c9d9a080419c8ff14e6bb38a8fed500c3a0c9ef56ee553f93493279922a10d952345fd1855a396e88d711beb51955140d24267fff45b7f85816e4699b7d03e103db339d0e3ee98c238e556758b06cd647cc2acaff45b7f85816e4699b7d03e103db339d0e3ee98c238e556758b06cd647cc2acae828c8a106b71d5260e6aef3a82e1fbbf8e4cef2f8f8e377dc99aed39c2f0f79e828c8a106b71d5260e6aef3a82e1fbbf8e4cef2f8f8e377dc99aed39c2f0f7935f5152837e2cb40202f8a2d01be1eab4ed642636b301b97ea2b956844d33b7935f5152837e2cb40202f8a2d01be1eab4ed642636b301b97ea2b956844d33b79edd42af3ee39b6921741dfc52bed794bd84ad1e338c920b43d08f6cda247be27edd42af3ee39b6921741dfc52bed794bd84ad1e338c920b43d08f6cda247be279e2a58233ccd99ea3b53d9e2ebdb61cc826a446284c16fe5bba5508c6dd2b8157c3d2394235e734c3974c3eaf285ac16ebf9b9957b5edcaacce9e956fc17186db8e34fc52d8563ab1452e5ee28f074e217ab8b863d5961ed13ccd0246b5292745ae38a3835408c20f8fd4796ad6e37f473f0e61de3f45ae0f06393daba7fd980c6c58a9cce74b4b2b5a06b5cc4d630cdb132081a7b49c11530fe9cb7c50e7df5eb8d40121c63ebf817959e9b76f415130e5e97f622b7ed15d8abef55ff46819e83ffe90a4a4806309ec3aacfeb2b490185e04ca30ac634dd50339a176103a82b323f31962581957d892157c1c122cc5ce4cd6b8de7037cd3546f203c0c7dc9b71b6449da3a1ce711e2299d2ab922bba09f7aac103c45670d6b540224ef3ddcd402735af076c882b333c3dece378cddbd0c126a2380844ade7aa7d0db8f3c145fa6aa0b1e3d55a9ef7c564881a009f0e9493564fc88fef300f24f6d7f100adaf41b671875ad47233db466154d19949b9979b60276036b6fb9a9a53373b3590d9c5fc7085818e37b3e671d7946c50403928a085ef0cd9178975df5c12dc256247ec046b9e66fed7b3dd414d14456e21eb0440a59abc0350d8efa5f3a93521fd2c683462bdc150948841187df59abffee5a3d25c2823538a06f1d00b8e38704bf96b6792a263d3b3ef35652cf1a04af015aa6e1f6963f05b04d98e96093a0c53064af7504f6ef4e4897b70eddc71f4b314d42f05e94e04d446506cd15fc32b93e03434db323944d5f39162c41a302e5d1f97fbff1712554499ffaa04d6f82ef63c6f16e163a9b2757ee1ccea4d49867c0f98e2db95758d3f12a890f55fa6d57bd2791cdc1d1e39becfbbc0ea8ea73cb55e5e92d8dfa1fe7c6d26437a6c090202ef8e3d3239969f31e663d6f4f76f8c6e6b4c21a6f81ec16147e23ae9b5c338b2f449e3a81c43d5ae5154ef39d8785800b4c3a57295b628eb71898a326ad5f117474efc4a92b212e41395a1d72299c7677903693419aa1362bc6716eca5dbac6ecdbe62694b90ac41bf55ed77286173107107513d95c5d16d849ae6f674cff7a98453fe6f8888ffafae7e25dc1e80141ff78e619f57b1781593f95b4feb80e571516fa9a163bc52bb8de3bc166eceab9f3eb49e9ca7268ffbacf766c2ea722e6b0d6485e4b06b5dc019822e4632603580ba6bc8c1a6c36a935b2406027339b2b700f7861c4fc65fbdf64957921dc9a9ad76ce6b67aec0d877ee4444c163d363586f6a8d17f84300bc9136057763ecf8e5286f07516bf00c06516d1939872a55ed334848fd11aae830530eee2a3749aa744fc991bd3bb4de82cdfc8be3c900cd85f4679f19d9f1e0c5a53c40f35c009fe10d7c3a2dc64f263939bd7823f8f75d7b577381e4b245bff8d3e51d8bfb004782f12bf00a9de07d986f3b36fad378b75e33e381e4b245bff8d3e51d8bfb004782f12bf00a9de07d986f3b36fad378b75e33ecf95407eb27c5a777d9bd0e2274ab8e49abdcf8572b99b56535cade463ce9bdccf95407eb27c5a777d9bd0e2274ab8e49abdcf8572b99b56535cade463ce9bdcc30ae1e9042f0a75941b0260f30d54791519dd7ba35fbd02978c097c013570e8aa696d3bf9392f0d8aefa309ca8dffc07c0c58c6ab0f2d07889251cbe1921a46a457befeb6aa889c98e9a2d262eaafaca5d496d8a48267ab4d1e17c6b1a6bc8ac17ed171c18f4e7647972598400964e844fa6e619f637767fddabe158691cb705bfdf38721b60e7ae7ba044f09d6a6d2285bcc76dc58dd3a6170cf41ca73e5385bfdf38721b60e7ae7ba044f09d6a6d2285bcc76dc58dd3a6170cf41ca73e5387ae742399abf729d2d016a350735868fe9a3877a2688583233ebd73d7f1ee11964fa4ab53a3e555684d05c0739fa1686ca135b35b39d17e5e3c3f0d3d0a342658e6f13e52443e392c95d86a021555785af23e9791e48bb8b7c9542825f6ef70c8e6f13e52443e392c95d86a021555785af23e9791e48bb8b7c9542825f6ef70cc0b5be74551830e300c80e6832107c2a5531c912b6c8e0133b2fdf5ac96ab092c0b5be74551830e300c80e6832107c2a5531c912b6c8e0133b2fdf5ac96ab092baa63c999b43ce0b012a4512e7fe719fc24fec60bc26d935d197288c13b10deccf0811edc26c7dbc0239c32c7e70f2019e6c3e927e83fe0daa280d4b13a956b478d6ed48b5b7e963bb31fc1daab26736b1270c72177179ff46cb0a24b75ecac4aa287fb831abf2c42b83a07e121bad25c1ce00a2fb1ea6f1bfd7a9dc017339a1b33daa527fb4a2787d6d04f90007f07b0490501c190e9fd6aca30906e448c4c6528a5403a26bcbc5898f4d1af3247e9038936b3f7f390b1fd66fc340bec3b9f887d271e74f541d38053fd5db743f4295e9c6f3346c8b3991fa4c3620ea302bfce47bdf7414be8a908aecabc14ad4ca2dc3720b629faf2003d77e4bc6c2a7cd57cfbca81bf274da3c0e8ed1627e323e838a3e240abd4dcb65496efa2e75dc3dddd2a0fe0966075a87810ae128fa4e57ceab462b61f18854bc9ffdfb6c2a26047cff1bda7a7df4aea4723ccf02f678f0724c831a32cadf779b9fb4f12110d5bebb/etc/alternatives/sphinx-apidoc/etc/alternatives/sphinx-autogen/etc/alternatives/sphinx-build/etc/alternatives/sphinx-quickstart@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-Sphinx-7.2.6-150400.3.6.1.src.rpmpython311-Sphinx@@      /bin/sh/bin/sh/usr/bin/python3.11python(abi)python311-Babelpython311-Jinja2python311-Pygmentspython311-alabasterpython311-docutilspython311-imagesizepython311-packagingpython311-requestspython311-setuptoolspython311-snowballstemmerpython311-sphinx_rtd_themepython311-sphinxcontrib-applehelppython311-sphinxcontrib-devhelppython311-sphinxcontrib-htmlhelppython311-sphinxcontrib-jsmathpython311-sphinxcontrib-qthelppython311-sphinxcontrib-serializinghtmlpython311-sphinxcontrib-websupportrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternatives3.111.32.32.140.70.122.5.01.12.0.01.0.21.1.93.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3ed@d/@dddíd`@dNX@dI@dGdFo@dBzd7c_cS@c@ccj@c$@cK@c9}@c6@c2c1@c0Bb(b4@b֜blbbbA@aaNa@aa@aaW@aW@a@a@a`@`.`g@`r`r``y|@`lM@`P__=_@_$___F@_q@_;_5+@_A@_ ^J^^k@^d@^Q^O@]@]@]x]M`@]G@\\]@\\\e\B@\@\M\M\M\@\~d\ `[O+[M@[WZ%ZZH@ZSYYχ@Y@YzY@YYu@YZ1YV=@YTYMY]Y i@X@X@V2V`V@VVhUYUU@U@U3@U+U&idmueller@suse.comdmueller@suse.commmachova@suse.commmachova@suse.comdmueller@suse.commartin.liska@hey.comdmueller@suse.commliska@suse.czmcepl@suse.commliska@suse.czmliska@suse.czdmueller@suse.commcepl@suse.comdmueller@suse.commliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmmachova@suse.commliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmcepl@suse.commliska@suse.czmichael@stroeder.commliska@suse.czmliska@suse.czmcepl@suse.comcode@bnavigator.demcepl@suse.commliska@suse.czmliska@suse.czarun@gmx.demcepl@suse.commliska@suse.czmcepl@suse.commliska@suse.czdmueller@suse.comdmueller@suse.commliska@suse.czmliska@suse.czmcepl@suse.commcepl@suse.commliska@suse.czdmueller@suse.comdmueller@suse.comdmueller@suse.commmachova@suse.commmachova@suse.comdmueller@suse.comcode@bnavigator.dedmueller@suse.comcode@bnavigator.decode@bnavigator.dedmueller@suse.comdmueller@suse.comdmueller@suse.commcepl@suse.comarun@gmx.dearun@gmx.dejzerebecki@suse.comsteven.kowalik@suse.comarun@gmx.dearun@gmx.dealoisio@gmx.comarun@gmx.detchvatal@suse.comtchvatal@suse.comdcermak@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comdmueller@suse.comdmueller@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtbechtold@suse.commcepl@suse.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.comaplanas@suse.comdmueller@suse.comaplanas@suse.comarun@gmx.dearun@gmx.dearun@gmx.detoddrme2178@gmail.comjengelh@inai.detoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comtbechtold@suse.commichael@stroeder.comtoddrme2178@gmail.commichael@stroeder.commichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.comtoddrme2178@gmail.comhpj@urpla.netseife+obs@b1-systems.comtoddrme2178@gmail.comalarrosa@suse.comtermim@gmail.com- update to 7.2.6: * #11679: Add the :envvar:`!SPHINX_AUTODOC_RELOAD_MODULES` environment variable, which if set reloads modules when using autodoc with ``TYPE_CHECKING = True``. * #11679: Use :py:func:`importlib.reload` to reload modules in autodoc.- update to 7.2.5: * #11645: Fix a regression preventing autodoc from importing modules within packages that make use of ``if typing.TYPE_CHECKING:`` to guard circular imports needed by type checkers. * #11634: Fixed inheritance diagram relative link resolution for sibling files in a subdirectory. * #11659: Allow ``?config=...`` in :confval:`mathjax_path`. * #11654: autodoc: Fail with a more descriptive error message when an object claims to be an instance of ``type``, but is not a class. * 11620: Cease emitting :event:`source-read` events for files read via the :dudir:`include` directive. * 11620: Add a new :event:`include-read` for observing and transforming the content of included files via the :dudir:`include` directive. * #11627: Restore support for copyright lines of the form ``YYYY`` when ``SOURCE_DATE_EPOCH`` is set.- update to 7.2.4 * Require sphinxcontrib-serializinghtml 1.1.9. * Fix regression in autodoc.Documenter.parse_name(). * Fix regression in JSON serialisation. * autodoc: Support positional-only parameters in classmethod methods when autodoc_preserve_defaults is True. * Restore support string methods on path objects. This is deprecated and will be removed in Sphinx 8. Use os.fspath() to convert Path objects to strings, or Path’s methods to work with path objects. * Fix a regression in the MoveModuleTargets transform. * linkcheck: Resolve hanging tests for timezones west of London and incorrect conversion from UTC to offsets from the UNIX epoch.- update to 7.2.2 * Drop Python 3.8 support. * Require Pygments 2.14 or later. * Deprecate sphinx.util.md5 and sphinx.util.sha1. Use hashlib instead. * Deprecate sphinx.testing.path. Use os.path or pathlib instead. * Support os.PathLike types and pathlib.Path objects in many more places. * Add the :no-typesetting: option to suppress textual output and only create a linkable anchor. * Allow running Sphinx with python -m sphinx build * graphviz: Fix relative links from within the graph. * pytest: Fail tests on “XPASS”, Set PYTHONWARNINGS=error, set strict config * Restored the the str interface of the asset classes (_CascadingStyleSheet and _JavaScript), which several extensions relied upon. This will be removed in Sphinx 9. * Many more changes (even deprecations), see upstream changelog- update to 7.1.2: * #11542: linkcheck: Properly respect :confval:`linkcheck_anchors` and do not spuriously report failures to validate anchors.- Update to 7.1.1: * #11514: Fix ``SOURCE_DATE_EPOCH`` in multi-line copyright footer. Patch by Bénédikt Tran. - Update to 7.1.0: * Releases are no longer signed, given the `change in PyPI policy`_. * #11412: Emit warnings on using a deprecated Python-specific index entry type (namely, ``module``, ``keyword``, ``operator``, ``object``, ``exception``, ``statement``, and ``builtin``) in the :rst:dir:`index` directive, and set the removal version to Sphinx 9. Patch by Adam Turner. * #11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm. * :meth:`~sphinx.application.Sphinx.require_sphinx` now allows the version requirement to be specified as ``(major, minor)``. * #11011: Allow configuring a line-length limit for object signatures, via :confval:`maximum_signature_line_length` and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:`py:function:single-line-parameter-list`. Patch by Thomas Louf, Adam Turner, and Jean-François B. * #10983: Support for multiline copyright statements in the footer block. Patch by Stefanie Molin * ``sphinx.util.display.status_iterator`` now clears the current line with ANSI control codes, rather than overprinting with space characters. * #11431: linkcheck: Treat SSL failures as broken links. Patch by Bénédikt Tran * #11157: Keep the ``translated`` attribute on translated nodes. * #11451: Improve the traceback displayed when using :option:`sphinx-build -T` in parallel builds. Patch by Bénédikt Tran * #11324: linkcheck: Use session-basd HTTP requests. * #11438: Add support for the :rst:dir:`py:class` and :rst:dir:`py:function` directives for PEP 695 (generic classes and functions declarations) and PEP 696 (default type parameters). Multi-line support (#11011) is enabled for type parameters list and can be locally controlled on object description directives, e.g., :rst:dir:`py:function:single-line-type-parameter-list`. Patch by Bénédikt Tran. * #11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis via :confval:`linkcheck_anchors_ignore_for_url` while still checking the validity of the page itself. Patch by Bénédikt Tran * #1246: Add translation progress statistics and inspection support, via a new substitution (``|translation progress|``) and a new configuration variable (:confval:`translation_progress_classes`). These enable determining the percentage of translated elements within a document, and the remaining translated and untranslated elements. * Restored the ``footnote-reference`` class that has been removed in the latest (unreleased) version of Docutils. * #11486: Use :rfc:`8081` font file MIME types in the EPUB builder. Using the correct MIME type will prevent warnings from ``epubcheck`` and will generate a valid EPUB. * #11435: Use microsecond-resolution timestamps for outdated file detection in ``BuildEnvironment.get_outdated_files``. * #11437: Top-level headings starting with a reStructuredText role now render properly when :confval:`rst_prolog` is set. Previously, a file starting with the below would have improperly rendered due to where the prologue text was inserted into the document. Patch by Bénédikt Tran. * #11337: Fix a ``MemoryError`` in ``sphinx.ext.intersphinx`` when using ``None`` or ``typing.*`` as inline type references. Patch by Bénédikt Tran (picnixz) * #11345: Always delete ``docutils.conf`` in test directories when running ``SphinxTestApp.cleanup()``.- update to 7.0.1: * Support `Docutils 0.20`_. * #11418: Clean up remaining references to ``sphinx.setup_command`` following the removal of support for setuptools.- Update to version 7.0.0 * #11359: Remove long-deprecated aliases for ``MecabSplitter`` and ``DefaultSplitter`` in ``sphinx.search.ja``. * #11360: Remove deprecated ``make_old_id`` functions in domain object description classes. * #11363: Remove the Setuptools integration (``build_sphinx`` hook in ``setup.py``). * #11364: Remove deprecated ``sphinx.ext.napoleon.iterators`` module. * #11365: Remove support for the ``jsdump`` format in ``sphinx.search``. * #11366: Make ``locale`` a required argument to ``sphinx.util.i18n.format_date()``. * #11370: Remove deprecated ``sphinx.util.stemmer`` module. * #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. * #11372: Remove deprecated ``sphinx.io.read_doc()`` function. * #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function. * #11378: Remove deprecated ``sphinx.util.docutils.is_html5_writer_available()`` function. * #11379: Make the ``env`` argument to ``Builder`` subclasses required. * #11380: autosummary: Always emit grouped import exceptions. * #11381: Remove deprecated ``style`` key for HTML templates. * #11382: Remove deprecated ``sphinx.writers.latex.LaTeXTranslator.docclasses`` attribute. * #11383: Remove deprecated ``sphinx.builders.html.html5_ready`` and ``sphinx.builders.html.HTMLTranslator`` attributes. * #11385: Remove support for HTML 4 output.- For PSP packages don't include documentation at all. The building of Sphinx documentation is so complicated, that it is not possible to include it in the main package.- Update to version 6.2.1 * #11355: Revert the default type of :confval:`nitpick_ignore` and :confval:`nitpick_ignore_regex` to ``list``.- Bump to version 6.2.0 * Require Docutils 0.18.1 or greater. * LaTeX: removal of some internal TeX ``\dimen`` registers (not previously publicly documented) as per 5.1.0 code comments in ``sphinx.sty``: ``\sphinxverbatimsep``, ``\sphinxverbatimborder``, ``\sphinxshadowsep``, ``\sphinxshadowsize``, and ``\sphinxshadowrule``. (refs: #11105) * Remove ``.egg`` support from pycode ``ModuleAnalyser``; Python eggs are a now-obsolete binary distribution format * #11089: Remove deprecated code in ``sphinx.builders.linkcheck``. Patch by Daniel Eades * Remove internal-only ``sphinx.locale.setlocale`` * #11247: Deprecate the legacy ``intersphinx_mapping`` format * ``sphinx.util.osutil.cd`` is deprecated in favour of ``contextlib.chdir``. * #11277: :rst:dir:`autoproperty` allows the return type to be specified as a type comment (e.g., ``# type: () -> int``). Patch by Bénédikt Tran * #10811: Autosummary: extend ``__all__`` to imported members for template rendering when option ``autosummary_ignore_module_all`` is set to ``False``. Patch by Clement Pinard * #11147: Add a ``content_offset`` parameter to ``nested_parse_with_titles()``, allowing for correct line numbers during nested parsing. Patch by Jeremy Maitin-Shepard * Update to Unicode CLDR 42 * Add a ``--jobs`` synonym for ``-j``. Patch by Hugo van Kemenade * LaTeX: a command ``\sphinxbox`` for styling text elements with a (possibly rounded) box, optional background color and shadow, has been added. See :ref:`sphinxbox`. (refs: #11224) * LaTeX: add ``\sphinxstylenotetitle``, ..., ``\sphinxstylewarningtitle``, ..., for an extra layer of mark-up freeing up ``\sphinxstrong`` for other uses. See :ref:`latex-macros`. (refs: #11267) * LaTeX: :dudir:`note`, :dudir:`hint`, :dudir:`important` and :dudir:`tip` can now each be styled as the other admonitions, i.e. possibly with a background color, individual border widths and paddings, possibly rounded corners, and optional shadow. See :ref:`additionalcss`. (refs: #11234) * LaTeX: admonitions and :dudir:`topic` (and :dudir:`contents `) directives, and not only :rst:dir:`code-block`, support ``box-decoration-break=slice``. * LaTeX: let rounded boxes support up to 4 distinct border-widths (refs: #11243) * LaTeX: new options ``noteTextColor``, ``noteTeXextras`` et al. See :ref:`additionalcss`. * LaTeX: support elliptical corners in rounded boxes. (refs: #11254) * #11150: Include source location in highlighting warnings, when lexing fails. Patch by Jeremy Maitin-Shepard * #11281: Support for :confval:`imgmath_latex` ``= 'tectonic'`` or ``= 'xelatex'``. Patch by Dimitar Dimitrov * #11109, #9643: Add :confval:`python_display_short_literal_types` option for condensed rendering of ``Literal`` types. * #11079: LaTeX: figures with align attribute may disappear and strangely impact following lists * #11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or more reST labels directly precede an :rst:dir:`py:module` or :rst:dir:`automodule` directive. Patch by Bénédikt Tran (picnixz) * #11110: LaTeX: Figures go missing from latex pdf if their files have the same base name and they use a post transform. Patch by aaron-cooper * LaTeX: fix potential color leak from shadow to border of rounded boxes, if shadow color is set but border color is not * LaTeX: fix unintended 1pt upwards vertical shift of code blocks frames respective to contents (when using rounded corners) * #11235: LaTeX: added ``\color`` in topic (or admonition) contents may cause color leak to the shadow and border at a page break * #11264: LaTeX: missing space before colon after "Voir aussi" for :rst:dir:`seealso` directive in French * #11268: LaTeX: longtable with left alignment breaks out of current list indentation context in PDF. Thanks to picnixz. * #11274: LaTeX: external links are not properly escaped for ``\sphinxupquote`` compatibility * #11147: Fix source file/line number info in object description content and in other uses of ``nested_parse_with_titles``. Patch by Jeremy Maitin-Shepard. * #11192: Restore correct parallel search index building. Patch by Jeremy Maitin-Shepard * Use the new Transifex ``tx`` client * Fail testing when any Python warnings are emitted * Migrate remaining ``unittest.TestCase`` style test functions to pytest style * Remove tests that rely on setuptools - Remove alabaster-0713-compat.patch upstreamed patch. - Update intersphinx links. - Install filelock python dependency for tests. - Run tests parallel.- add sle15_python_module_pythons (jsc#PED-68)- Make calling of %{sle15modernpython} optional.- add alabaster-0713-compat.patch to fix testsuite failure with newer alabaster theme.- Update to version 6.1.3 * #11116: Reverted to previous Sphinx 5 node copying method * #11117: Reverted changes to parallel image processing from Sphinx 6.1.0 * #11119: Supress ``ValueError`` in the ``linkcheck`` builder- Update to version 6.1.2 * #11101: LaTeX: div.topic_padding key of sphinxsetup documented at 5.1.0 was implemented with name topic_padding * #11099: LaTeX: shadowrule key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11096: LaTeX: shadowsize key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11095: LaTeX: shadow of topic and contents boxes not in page margin since Sphinx 5.1.0 * #11100: Fix copying images when running under parallel mode. - Disable test_copy_images tests as they need an internet access.- Update to version 6.1.1 * #11091: Fix ``util.nodes.apply_source_workaround`` for ``literal_block`` nodes with no source information in the node or the node's parents. * Adopted the `Ruff`_ code linter. .. _Ruff: https://github.com/charliermarsh/ruff * #10979: gettext: Removed support for pluralisation in ``get_translation``. This was unused and complicated other changes to ``sphinx.locale``. * ``sphinx.util`` functions: * Renamed ``sphinx.util.typing.stringify()`` to ``sphinx.util.typing.stringify_annotation()`` * Moved ``sphinx.util.xmlname_checker()`` to ``sphinx.builders.epub3._XML_NAME_PATTERN`` Moved to ``sphinx.util.display``: * ``sphinx.util.status_iterator`` * ``sphinx.util.display_chunk`` * ``sphinx.util.SkipProgressMessage`` * ``sphinx.util.progress_message`` Moved to ``sphinx.util.http_date``: * ``sphinx.util.epoch_to_rfc1123`` * ``sphinx.util.rfc1123_to_epoch`` Moved to ``sphinx.util.exceptions``: * ``sphinx.util.save_traceback`` * ``sphinx.util.format_exception_cut_frames`` * Cache doctrees in the build environment during the writing phase. * Make all writing phase tasks support parallel execution. * #11072: Use PEP 604 (``X | Y``) display conventions for ``typing.Optional`` and ``typing.Optional`` types within the Python domain and autodoc. * #10700: autodoc: Document ``typing.NewType()`` types as classes rather than 'data'. * Cache doctrees between the reading and writing phases. * #10962: HTML: Fix the multi-word key name lookup table. * Fixed support for Python 3.12 alpha 3 (changes in the ``enum`` module). * #11069: HTML Theme: Removed outdated "shortcut" link relation keyword. * #10952: Properly terminate parallel processes on programme interuption. * #10988: Speed up ``TocTree.resolve()`` through more efficient copying. * #6744: LaTeX: support for seealso directive should be via an environment to allow styling. * #11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with 5.1.0 * Require Pygments 2.13 or later. * #10944: imgmath: Fix resolving image paths for files in nested folders.- Add pygments-2.14.patch in order to fix Pygments tests after the 2.14 release. gh#sphinx-doc/sphinx#11067- Update to version 6.0.0 * #10468: Drop Python 3.6 support * #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner * #7405: Removed the jQuery and underscore.js JavaScript frameworks. These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the ``jQuery``, ``$``, or ``$u`` global objects, you need to update your JavaScript to modern standards, or use the mitigation below. The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add ``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call ``app.setup_extension("sphinxcontrib.jquery")`` if you develop a Sphinx theme or extension. The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and ``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory, and add the following to your ``layout.html``: .. code-block:: html+jinja {%- block scripts %} {{ super() }} {%- endblock %} .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/ Patch by Adam Turner. * #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:`dev-deprecated-apis` for details. Patch by Adam Turner. * #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables ``c_allow_pre_v3`` and ``c_warn_on_allowed_pre_v3``. Patch by Adam Turner. * #10924: LaTeX: adopt better looking defaults for tables and code-blocks. See :confval:`latex_table_style` and the ``pre_border-radius`` and ``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults and how to re-enact them if desired. * #10984: LaTeX: Document :confval:`latex_additional_files` behavior for files with ``.tex`` extension.- Update to version 5.3.0 * #10759: LaTeX: add :confval:`latex_table_style` and support the ``'booktabs'``, ``'borderless'``, and ``'colorrows'`` styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671) * #10840: One can cross-reference including an option value like ``:option:`--module=foobar```, ``:option:`--module[=foobar]``` or ``:option:`--module foobar```. Patch by Martin Liska. * #10881: autosectionlabel: Record the generated section label to the debug log. * #10268: Correctly URI-escape image filenames. * #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner- BuildRequires just flit-core instead of flit- Update to version 5.2.3 * #10878: Fix base64 image embedding in sphinx.ext.imgmath * #10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner- Update to version 5.2.2 * #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.- Update to version 5.2.1 * #10861: Always normalise the ``pycon3`` lexer to ``pycon``. * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the module-level docstring. - Remove unneeded spec hunks.- Update to version 5.2.0 * #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA’s build project as a build backend. Patch by Adam Turner. * #10286: C++, support requires clauses not just between the template parameter lists and the declaration. * #10755: linkcheck: Check the source URL of raw directives that use the url option. * #10781: Allow ref role to be used with definitions and fields. * #10717: HTML Search: Increase priority for full title and subtitle matches in search results * #10718: HTML Search: Save search result score to the HTML element for debugging * #10673: Make toctree accept ‘genindex’, ‘modindex’ and ‘search’ docnames * #6316, #10804: Add domain objects to the table of contents. Patch by Adam Turner * #6692: HTML Search: Include explicit index directive index entries in the search index and search results. Patch by Adam Turner * #10816: imgmath: Allow embedding images in HTML as base64 * #10257: C++, ensure consistent non-specialization template argument representation. * #10729: C++, fix parsing of certain non-type template parameter packs. * #10715: Revert #10520: “Fix” use of sidebar classes in agogo.css_t- Update to version 5.1.1 * #10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean`` iterator implementation. * #10702: Restore compatability with third-party builders.- Update to version 5.1.0 * #10656: Support `Docutils 0.19`_. Patch by Adam Turner. * #10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``. Patch by Adam Turner. * #9856: Deprecated ``sphinx.ext.napoleon.iterators``. * #10444: html theme: Allow specifying multiple CSS files through the ``stylesheet`` setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings. * #10366: std domain: Add support for emphasising placeholders in :rst:dir:`option` directives through a new :confval:`option_emphasise_placeholders` configuration option. * #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify. * #10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by Pradyun Gedam. * #10648: LaTeX: CSS-named-alike additional :ref:`'sphinxsetup' ` keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives. * #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy * #10599: HTML Theme: Wrap consecutive footnotes in an ``