glibc-html-2.26-lp152.26.12.1<>,GaW/=„*XB(roq*KVz&.5]`o6+ʧV"Ut;|S_2"QwB[M4[(C^2;U +d8Fž4M%bp: 1^n~K.Պ[18nsݥ9#ɳ Rc0ڠik֣,4һ0@GV?$UFBG?%eWhZ̭zKU#SS,WdHOMFٯfa̤@-\l,S>;2 ?1d   I% >Q|   T # ܑ l JlO(k8t|9d|:a|FFG\HI$XY\]|^$5b$[c%d%e%f%l%u%v1z11111Cglibc-html2.26lp152.26.12.1HTML Documentation for the GNU C LibraryThis package contains the HTML documentation for the GNU C library. Due to a lack of resources, this documentation is not complete and is partially out of date.aWobs-arm-11~openSUSE Leap 15.2openSUSEGFDL-1.1http://bugs.opensuse.orgDocumentation/HTMLhttp://www.gnu.org/software/libc/libc.htmllinuxnoarch=%!$c*>GC;%_Y3)e,_/zhW\*#( !(u. $89o"48/2*Hk!T\4P!/7@7/!@#Tu1;c;">(R#q0Y=_*i|E+\6!'*$&!3Q,* +?R4UE8YNDu/}y $o e # P*50&093Y nU3' 0)"F-~5)*{/O\J|xB/wl4" (IuN~e&V(!K)3)<&wRX)4i~2@)#..e<u%#*]<" t)F>%%}.*K?Yl4)HPI%9' S+%j2'o))! 'Q&-O%31T'>*lF -;5m'R 3v0{e)6 ? @jku3YG%8"'s(ey2!njrQZ!$!E+)_,0Z!mB ZG##j+3]"`k#(/+5^/%q%T-l H")5"d<4$b"fB3# #\H '>b5- #~'!{, :+=%$$#Qt3}<!v#5@0!R=u;!-'3L4'$[A"Nwo#'"-To'9R,9Av%!b.3p4EF^"###q%"6V&C!65C%+#r< wd$! $1,{L>f1]*&-'[?r&i *!A큤aWJaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaVaV76cfdaa8d0b20c72d883bca91ec9c4243b43857149d9d2b6284d1cf512259c1fa9f0ebf22a41b26243fc828efc2a3bde5399e875e91617274404d412428fc9e05905fd2fbb810b3ec332e80ce6e3fdba9e91ba7b9028a8c623b0290b1a4c841304a5fe3029ed6ec0fabbd8e396744c795c06f88fe4c2f5eaf43587dfe1b10f35a838b04528a3b8fcdd91c1616b615ad5de918aaca4b79f7a9026083ecea12f97f2f468d0005b5ca19c4acdb43eecf9126160bcf9952aa36450f182d1470245465c3b6c5edfb46c37c24ec3f7842e1055b2f43ad2ebd48dc0e972a471e80808c0a220d0cd10612a10170f27c34834587e88df6457e03918239c5efe772e85905ab5b390f2270eaf89425c00b771eb6f08e8b7f062e7da54de7662af20717faaae426fd894e760ff22db7cf4d855f0e8d69c0f33b2cada21d9b78a2aa4c402f1c1bece970395bab8dc22162f2ac2a8f01e3fcc4dcafcb4fe2b4627fa0a30fd431a36269a266d79af147e6a720be001e58bdee50bde98ccdb12c8920797d2c8a557403d06a43d8a3f9e48c1437e28efb77e9e64aa6257ddb3d06e028abc50a7f10d58aeed18ca5eaccb6146ca938b2d7811894a3bd68d59200242bbc5454f77246f9f137caa3c72e618bff1ee652d7d0d4bbcb85c422f8d84c6b4a020af300f80a42bc84324252f050d5dab1eff4edf16be561f4c37713ba5e47c4fa3bd2e06c06bfc020fef50760d0ed31d7dc206893fa4dd4ab281d55cf20b49ae9a9a9fbbf005eaa33bc24f43d32b95f64fdefc7b340e4b16e55b4b284a2fcf3c328ff3751a85ab733852561d3868ddebcb2c1063e34ecfff02c35f2795620cf871f028b47a497713e0fe5684f9286227dbb7aec4c2abf8512336f6f5f597f874da60aa2cb419e6e28908027a7d085b3f00e15b6bab97188e6507c8600b04c32564192922450c2d6b753198caee4ef777bad13893a27a29e0d2202ebc540a8389927e4c0f8d9c94d9adaead7f154c67a603857e3dd34876ead9818da9cd84d29b3699523dd3e1ce8e7e3ce4eb712ff8c15b7647e8e101e53272568417855aa98ee99fc0a7fe251e3ca231fbc2991c5a02f6c36698ef33a107b5fec0bd3180aaa686a1b7c9c772dc15b16a31f0a156b724fba6d201805fc3f48e276966e847939c547215362535e5adb932367aa0ca9e9daf6db5fc099cd8841442c205c6822d965528d9ba159e5223abaf0eaf629ed8a1d5f1bca9194e70354b32c16b4fa5da34f60c3f5952e0f027f72542f5d418d80ef890615aacf9617d4ed629ddc4a74c6e072dac42ec5428ef5c7fd8773d81265613ce3ba0a743507aaebee2ccbcdc8aad9b45ef6b97228a5caa62b4680d6e95509e613dbbc0a1f95e4874f0cf30b481f2dd96401e881dc5a4b62f8cf13b4ae383124ab42ef3a994e113b68373eba313583fe1b15b59ce4ea14dab7044acea02e26ae23ab0b26f1529df563a1ee4cabb047817ba8bffd9016a9667dced21ceec0f4aba0f4e2ed30324d6697be3195dc45d55551185f9c482ddbda3dcbbea4024d95420f5d3a2089a1eba121be249c4fb14ba0e5989459adf02c820ca13b7c62317a4d0431e2faa942b43bdc83e51f595bca3d508c26e87802a3b8a144a6be86b94b34b509216a41ca0d1d1492df971afe31636083d7781c91c48f70ea3cc038f036d00cb154eeefecd7c80a5bc886a42e45219c7031104de3a4a46d793f302a5a2dbda76c668546a15d2aa85d80a59baf8fd6f4f209ab7f6498b8284f158c0c938fe6980248c98a37234fe89069f73bc7b83ed2fe1d13cdd923477c105063eaa77e80bdbcc8b767256ef5215b8bbce5871a8bc32dec294a9299e0a3866e7f62de2a8d889e8dec08d14ffefb0c9a13cab830e6ae0ea336970b141f46e08907c7275f27c7768bda76e2fc279d74a67b0afec42553d87d2cf7240fb1bb53214d522763ee42a90c8cab3e645e4c41eecb1544f04128a8aa95740dfaccd8df34442e9d58ae7da490d312d01f44f975b618bd2def10f3c5d58e6d5c44f70f75fd85ef5f307af2c4e82904b7609ca8888ff6c325c217bd5a291bf18808ae2d787fe756e50603fb7635adf9acdb81989008390aa4b975fb466a0b55f6499d64bb71960a36513020a42ff3defad4534c61e9d084d16413f2dad62d2478b18d9d557ef9420b97a343b98cb0857b147ebd6d0ff9772651bfdab4ba7b3877aa9030be8a385c875e13d711ade1db8ce7092303e8c07a4f7702122965ab2a7d9b1eb4fcff33590c495c0eb61dd4decb2fb4bc03098b5eb319e244d8e53cd48a3aac93fe6981e9a8a50d4c3bf54f9348534078f9b354c186038e23fcb778f2aa58f718e07d4cd3c73abe3418702c35d76cab6f4419c3be0e0c432ef8cb0df5195aef57f663f3bd4fe048c6f1713105a55df509d5a514e22b46538a390d419904117fb92e7bd59e37804c8abf5d926bad7291588aeecf1d53f6f14db9202b60d6708379742ab117b6be7ce775cdf1a341601ec5e1bee4d5092767eed53778822d09c9c107b1edf5e7074435ff034808801a0f59b1742ed9729715534210e1a73ec286cd478236a9271d3aa21ea404133a30ba85dcd5d3bb44ab42aaf32b965adf893ed5d4e8bf994e6605f18dac274469699da2a1aa427b915184c8e8d6a8b96b200765cc3a5304ab11c80900705faaa75d714ec84f9e8896af623c12d792fc39a5d1ef89a789722b7620c1c0e6b782b8d9828d844554e04cccb0d8675113d1e348190e82abb97f5c41902043032eba5540c56ca1e0490dca1f2b70a3a1ec81a4ba813bde1bfaf2b039749acfb9a1714724157761fc0920fb12bb6c2becbdb043cf42b667e5670412747318a65fcd7e48f24be2213bd38c716edc1cf593602c82d34e6c0a74afd6e5b5415cf638d7c4ab49c74e788505fd6ab71657ffe10996c11841f24d553ebd3cc47f5219b72db251e0464ca7aa8336ff1dee79dff79c493e569810342c29d9d4436acadce90c3ec8109fd773c16ee292613dc3f204be44c487bb53917c0ba83d8100c544ca07c6d05cd08f4ea83cc87e728cdbd09adbc55920b9a02cec9be400cbfd31288e4d83a24391a982600b9d8ceeaceb0a2badc1b884b1b140d7a1df3483e100c7f20cd5ff9b5db4974ededbb6088dbe627f1615c8c83a746459216f35460df8a8451c199fa4566078f29199dac739b836fd79227937ac669059359e9172660c3671d69cf79aa2730297a49ecf8476061051e5463aa4f74f0736743c804bcc9b7b107f3b795cb11d655eec424ef7e04a233eb7fd7c3dc619a04c1a0438998e9e732c87d1e709ed15719b31f51f607df0121b5b28a0b9db5de6f9149de012f8a0f8bbc4faabe76eefda103a3b745283bc328d5d3465b600840f2da20883e5e91d8780b1de96ec8744f6b2371c731208020dcfec928a8a91e87f0ee8d5bb1617a9041a9961c8e44af440b57e8219f94f9051b65701cfee80966fbd5147036a2f0e0c79bfb8e41f86970df752e6e50c080d0d9921f1d1d33451233db5a2b66d7a20d477ad2811334570558a131027ac95d42b4252ab75a22ef02adc7180b0d61c35d660c25b9ec2858e68028c94c3d7ccca39a50b8ef5f1e4b73553fb327387bd917411fa37c17db208bd5003d823fc30ddcbbedb7cf97a6acb0d2f7878c36e7ecf6010b26fae5785d95e9561cc33a2f7fe330c341cd80cec601e5b8395b26e51b8a3bd53aaa31b7a6b6ef2df94fd066a15659ff5202d9c5fe8c46f4fec8d4507e2d0e4134e8ff724f9cb93345f8d2cc7d05cb30aeb6b7716de7b4909a1d334330d79945bc4fab5ae1672c315b86bde91294f8b166c976f71c00605d8ad10cacd5fff21175e2d55b4d19d291e89036f66521e69fdc0440d544e3b0caeeb1029d5720e32312a4fc5d5528376bf6bf4d960a25fedc38145c84ebd77804cd306a872fe9fc75421d479371e756fea96f63e5b1223b8b87fc3d823160a14ccf15b14d63e948d5dd46c2d1b416639a8c9d2e417bd3d2254b5a328c2e0be767328cd3cc1b5a7e2252ea1e7243e33512ccc62df3caa9789b68a474dceb9fe699403c2cef4f0fdfd3aa4ead01b61c2e7805063253997c782e8f4fea30a4d57b9f7c9cce4f44f59852cc0ed06c0d45f3ac5514cef1f3f185ff6bdbfba0eebd40da679cd68c4e2ac0f68db5f289850f5a035ef40e31c355e79adad6534dc76aa032e6179af2e5918622639632ca6640d799c24200bab22778b8eec71192d7c1719f4424874f160f1d11f65a8e82fb4fb71609f38ef3949ed133fa71ac56f24656d1e74b7aab46c9d0853c5a491dfb774afd687d0ae8ee91f71e7fa46076fa7f573bb54c0fbbf4aa0d23fb8d2e15ff55451ce2d0f3f89c99c688402c3e2c8ab5481598d0c3e1a7bc355651584f27df8f84c9fb90492a19477876f8cfda984c49958391dc3d7a86211ba3ff12f0dffd50de6f682e2528179985565ae1ab14abceceb6904b0cf464e84e51f5249f3cc1fbfcdb943f94f2268ed43b8e4d8d8a3911b544d498d32f36a02c90fdf437ba695d905e3b2284704c89860e45bc45f54c73d4759f74feb436a2360a722bd75062ae6c7038787cc511094c27ce93787eeab8cd2fe64348d0cdafa79f36d8a8cb9ae7a9b760db72d3ba5fcb9f1225de1df6fecf9b4dd7c9c83eedf96c270119c90c2d7e1b7c5c440f202fe8d14050c6344860fa92c0000fdf3a774db79f9e0f92be4544c3801067d16b49023b93d842a2599712cad6b3f92da2766ca9c9c0dc3af46494917a6afee8051071935872ec96c9f7df8fd36ac8c1b1ca426664b899b3266778ed9467197fcb675692a39cba2344149e9e4a65f4c95da5fa3f4edc1eb52a135623805439656eaabb96750e1603d9d4872fb039459f1445bca063ab079f3dcffe60242d3163e5bfc3f1aa2dd5474a94047afb43f2849007080bce88e7508d4581dfc5e0d06cd2a2c0c591df86e3950669c163b83e34aedc00651cb357a46ee028210ba93cb7688df50636f7c056b390fd89a14840025d27513785d98bf483f9cce25f8f924ca66a5ba1f60e2daca9c14b155be61c55cd05af625003f311f345db057fd362f7e73ed9639fd8542cbdd95aed13430c6ab8a765d380d31dcb3ef9abbb7b304247be60b46ee86017b88472b6eaa8623db5a394aa88baeb242d633c75c7494a6d05648bcfc27c2ec7913d3be1d1a26f23a1e57922d1c9cbd51483fbadbc8e3e9e2aea5d02b82033d23cd3f313e0fb6e328d9a3d52f576801b56c0f9a81839adc264cb4a71809b201f938d044c6a6979be13e9ac2ff332810000d011816c17055387a8d3bbc981da8f677eaa00e6bb640c055d8b86dd82bdc3f7584544a4cd29d523b96ebf7e80e95c53481fba81d3da72e6ab418d42a004a85d4bc495c3cea2a50a92fd81ccdad1acfce23ac99b926bb6fa9e62abbd440c7a6e521948b55943100d27338d15ffcee2cad9f229d4411fddf95eaf2150099758ed27c00b3f31cd6db3115fccf7c0192b25ca3a91a96fcfb6978c83709148dddb7fcfc54cd7e1237056e4d8a48fc79711c6ed6488eb25422fdacee42135ab04e205b7b1fc727ed1d28af4853b3ede3133503d3435b9180a1dc0cd7e0224c79a5c78d073195476081c256d1a7c4230da1470b514e9ec5c21e844636630c14ef4d5d6abae6b1c7cf4e32ba404e9f10a00561682cb324b273f93cad849c4c84397fb78033d7e2ddc33b96f45a14cdae4b278e595d2fd646a93188d73bc03077392b0ed99a58ef4b6f60e717fc9f250d7889e03afc17a24c45f7b36dd91de8aba69fcef84bf93dfb00d8e2770eff8051ef5f0a4ef9bd4e3f8757b867361f6a440961e39e2e5013d5d4b3b8a6f28d349ef4091e3d2dd1898256cee03608feb48fad4735b02500a4d90b61b5b105474d5a5654c564a254a95c29ae5b35415eded03ea4b1474f9bd51254a971bb7df5a45cdd7fff15e7c8d83413039b7844110be39aebca6f90f00223a4e2c786963c95b66fcfc1f79a4f0a87346523788d3eb6065b7137ac99eedafbbf6d590e57c33edf60f81096f64980ac294e52e07a0479d38cd7a1ca654719ee031bf86cdea66af5c2f3ce805d09524e9d0a00ba015d0b623d998b83012fb4d51caaadac012bf9dd06d56ad72d8da1b8bd11e30931e2cf7076a307517aa27561168d380702d3af3a736ceec7c6e4a0540c394f8389ba576a92f2ecbf95ac7dc4cd9a7a9c72e5f545396a86e15ede15841b825492562b76e7f68f0ee413d83f79738b5e9a4a1a9e9f6f958ebc280d98c41f0ecddc2af3f63d1b4b50e0ef06199a8ef34daf0bb59dd203de8022687532f0960d4d0f99b46faf21cb34e9b23e174b9aed569e36803aca281b27cc952f5cca9ab0e3bfaaa646198882c8a587959937f8cf3f470aeac462e9dc9d782f214dc31b5374623dcbd07774fff8f446389b6f31b2c8fea7f285587b1516b17d59e90877dfa9fe9adbcb312575fb51ccd6b97d77f1ec36d7d520a6404e26eb4af4064f3676f6f06a1282ea13b3319126ce6f5a6569b8ad3dab9be3944f3dd4610eeff3a5e50c2626625ff4b511ae242916ea27bbfd0b8c37a46a634fe25db39038aa129dbde7ca00a3cbc22677bebe1cc0f1a4306dcc89d5272bdadedac57c30907c5ff62584f6f9bdcec58697a4d89772f851b18b6437c61ed7c7afd2468d437683b551c00addfb0a11a3ee5c56a20c949068a4b4ad98b03b8c36f5d53f3898f103a1796b845f7d23365709b36a317d67031ec92279486e944219539ae907b3ecdc2f9de81e1a23df15b36c8d73b4760b883fc1f33c5c1973e11c73c3dccc9153e8d20b32ef6dd72eaaae3587f3f85da976ea293020fca6978b60ddf13e633974ef322bac549cd42db9a3cc149803c02bad7459e2ac7ca326afdf73436817e26dbfd6fcbe9d4fc5d9c78f0035abfc2ef976a3e537e298dc60203eda97940e3022847041b70e9a2ce591bbe63945f1b5412edc783d52dfc403104f5045afe027741bf14c8ea9169fbf8295f66078896b0d458e593229473dfca83d0f2da61d6dc5adeaf75f7d15e6187f86c505a445df02407cdbe31cad2134020f1ef20cc9d9d1bd17fc87ab3c5701623afa748886794fbcc489efb601122cb9b82308ad47a8160a199ec3e83ee9a0255d278e2512134b2445ace9ce2d1a8425f8fb548f4a3fc6eac8cb1eec4b8425add5ed135d22b66f463eb04cf06cc8de141278e8d02f08c5781d486ba6e4ea116eea4e41bc35dd260c8a709c0382001ab7ad10bc07fdb3fde334b8f9f8179ede97680b9f03b7b9a62e1abd36b71d607279b248d9673aaa5b883066e3e09238249f670cdc10c618b654c8fd61aa1d5d8511ef4ccd810df6021c7759878551f5441c7b838523140aeb807be018749997170669e3b79613f21331e8b2b9eb7d39165baa338197a9084a8ba1920cb3b8a0e49c0e48bf762c57085aa0e42cca535d7f1f94579dbcef9a33064d04245e98c997aa20cb243afd3d136d2799ca1bc724254b020d24c423511da5aca41929042f5ef9bd6b24db7af1bd71715cb903e2ae479bd12c1581084523b231a969c569e772c25761a4b880e70440326123ad3429dcee0b6d292eda13d215eaf94e668f48d46552127fd29f1b811767c7681047c203fff6b8baaab68b8094ac47a82a03e9d00396894f17d4c3796cc8508dde5481176bf2d7e2c4f09d420426427d328052fac8b8d22edcfc38e536b9d799feb17f97c52ea8e7efcae417e9793099352206b9bb3cc571e102e04080a9fba147fc8490b6c7f9420afbecd3a9ecfde5464a47df28d862bdc743a4f4253ac054728cb820ab0bea104ad9f48bb8eaf1af677fac5603168139bee762a4a478e39b83a262609f1ffa7dfe9268d0896d5007965beb0f7dde03c33afb2944e35136f3eca66222d33a0d253913ca29285b6943a3008a6783a3f1334fdcaf24162280506477066ba12f19b6716679d121dac1b36e5b8461aeda367f387aa5e0ca0d10ea44cb233e0a883dc60814593f59208258fb11a95936d3c43255ece67f8e743d1f793c7a74f2f2e5ec8696148fb445a67818e9044a4387837657b4667fc1c7aaa77606ad9baa23b5ef9413311e4c5c9d5018ad506d3f586c6ad12a5c13e880bee016e03577f2920f2960b39f0dc853f804d49203013faa706d1f3936db23385cf9ef18c683e3c3589c29338d347f910be5ca117e85336885329bbe69c37d00a482e96bc454a67ac31afb0dc79910112e613214528c050b86f9e6ff1c2cb046daa2d4ffbbf66410c04c1d7e48515735979ade4fd38470c972859a7ba0569e114322b5a4e018cc8576df3ff70d3e2b02a834c6b2cb3f391501fe57fa096bf34e4df422fb6d521c801b52fc6b1b7e3da33c267c71309917582c08fec382e479879d7db5dc897fcd874a92e34134a3463005441983ba26df828914ffc0e78cf7c8bacb469caebf1c4e76dc1150aea791a80d9938483e89df6ee8b34e279ba9684d83228d14d5e1ff0595d5d0a984c1a960f7656eb2e1150b0aaf79aa6aa9e9897fd8e35ad49755dd1fc44752fcc0c29a8f114dc919c9a6d62e9c3bae51de50eb5681e1c8dc78117f6ae9bca774ef0377acc04eace7eea479cf4a3906cbb75f207873931e16939ba6ae3879d03f65fb599245cfcf4db71f38b20f37b6938a5717244a544e5dd47d9401d0e4484332aa11e77094595d3f6c4bd53b974187fd1806875b3cea1b2925d3fa6c6ee01f7e26b82492ca240c20875cb93bab40e62ea3ac4a879f9d3860e1f616802742362e1a1fd2beb579602a725b1cac188fee4d6c0d912e17b2632689fc97bc7a6fbafece6f82f435ea1d6a5fb51f454be0f0aa8e005a7f3aed25663954a2b5897a2411347c1aea49147621376d1fb31d698af25b6dc0e0bf8bb7a830ede81cfe4e0c8730816e8b226f376262b26bf5ced5283ea97cf96ab4b26c7e7758d1119634a4381fcff4bf6f77de8316bd8f28076eb067b40b58d10f8a15bc8257e6d73aaae8d0ca89b057029b0be92003e922908019b7b98d0a0f22bbb4bad1c15cfb637a4ff64d56df9105bbf11b3a6a2c26ed8f359666f92a57e1edc0da84d439bfa1cb0e667d83f4317d9ec095971472c324dd42bbc6f73159c710bfbef9f973315256b9a6104ca3ffa553dcf9154d3a4298acb6a5be725dee03996893534f21c848fcd42da8c72acb38f3f8fa2b5e0adbf95e7a4a7264e9aa10d17bea80aa610565f8f0af40a29f094b7f46977e63cc4888b411c19a84d0d3f14a5ea358d8d47ae6904d265b70257e8ee3ce0d76966d7983e89fa5329699e4ecde470d63b5d5d3e2fb2a43d2b1e530d267d8dc93165e376e67fdafc64186c114ce6bb9ed4f9635b82de35f1a5a6333c2875738b0f095dd7ee5232cb77f9e7841ad862ebaa5f9c420d4ad50129b0c9da08661d74a06604c921e2aab5cf7c8fb898348a1f4902a99064354d7be665824b4252e3969ba9ee05abf72060c69cbf536289dcf3763068230c586b410edcce77856d4be3797781ed0a052dd694051131fae28fc8076d66f121fafbdd04801e22d38736aab856ca92cb74148997c7ad6e8261fb0b6b00ce3a420153af166994e1d2951ce474b75e8a2edbe8f1ff835a9267ab43648d7b199d1db17c73101fcd9156f159183456c99e7c062d1a214a9b6e9380d7ab69782e46e97f3a4983b53651b00aaa4e509a9ffae0e303a8ff45669ad06b9cc336395db30971ba8c675300f838b552d2b1d1176a82a505957535eb7595fa7fa0600a70397cf3c1a61e1ecbff5b859655bc6eac7e05bf4c0d27e0dd0eec70aae9959d9b7e5693aecfd2cfdaaf8f89b3a36d67c23fbce008da6e9f386d7ad1bbd7b533e821a5cf4d675c62b4e9a9d822fd4b8ae6aa62a8f19cc32e4017e76509fc0a45e5be2c7a1b80a93a9060dd361b4ad28c204d7b29edb1c232cbc28efe0149f5785ae4620d3c83e60641931529beac6c7fe38c0e7a5b16b82ae5926b7191b56817a3bf99873567f2f7f001dbe7361d9655c5d28327c6e2029ddc7167af36cc6259bc01aabdd35013051f2a6c33a026df5ff3111dfdccda1cc4dcb19307dda2d7ac5edfc9ad58d392100f38ffe39b7a1e7af80f48c672fbc28646306a27e2ea9d316c4f988a63c8ffae01940ad40883c01c2bdfad21ef04479b531ec06581afc2614ff49c1329300a57c33542fcfdf56256587935f93b1b00e20143b8bd7aa54e0e56007e6eca2cc9f596da73dbeaa0661c58023a11a342f143ae84a337e80cef9e0fbb657b292993281155882540ac99ab0b3cb6de6980d5d9b468181633f45936751527484314918bacb5a925ff492fa13aa39413d915955e74b4c68af15d340823921d8b9eeebea83561435a828d393c789645803f8a47b271512d52608441580a8e4166290381242beacaf3ccaf55a3905ebbee13bf5e1c5331f0ac6461573013e0f784217e0c75dc573370761e081cd389632e4958c84b2594af7925b59a853ef0705419eec07d1d5ba5b38683dc30a053cb72935a30f87f0936e1f4ec092390d0c085ac849bca22c5f05d077174efb8f15e0df890963e1d74544a6411e6844c81c1abd5b26a4a42d9997cac030efd60fda7685973b9567346bf6637f063cba2a1e4c20154880f7af1b491b94ec7a5fa42b9ab962efb755bcb173ab762ff0bb540f23de90b811700fff00d4b65b8ea271cbca4bb3fbac0a76e9e46c6cae6da6d99a310c21e6c576fcdc17e4b5a9140919c4a6ef4f4f044ec02f55b8771d0ea3db9d37756d9c2266e7e0508cd6034a5e944255ba27433bdb1735bafd994497b41d25038e640837d2cd2c532f3d96e97044da99a643171a55a4f9f1c144ff5774b2b6a58553f4b75fd156c186b8f4b563cfd848e66b5d8bec4ffc27f2f184df8cf0ee4f20a0869fb7be94284b9c65e6fd351b1511a85b595c8809646124530673a7688f9e15cf14113a217b878351993a484772af07008d0d9178316c8797afb448c8a9dcb1210c94f2e7fa3ca3480741c518a4217c356a756625717cf590aaca3ad47ebb5a3e0cd9a9b8b1babaa5737fe4a01e12e482e86212c8b851f8b793536daaa7a940259034d87226bf0b268bd0678a260c4e785225e731fe1e656e2b104408de9213552129ff074985b6fc510d24644980bc7b35b353125fcaa1175856e0eacfa32e8e6aa3053cd0d91750fbcd8758daa91fe5a7e7bd77bc5e54d0d60fe5914dfa135b75ee8ea51f400a05b5269ba4e4af8e0d7a13475e07d7d9c0132022e3772ba7fe531e1811eef5bcc90d67eebe6aae67fc4b4a760aa57515bd2c2a97efca1ca6365738dffb43559746190355ea4abe0a888353464612d13cf8f20710fd3f2b6cd19519aef8c917e836b5b6ebee93846c378be3c426914467ca60969c472e2245f1330e4621126b18e3ade3718db27659059c64eb0f0740c8da61f72167df784a10b0d4f94044160ac5278c2a0cbee50fb71d359d1c98505d005b2598727e6a58ddd3e3dfcbc616f51c12c5428fe757b2a3ed98673713c6a53849505d63e3c4f4892fa11ffafc73db883a6a6c590d3d75f4ae41e59e085016d6046f880e7d61d155782cf636b50f7c7557536139f648ce28fe114961eec2b8e37633571348c8ef10ce74608fcd13b9cf85cc77d02fff65409c3a11159539edf9e132edc5b61d3918f6fd48248f02a8564fe4afb4a64541afcf828f7a338253b0b21bf9667bc6d77a90c0f231bf60c2025fec97e8d7eafc598cb692effd6c13a432b2eb138fd231f9baebd8e52654f26406db046a339cb273ac21ad57d17d56b4aadad184d057d1ab499a420f1d08522ea76f4961657f378c1d981e376090d77928deff3fc7bcefd1d69c019a8abfd59c059d3f6075e125185740c86efa590994e078b0e1b97b0037c82e5566e82d466ac74c8bb5581671c18ed642052927431ec15d5d988fdb4ca3d4e0a88a43ae5a42e5965bc2109b1373d83fd91daa544e375ee6ac6f1ae4555af96794630fe5824de4f552d54fe0080f0688af4e5426724beb504e1c6241b7fe6557bb862c8e84f03681bb36fdef293e23fa432fe534a6ad536caee4e374ccc5a12d58e0547ca99dd7ddb922b6f7efc5d1fd9e570253d6ff2e18bcc99e51e493f887fbecb785be67e5b43522f6491543535cb8771974ef9b8df6ec6c81c5d787fe93e2f177e76193723fd29571abe96f89ef87e5a1cf7c7f7a38c82259349415a4ad89027ca961bb40f66122ec0651299cad09b3d7d8edcc6f6cd773e82f70d17effa51a758cf91d9be93169799caa76fb26a3a31d256fe790f54c56684e2701c69f9026f7ce0a37603977a6c70f1d9cf44842d47dd3c05746bff32d2c95663ead95f44b9d906f9b6f0a04aaf4e4b0035fa7946b74d1aade06174cec1431123a0960af0e36ae2224b6addf3bb50cefdd3b3e0925c4ac58f696fdb9c59328cf97416009011968e5d39479edf1c7d32abb16a418114f1ddd7ee641350920110e9e51921a10b34010cdff8c4b096dc2e66855784e261bdd7992c8dccd06409165983980e7867407c4a342b37a697fe9788fad9fe778597a3f6451fea70db235071f469e075cb4a1ec3842d5db012df2295ce1cd0ece41902991a6df311fec17a51ad281a0001349bc0ff49796741088525be15bbaef61fc2707c14da6607cd17a969cbb5f524be0a4ed1bfb533ff6259cd78bf854e4275f1727558db9d048e5f7cd1f1a67e158d8486d4b28c48ddb9f00f2c23db1bda0debe0b357f51c748adcdf6878699736540473dbe641128dcbe8be369f41c0729ae37fe7d20634d2194c2d33f9912258be33516cedb9de06cb780ba1e95f109517220525719cdfe4f33862d3e06ee4be806f1aeb671611b12de73d466cb443dde0303e3449a81172d452e626d7946e7ffa7bd81b07c3d4d4efc94cb91dd40889cac0cbad7be6c64b0c9ce154d4ae97a7a0088bc19b6023ec79cccf31e3ab0085173e24c7596abe3d7861ec867158c439a5f6682c44bc6d7115663c3403ca0aaee0dda3d62901edf63e4c1415fad5421648393814b4a3c91de7cfdf7353f8317b86ac6473558c8ff5dd309382701ab6133d8312ee7b316e572a0ec7ed7cf22098a386669807d16c1e0481ab0ad4ef515255aa42783c806343299717f6975070ca41164a483a45daebd7895132731bf7029cda8a8828ddbdd1330b524aa421d94c34ffcf05da11d4a7caf9266cab363345429dfcc075f9516753f7dbbe3fb26befe23763d87c03a8134c51d0b12af65850e9672120180ee7552b381de6cdc8ea9c8e5b1ba486002e127a03f0a1e0de1fea78934913305a2562e38951ec9e52639e4ed6d84257ce842d429fce3cba5908bcffbb831f22b053e8ef3249bb6fa1a0dc7ed1e3cd544bc9846a71d0c3ce385b1a983e694dd916113a79b619f4a1f0056cfdfbd41a49afa447dda23ef45d4cc2f8ed9239a413f120734f86b068b739562117d4160c4118d61506347b968b1167602e0f9c43cd81cffa7023ab74832107bb4a8abb9a51ee149bbc473c80ae23726f2165051565b19c0af6483c77275d12357cd22135527242b48dddeb99e9fea2eaa4ec104817fcdc849a757f48d6d6e10510596e0fe9ee7b375e05253db3efafc7d58e67146f1795846004e60702cf3bd4dfe618c7d7455d4a4fd7c4c44bdb2f39601ef2668148afe39b3db3b0599cf4caf282ae5fb24441c5ce2b71114339f1c8dd0a06df7fea02cc9aa89bc9b40b49caa6ea43a19413d202bde4179d9ec36b6821a9565b9a54c4613f2d1a6904bd8082b9bf47119f560fdb33a7d25d9116970bd2556643bb3bac575f8b5389c0529c9706c8374346b1508eebee18464539bf9b1594d1cad23874bc4cb469caa2835593c570fb3f15d94688df80fc6e6358162e17b0884b6a87ffaa2eeb74ada06fc04cbc1be27700dbf224317d489bf37988d23807286e08ace84218bab667f9ad7b49051797a7bdee70101097c3cf579592edd0085757103fa0587cfa0572a8ac24c61dd3f7d200545e8fe5f4df4a19487aff591a6fd71237122a76cc09f12d921acb6314c05059101184c23cf3f6e8aad78a19afd0e64f3364b2a6ec5724c4b0bf4da97b9015603ff8780f18c8fb31e16b8dd3b0dcca2838e7decb9acd51d514b8332268af52901fcbb1ca0d8775888a0de321538a87d42622bc6df8de050b63f622036ec550c104d4e536cd161d4d906d7c013dc45ff04f0ba71ceee437e6ba6f34a03a18752d5bda56b2d3b98c4680605655d3cddafbf534bc042af1030cc2decd3005992226e3f5fbc4dc4f66e1092bc0eff1588046fe1ef165fbc79e062046d6948bca0134699763702a5dc7890e5e18d266b624bef8c1add07ce3ba981238e9d8ac43d41090f95f6f883127033d85222f09a23ff1fbf0af7afafc6e8bf9b02930035060b87c7c5c036d0bacecf980e988279391a94719624326fa33acd8e1cd67cdd75e6ad32ce233b193f85a9568ffa464649e9d350fa9d664f7f6be2c52414f3d00d7777bd4bb3c68738b0b01d9521930432a75259ebf1f9b3b953a959607c0cbff48e71d3612c0e06bca22332aab5fa213f8d120dc347daa3814d066a59b6d81440fa9a1e36602be437bb50aeedede2636cc17054a267d280d1fb088fb72b05182243365c9fa909dd2c8859654820b3de58177430ad362baea025b0fa394585520d36ff0546739e1754290c544b45ca86a641bddb5a5ac3bdf91a8c346578496a37bb94fc8f980f21a668f22f188335fdf2921e06aeae125c248e4f5ee115eb1a364d58bf636bae54821edccadf1271b337463810e527ad3c3ea2b3142aa7238af5408a69809795e0ea5ae2373a6e9897a43b66eb483b3101afe6140c6b85b639c092b68e01d28d9be6807cf560de5f1c099c0979e9c2e71f4f36f5ec1f393f319535a8fc75a876c32b947ce7accde621c95fb690cd84e7f8d0860f3c953132145376f55a322c43a1eaaae9346ec5a5143810005df91c8bb4f9b351125fdf4c61ce4d669667c45d8dfd387d399f9356d554c02dd9afbb12dcb4b0677ad3dc4c1b37b370cfdbd47f6f69fb024ae91957f1d9e97b46511ab97ff392577d0b0f08bde8aef8a0d6dd0cd6f2b880417780457f20e6f1f8a91a850200d9125baaa91e20932b68ccde0bcf9032c870e1fa22c591c8a0d9b1842426e826286d9fe128c3f87f925a2b99844a8061523a09c77a9d37adfb79d923e703ec401ed538250123a349e9eacd7c62ab46c0f9afcddf3e937595eb0325b3e88341b252591913e94a9ebc8611e53b1284a0305664eb4be857a9dac30f88a46efee67f312f7c0868fde7adb5a03dc84d0e4629c8a9d2c76bca2c8fcc4424429f2584bc2897a4759e56c4ae28c951962748ec9f581fc577e93b3e3660de99a8521ac823023aef52d57b1a0a41b803ab673df983c1df1b90f609aa67f21adda607375ae56e7415e5a5bdefa9450636a79d4df060e33d9418b832de75540e3cfbd9fb4da0b7b36154290806407e5fd98bf03e12770017fcc8565af10cf8a45998777ff03dbb689084e6c1be9775ffe8946410ac7eb4efb3b637c594b6882c3a3861a85aa5977f099f0d2976ec9402f6e86b33711d3e31680d956b71d0f17c4aefdf7bab758b60bce35e833d188394a07399ad7252f366acf294e1add72fd3aff225ff8892eced89324560755f57444c31ac42a89c413eaffcce14d1b68637b489793f8329d37ce68219eb5587a628a1b77b1c8828905ec313c6aaa5552389a1b91d8a0da2c562da4afdd420b298ad2c40e97f65eb160b4861ba980b9f510c0fc0927a80e6315caf76c3ba28c8417fae916f5e12ba73fb1357f8ad3d86905efe95400bf7e2d0e57bdb4a86a7c9034e874b587243d668033da425a8801d0e6a2df8f3c9f122ad2d7cbad5b15e445ae9d90102b51ea6b32a9dd9aecfb51c41d37eb81ec3ff76213db58ec0d8a5362b2cfdb27b5f31052c261c754cd109c7e59f971342de68c8aff44cdcf4e8213239ee6ab04923fd36163dbf0453cb44f17ec9aee80f44f1129c456e984308761d5c4e47198e5aa17278b73de18c913b32fcb738859351ce1a612a24ea6b5ecc3e045c180f2ce95ff0be5a9c856b4f9f4f8d635caf80709c6afd967cbbd37c6589b6fb97abe626a1efcca49b29b590d1ee98e5cd4e1be6105b782fe9fc48d73df8d54eaae4c48cee38f59242fc8f576502a8b785315cce90b39667374bbcf92af0a5e0b7ee662cd037f79574263e31c440723e591e9e6915db149527e8cf310ac775d6b247f33ae8bbf301e0be2ec8de82ee448656cbb3f6d0f9bd14974d3f0e327f00d6d2506d5d7626a6da96fd0ec763039a873001c26d74212f9178cf0f2669080fd28700d5ba186a90977b8d2139ec07d561509b49073d26ddacee4259d38f0fcbdad6949f5d2fe63dd7576ffc151c5d3cbd9de6de76202dab4edacb30ea88b26521787f67ff7f6b7baefb0a6f4c819b61d6fd4c5852a9e3b1ee9b9756f4da13e039153755cdfa1c3638d20957b1095f0afee056531a2c2b7756dae05c56ef26cc0f1373b1c35d87ae6f33fdaf1dca89aa484544d272a4f0c033c743bb4fc6757910ce7469d967c5483e1261f7ce93e568da18219c8db91dba49eea136a53dedda6a529ddd1a3cb4018b10df055aece3c4d90ab9f419670825c8d3efa73f73df03a441d2a73c324c28e7129f248287905578ff6410fa15b79daaacbdebeeb2bc996e4f4530703c1366daf58a4750f811e7d2d5eeb1318ad2ddfb4ea3c0bebb17a91751235dff2354f7728d1dbaf3c742748229770181b331a333507e2aafc49c04ab76a9b4fe1e8dc0ffe0d3d5f1cd27818af908a6cd89258f128be561d3ec5f21fc262bd3997e2648993dcef192f14eb5d9f2c078a686cda32c0a1d060f8e9246942a5a46978b6381f3735cc4734dba148f417046262b81c2860dd74e129b53ac3dada21335a2d6c3acdeb474a125210f4b6c916417c96ae19a0d8f20bf17dc01c6282c2347bdae0a56e43ee477f98de8010ad90a208d5e8c55b6922e8bc449bc2804840bce23cac3b2beea92d94247ddd7d11c5776726a626e579e99cca7aad5a7c0fc048110c0ff55018bf1c5b32c5811546cf14a927d00c3c6df5ffa731a53b549f0525df6a305a003a9eda53391722508b7efab2088a4ca40fc043b5f1ae499b317ef25e5c9f8e2f00450ebd8d4055392397ba3729df96be9e551635787433c3639431cf601c6edd7f290050fa597b75ecaf5ce5261a9f7b32d18d2feaec43da229240942703feffed31103747a0100ced4ace50a7f4b51e8e5873ac8d3dfbb95bc056b5c0f417a7473dfc2fb6619d9f8d91253ae6905ba9bd5224c9913ff7f30539a2c21b9afd22e145947267812a790c71a09892acd23e0703f37a694727432f2685af8274c7b030b4e932cb03865ae81640969bc0529af541ca55d47426d333d1c7ff7ea083a8adeb22703b53b37577feef59fe583fc69ceaaa83fe27d41b9ddbf2b4cadbc5cfe44a81c2cb1e484378bd20a653ce2fac311c4997bf8b84d22bc5e2ab830d7f4c201be059c7323a5a3c61f63195e9af66be55d50b7ecd8ef09b84663cea6172cb6b95d93f86b969716514d26893e0ae107ef17f9d0aacec6646638faa0799f250d232046d33ffe27fe44cf93b7dcc35a9800195df2bf02fc32e361bb0f6c2e34df688f572b8a84fc0771ae1e818580c0ba099bb42d4f22149a39b1b82553a438e87f129eacf006d07bea5e8835b800bb380004466f1b4db2caaae7096fac38c2179be3640372c8e02b439020d62bb21895cc8ff079c98e3a6e62e345c7110d39f25e387a5b3375d1829d10756a08df71c713ab1dcf90f62010a20641ada9f03137bc278e13ece4304ae4812e06f4f4eeb578790b19735daac29ea9ea882e026cd89a3e6ef3c0cbe53314ef72e1f205bdec342788b6335220d74e559ad705a0819505299c41763191ac27412f59362c4a3919e3ed75164db5614bdcb3dc6b214e313203e5f4b94d9da09e45981eeb3847bfd7fc9522dd23962955e1c00935548325c3a2c922df8b8a0627373cd41e2fedcf153a9417e6e8a9ebce65eea3a9f315a12214b4ded9bc691e5d633d91861d0b0402aab5c3b0e59a81ffaec01c56ff2cff1b4b399c41116cf2226476dd17e397d93b6ee397b9a3a6a1796c844ce42435f82ffdcdb0c175aeae2816dea4658397af40bd319a7954586db5f569afc298dd23dace26319bd806374caf8cc5e31cbe195277614687f559d3f4e301b113e1e9546e85ab0cb1a3f2531f488262a155a09e9dd91849aaedc604b3ef2c17ecdefca3d4e9da2495649fde70459a1dcbab56c2d7f3948766db1390cda98e20d219afa711076164b44cc7b56659c3d67e7ac0af5b758f096620929bd8fe0d77da28f973e89fc5d2d493a0124ec0101ea45d196a1fbd86097ad0a02b34b5c70c6ce0fe1e19ea5e799b5a51d3d66b5f0533f21ee4c6df3860067318e858ba9ce93c901d0bd5772c3b94dabaa2b06bd81ac19f88096b9b6a209b459d7fef840cfa7412f37ccef1111af1b3a791eeec2f18e8199f052edfa8b40efbbb276a77d324a69cb8f4316dc7d7c0a5655826a1eeec7d249ccadd2a9773c9d909d8651534015f7d4c02c4a99f9312c2df67ff73a8b21d88e27397df9b1bc36c36cf861f8b360562300acdd0324f4529dec8c8d11bb492737ea1edc52f105119eb9317b23c65d079ce73eefa3f3cf675cf1f1692c261da0ff51a7f422aedaf5c69edad357af6f7717a81f6ff5cc64aeb69885d1affa63821813c846b75014e68de7f20c7f8ce77c17b61c81198886b0134ae1d516520bbd92ca7e47f338934e7fe14f80451dca50f7f884f0c941e6a1abea524f3c37a30e1020ec249405c375c88428b11feb0ed3a7a400e94a80dbd3deea4c49a1c58a185140f3298c7618c0eadfb30d812484dcc4895aa904570864ccddb8ef76a588ce96172a67aa97fc32d86826d71a13b0c9e2daf6404c10a515761c886ca2397a8bab4ea9bde6821b9653c1bab11c074b50c7019fa780ac7013beeefb526baf83830c29a7472a51bbd49c8af71da14e8eb5b7307fadd9924e18ce474461930931b4e2a29e4998312d754481ed7a5c082f72430a266ab0f5265d68c206f5367583b7f1245d079ce9734842ec3567ba3f830c2116ad4af01356e1e2f44597c5dd77ec6db376cb611d9bdfcb1faf37f882cd5b966161ea73c21ecc47087fbef0aec109645e6ff9f87779be22bc3e5abff041a577f22ba278281ef8b86ea64eb0c8d68cdf4aaeec4c169fc82a5715389367af46288c59823cd4bda0a4710ac52d65358addd45dec061703ad5624c812b702478a9e836e1cef34357271a8198f176120a676d067c62811ef189b943bc63ef6330fd3ce9ac9f21f50329b27e3b7796d3c6e059bb73f1b4fcc88ebfc874921a14245af8771bda07c2f99eef4a25faaf73cd82043ae8dfc404d22808f37c495e4aad6df4ed6497ee6e1a59a1226a7bd19e3a5a8189d2a7f3355c1acc09f651bca974b1bb6ce070b0eed05ce92c177e3d3917d27e748ad42e05020742f65cc02367fd8291f34d596e1dd07153ad7f6ca89fcb5b4a10dee22303984140cde11e27eaffe27e48dd5af7d72c8c7d261701a5a84d6e7acc3ca9d201d5f9aa2817fff45062aaab79d0242c6ca75c62e4e19e3087626cc774b25e39e92956df7826c7e0adf6f3d3f98eb4ff14a6909e493e46236d10b1d2944db1fa763cc1a544c5cc6c9a1ef673ec0fde232b38e2a0cacdb31f4c0b4c45f8c0be348c90a65a8037d5ccef84e525259fad5e2386872245a65515958b955bd3ab18f717d651bfd14f80bdcec9bc8f942350f1dd92934604d7605bf3a13d2e6e358209d5707a41fc65282c1db7b24d9de635ad54284412fb08c21c83426e694173eb3d993c2750be26c84a7cd8ca7f5461c4d8ae69b717f52fa80cefd4b76ee1050ac21bf52d34b9cb86b2697d3dfba15ac1435269e081297996fc159bec21cf8e27b838d169f3dbf006203141207040904009999527d3dadf8351b7b8d7998c612cd1ae05e51eb54b5cfc166e87d6838010c62d5cb11d88436095ec028840338474dad3d4c4d5ffe999fcd9190d6cc511738e3cbce179f162e3d1b91243cba2700b7b8e33f8eb251ce978f98eeb13bc02cb7ac1749dea6bc85ffcfce442681037dfa991eb6b1abfb81d4ee54359ffd06a5d8923939e3d12c05c73869acb30ecb97a680137e8b6ea89474d74fee3fa2562f4cbf98fd14aa183b3af54241cf77b23eb6e22fab494054eaadae40e61a06d96fdef3042bddef344595b077a1ef0d55b0087608d4c06878fab8a9a5ec628358bbdbd2d1729e380f444478a65b666827bd4d177847625e1456606696a169fa79075896b6d0a4153b4ee4030a4e5e3a28775b26f6e739896f6204a5433317294db411b04d1d985eb47dcb914b2ac2a2ea6ec785d8ea739144172916e5eee9b4c47099a734c3356e780f45ebaa705387c37ad193e153fd19af5f3448f95ccb025aee847e1d52e2012c4ff94837114742654bee65e019bcd5c4083f286cf636000587c3355665f96ecff18f5bd2767cf31331610dae9b04cde7db9e3c694cf4a2507656b2f9f33e87ab4e147105aaa38085404e8dcdca2a0b536b1e3bda0367272c2e3dad61d0178dbaf8fcecc5d78a74222cef68b286659918eae700314ba8dd55d911f1ad328721eb4a5185aeb7c86873daeb074baaaad1ea5c35b21b2f3246ef8506d52ec4c11b40808cf12bb428ceb2bafe5bd2042f5ad06869117d06a9c3a5ab59a1f7ca5720fae4cc84eb2c1c6de556399d5872baffc6bf20947f6f73de9a7b115515eeacfacd015c607252f98ddbbd403fbeaf4f0afeee3329f09deeec429fc5c03aaff2a08d0452e09e5c6e985068cda9556d5bf64f164fbd1042897a48c454a1f63dbc75df5ba0bc0c976389f4f5d0b5577949c8e350900a97705a531272d4d06ff3a9ca02fde8c2464bdd569c0b5ca2dcf07e53984c5e99e230213765e176696865191f61724b31e5a0ad045428992c0cc14201f37cb45b088180fc54c297bc6d36de9678b3bcd718db23c1dc26c6a04170a6b4c5a76006dba27f4c75da240200791063d114504af1be249790c9143ec5554a28054b10c467b6055b27a877ad934f70b73c64699c3fbb89280579bd7efcebe278bf5a71b3b30c49e0225d00497dcf753c2a2fcd71b9c8c771da3659c884bb4570c824dbe595f30d72455adfb6f1589f6111acd18377acb2236ef44972fde83754e9bb4cad33f045b4f94a0a3f2dace268a84806046ac30234a1956e16848ac52a97ccec0d0df7fd4f8c41b8b98e021278507e29f6f62c6db796aff728587f51836e187ebf5f2846fdd0160a6ea28e538fd2d44627a40998e990fbe72f4d49413422056ad12df49085289908f018d50fef25d25b70fc710273021aef1f35c99bc27fc9fc195c3759db3fc1c14956457efe79ff8b13d48b45aba45e4454766ebbefaeceaf6219f535e38384c24c2ecb47dddd91a32de81c9b1cf323bb2b4ad3d84fa3403c1c86707683ca274b0bc1e057e1aa2e1dfe639c3ff9542721346f2d0e6cf93f0be287cb0725725ca8ddd5c60a48bcf9b7d074062602797b8bcfd4f327790419b202b6e52445546f3959c0ce7454c5d017ae15534571ec31a966f87c0464799d48613f31991af95eb01fad3bac7325d1cdcca95a7bac940eedc4774636ddfd5a806501ea1029a9b4d910710903966f70fa8592b12c7f3cf22d7e41f209b169e82cbf05b2200c489845fd7fb2cd73fbf8bb06e3d6e5730f8b897dabdaa641bb7b7d27248e6471f59238baeedc5bcd02c74c78ae5a8f89457338c1109474bef5d60fbf21803432ec20ff45b9de3cf1ba75d594b1b13b1fbdad46b8c8f028a65f3afd9521a86e3747eeb23c8f43d0448812e7a09b513a5260c2642d1323af608de5135130642fc09fd92734bf3244a5e88e2542f74a05a5b9379f1ecdb0266be85004f48721ff919a25f0c25affd7b37a57bba61ad346fea1efc4424d2042594ce06690d55f66de9830fb40dd74ca3207cedb74259bcba73b4b87e902851296e42999abe01d1dc05795b172dfefc18a048a0e2e0b28e73b238faf838648537f3a16fbb8f6bd74445618e2a51522ad948814b8de093ac94000cb7dda8462b1007dc6f13f82eaa10c9c704ee371284f5a49bdc5352adfbc8c26ead511f4552083e6d06e964918854fb65dfd3a3261f9873822c98336b3a17518bdcfcae1428687b5cf43413ccabe49787bef85184b860ee569322fe36882c722973ff1ebe67983251f5c4b9cb0d7c060dd961c388597a6544a667971ef445afb2b2a7160c294abe9310ca610094ef4cce4114bacb5f83ae2d6da1109ec743bdd1480287d44cf011f7861db3efb8ffb53532920d47f00fdb649428121bc7d0584aaddd649257a1c52a7b63c33a67c019e9eca9a8a075e5810a2cfba827dcb5241a10ed570f16d453d5ec896f3efc721c647814b0354ce2a6c2f2d6706756369328841d2c0992f38dbef77e485371d1f68059b00e0e7848854051f3fa2dfadd61fcb9ef3631279ecef8f0dbbf1fba557e35e1923e3b5802dcac0a50ad814931887a68fb27393ef8ca7145a3e791417a7e1017659750ad0f6f9f0a0d3a3b8229cef50389e34f6711f5ba2ec4aaff91bd81d0d53c0e0fce3300f61efb02f783eb9d6b447079f84290931cd185ac5f891957882014be23a492acccfdbf91c4db38059e77f405c6c8b8aeca05e6852605af5dad3e2707f7c82d11f8095410d124fd4d5fccbc8bf8af99aaaaa7b2b9b64a1bd76b666a622a27e38873d34383c57f1b22623e6b93aa16e7afebf069dedecffb9d8a1dc3050f7c88e6173037fc89fc6941d5b4813d80f282c8f8802c3f6430277e0a5e487707b54e7f994f584fe644d2609da01f6afddef5482754363b2fe6eaa9d4c4f28575760952231d7dc0909918b05498929a52d417dd7d90930e6ae0e16463e9498f1764caeb567488faba7e7e8d1ae183e342ddf9c0f7a7b669ff310219be389119fa10fe5e90659e833a2d8fdcd98353a07e54fea870357b073ee7abfddd5e2bb6ad73e905403eaf0d7f3321f36185ba36ad7011ac2e1f385be65417851851e6e7d1bce581bdf1e6f4e2b584317fabd45a774bdbe1fd6018c4155b3cdd7ffeaef4d304ff8a770ac38e2dc79d7952081d3aa65ba726e77facc97ed338c093b5334ee77d735fd085aafdabc0a94bb6cc9dba2edf5c133f578ce0f84705b6dfc62afb35de5d734c0b95b8fb31c065309c1ab1cde8ccd8666b143ace43b496eda3a68828930755afd7df2fefc6926db1bf7bf1ecb16f4f7bdb5136ee0bcdf6fbf5aebf593a5669cdefd2cdb1a1a81f34c49f4cde5e07f219f6885f36fc0b9e97cf7ff92128b2c12e0c0191be7a1e700cd9c76e36a237b57bacdf2b1cfee2d47add332974a44fbba4edd1dae090e150cca59bd027bee88b5c9a4cb47d77cf0c07da49a62f4643f0782ec267cfbcf4f44da12ae7b20baaeec4d2530bd14e154e0c1bf677873f3fc7f18652167f3c8329f609e78c25dbe76f565bb4e5a73a2de8e6379d30e7baa3dc0c8c1909f4303fdb88068aa53db41c88ec21178f3e9ac9a8e3d58010a0abaa28d34df592b2f694c78f493e2f9560e03ef95cf03aa917880bf60cd207a870ff1710424c37947cf56048496af556f5256bb2c707cc8485f57e39ad2726b9c3433223b9093fc1e34dda5bfeb0366a4809a18fdb48550f60dec287941e79ddfa2f7eb42fdbb87a3d68623297e177b0102fe15e629ccc5fe6a05dc2f6a3eef9ef134eec6ee570a0ae865c58c4fa7e0bf0b6407a92c5a1a86ab344afbb6d6c2a9b05f64536e3eb87ce7af5a4e52763d09fa1a01ee5efe850f4738adc94e07be85527a559155a21a317457b51c9b9a8adea89d4974c9d37d6d605e74ad4bf32e1e8852934a9921fdb1af16b63d96a01ac0ce22796e0cfd95f1b2c762286a7f8bcdf539fe1311394ed1a290d70f32a813836a418515aee942e1d18b108f8eb4c749047e078b6f8066186d397a87d818910f086cd06c1dd5e8eb1d503a399ab1a3318cbb7516edb64b67a6289940ccd1885a230b2069e8b186f661aa973e8ac95d16dfa872fc097f33cb4fffc5188302d02fe36e6ecbbb77f589cee85b6e0314cc9d977cc8c458622b9eb5d86a191284b04598edf1967ad947dd6cc4f7d8a5ad0f6c840cc32747b39c4987a3328e18ea88d7da791a6bd84701c3c62c50494af93b8fa615d021a7b59e61f36bec123cd852a72a306ad11099829dd6c9cf29ede0f565f7d6082105c579407d0790b89a06f248213d41e796ac5b911021751ace44d51d77d1f16eb95375f39dd0eb56ede448f8cba53d4d1fb6e21d74e88e92fe00e52058e587e34ba56ee7a5a7f98c6f80a01a7568e17941e577dca7ab8081036bb9166318248765b71fdd152a3f4c7297156429c485c5c6998b19e31ab49f34fe6e35d501324f261d7620461b8cffdad5d6a7c6c1819d8b742ec3ee6fb35d24f25f939d8c15136efe927272a2390f15e57236140ee96adc60ce2ecf6dae2e80eadce1d7f7739a043b1ca7675c3480fc869f64dcc7b0761e9dd9eb0562e395e7da35cab28351bebcfbc2f9baa5da27bbeb8e34624b09577e4dce548676e0e416744a2864a66fc726d88f2a5e4b497c1bdf4499d36a950e89b62e0871d39ac67421f9c0f41db0c2de5e55ba20f3506ab88523f04d72e74bf8c44c5cf0c661e2f4dc29336fa3d3a70b4c69ae1c59d1f3296321b78755960f85f2bdf335f298085e5b59e266c456f973a2906f509c93db6904693bb161ba3b9ebf1781939ff24d8710fee5123485337b57cc871a148a7c10c3a9a86d047e7f0cd506f2cb66ac89ffcc9b740b766a874254bf57cd3be3807e3e16e941c64099b1d5bbd12fa1097ba49bbfb04b54ce0482425499b0e26b9611a346b9da0d24f24814add31e0b1f1a82a38f32b2149fa6fc5d7f2842d89896ee022787ad726b2a5cfc5810a8ef4873fb49ef6f82c241761fdc80740f311cd43813b4f83c5fef9dbfdfce5d6ac03bdc64dd488780ee30f33322af6331607f23b6e720cc0f258e58b44b0093d1364dea30c92c6b622a882d2b09ac5858b83a2d526f7033730ab0ef1ad69afe7c14f27e0a4f24df24b2754efc9290884ce1d8a30f1341bdf03b1a4b97b427c1d234860960486d16a987470855a8a3e1003eae4912ae22ccaa3bc7edeca1152367381a9153fa621f940473fa8fdb6e2450635cd05aa4ea2eab8856c9c3bd0d170c19e84ce285a14ad5c85d8c165d355f9a56892458b5afa2c937f0bbce8587f8253e6e294a2b00b5ba013a0314c289a14564eba487333e789c4b59f4a5997568155d9d903f6fee644fffdb5c54756b310dfde0d570ada7c66aceeebd3dfbe03b906572aa43e9fafabbe07a6db6eb2cfa7974eb0fec28c72be236e4bf83c0e2e365e873d9a28bd3eef84dbe0e3ae978b090e35905a6b8bd143450eea114f59a6f893c0aa4f80640c8a960056478eaa3e3324a5a44e644a0c7a02417577e683400186a3fd2df2da736a1740ea31fe084e3afbba511d3b6bfb5a508e43d22a2fdd5a0f2fd6ae2f1553b75a5c40e81370bfda068db594deae9dc2e1e821441a89063953daf75565bab7e09aea6f9738700959aa039117c9f51e54c6c779ed273660a3b002ecedf82cefbe7b5fc00d371e4f50e6ffaced3958db54bd62b3587f10626422f33578cc2ea2473aaee9d664b367e1ccaf0a1dd8a6bc40e0de8452484508896a179d3dd22eebc408e7647a645986aef49a0a39fedc28d5e698351e8b05a4196e481dc4bff886354c30788ae51a9ba5bd93fb974886a6f77b1e327fe894f2e502c1eb30bcbd6cd0214244a88ad878c677cdb0f84d0693a08aeed6261ea99ceee21e892012d22ea4fb39d4fd5a4880ddba4334a087243c620b796a5a2049d142e4e959e8eebbad7344db82671fa08f8b54f90a3bbcfb5fe68322743ed05dd42444002a4109ec0377a971b4a997ccd97b0753d9e1934260aa6573f117f9ea70e848078046592326da6c044339dbaecc6d662d0afaf128b33ed3287c087973c9438143eeceebdd8dd96563a97dcfd7c6c3a29f9eef9d13b32839e179de3b09ab2867cbf1d654bcd9ccaad3c89323c5720e071eb3352b200d2f2a8056a0d2228cc87739ee66b5467eab163bc90b110a9d1923eb51075f8f30d550ad109d0e720837dd01cc6572506de16ef8675e55c5edfce90b285741ea4e8c2d96cf56c1216428b4b3e60405dadaeb2008602b203a4f94ff6ca9fae3b6687c49a04bc464fb27ae8955a01c1565a0ead39ab05d5dec0840e329a6734a245a1166531f78baecfa00417a659a9dd10783b55d536d1fc3dce20b22ea6114bfc98927c0c05ef0a4be3067885687c6ce8cf36e6c291b613dc2c604f2ee56cb8f9184ed1066e69584d98691da0aaa054d37a955d368ab2a3e60513a0421df870cdd2459378b23de8ca6ec7144bcc1866dc0e87150d2a7c0bea55e5a7423e100a01ef3e31d4124d370900c0c418d2bf8bc2cf2641db2fcebce65748a83d1ce2b98574648cb7270a9b0a925364fc76b15cd0f17d8668fa7fa4fce559af10aa851584a7c6052ee9be69af36ffc7ec3045bd3d66ff39da0b4d8797ccbf67e4a1a1f5e5a0b36ce9919414fb4c7fa910760387859d7ac877bc29637358847fdaa78aad0ad6fd4541f0e2b33196929230f3eb9646bec532629341bcbf3b539bee751a9d8f781facb4bd99c9de96c6b1be45fceac590d1bce64abe749c62ca808f6be0be10422c8c69b9979aae12ce61b126ba3e1ffdb48dc4e20eabeb708dde4a44341032c2b4b512d18f196844681aa29c47402edc5d79e7208f5f4a579c2e1217cac461cb877578b93fa6a9e763aba2c3a6a18b3fe0843b6e86b2ec7475d3f6a75a7e433778703555080266556f7d688737b68c59a9a6fdbd24365628233c10e8d2f609fdcfe79d266bdbcfd41accb5bd91bcd2a1903f215dde9cc41a4136f7c99e1974503dfd3bb1341a4e17c90eaf48dbc8633e2332fc79f530bed29bc0c0979c0da41a8264a7d71e7a5b4b66e635b3920943475ea5703efdc4462dffe5dbaf1edf27de7b33b2f045efa0bdc7cdc6f7aebcc4e0c70644107dd86ccef349a02e3c9f514f173074bada17d0fd26350cbc0796cb401f2c2222e00efe6649ea475966f4dadb50fde2a57aa2df3c0926834b7bbc4f8711fe8eccd39261add922037066ab888da393af395ca04b9a9a87650543862deead22b41b92a73cb752b257e3667f05546660fe0b486a0e450f6e47a449b8308d6b2f92fe1ede2149ee89ddd325db82d9efe48a7c6af7ab260e215f3b4639a381593c1cd23f1a5ac3bb6d0de54ba61e7e83e4d89e5493c4923b42fdedcc337957d25e50eb7208bba5a0d5c1279cdb4b02f63dc4364bb036bd5823038a0e53abb2f9bceebe26dada7a8902b6808a71150016003033f6d437af4451a0223536a7f1f94f7e736e205a8520664fd9fc1234c9cf2006f3aef8bc7b865ac48a0e55055dd33d9cdc92453d651f978861186ac4ce815f9b37e5eb82178ea7001d6764225f02ae716f64203fcc1e9898b71589e07f29ca7e83d78df3ae5654dd8bab2d0d8471245084a2634d6d96151dea8b89524cabbe4ed59eafddeba0cece40c75cc933c270923fe0a23216f93baf75e189d0fdc8f5683b968d7b29c94b8b953e6a92bceaffeb314ebff6d5f9ca287e606d30f0458fd74043fb4d157a47faaa386bf5072a3deabb372a23c63abec0cc9ef7ebf16c17c8763e78aa7d50c910e8bdf4216a61025769fca3e99f19ab1009c31898b5718ca6e3748db373069d8560ce3974f981ecabd11c2f6006f780c00d666866855061b43bb81ac529584f35f2f5f37cbae379044c37f4ef4368954bf69b7eb5d93339d75a014a84543e0e8baec732fdc0865760e4555f8a4b6b490d3db75649c494d1812e7ce5c5d33a2b8f12fd246184e3eb12211ba82e4589fed949ef705b73f30213ec319f7da5a2cf8fad0095d733715f66fd04e28f6bf4216460df9d30f784afff25885f1c3879316005c6d084f5e7539e48b6e1d5de24b0fdcb7e30c290537a7b7610e82b0f8ad34903d7e58ebf22382ea05bc738f2b00beff4f3624c6cee1f9cab189d8180f7872100448d0794414534f4f9d38108616baef035ebdabf86ce44358747c970a606641878edabb36917ae2e077a0288c1e012c9a4bf4e858aa50ed878d4e018b1c5f3bca0da020c3d69b05661c91612a15d56fc7d1ad2dd51c3fc2c23502515c5232913d940af6294dccea45889a4852c9d8b610faab4d1f5c1718cd9504ed2f59f08e4f150b865883e6f21bc2d2c1909fcba29b8ce474082959fa7e8b3190a186f92be77d021bcb63404c9168680318b96d724d4b22f9abad284aea084aef6408b092977755542fd1cfa825e81afb22109331016f9fbc860e6bbeaaec916bc88e01b6c81077efe1511a163996af723d32afcf8e83ff7943b5b207329024dd258468c38b8ca9652b0996c880c9c8ffde8c527b76d41d6bdc5fedf766d6d7804b68b78156ffafd79ee1d96844e0e50f2cd88ba5ba0e95baa9115ab83ceab4fa04d557b5b4d5d19afddc159319b1af0d65f52de10ea61c6506a5ac2119622056589f478ae96226eace8de3ea1609fb3e3a93f43a45622054112e6c524ec651f78132eb17449e099ae4542760f9625b52c1299142c0c043d13ab330a6b7a32345c9c724e71bb07d71bee5cdb8f29eafbd2c7ac5db1ed40d3a5cb29bc2e33ed0439da0159917af03c13399c7958c9273402e4726c5dedb61391536b66ad6f9070fc498726bca57432c0342715c0296d5c7afc077565d9207c2d8fcdaa0422b6062fe2546ec38d7f8f8b7cb088c31b832ed755417d3654d2dacc9b00dfaad01187a43c7753b70cf049bd499ed09ef5fe0629d97f96054e7c4e50a435f086efd2d61b22869e98f5e76eaf5131bbd1448d95d22d6bff727127375214ed54027f68e74bc65826896a278544ec3537eea3ec5324200a21372466482e48ce4fb6f8b2871e9a262b7a0b26011a4d807cffe090a2a714ebe7cb7dc5d898a5cd398dcfe6c5c1e029b11d8e740bce3b7faa69375b4a703e5d266adc6ea04bae0c87f9bc5bf95823b2171a2aa2454ff76ea932ba9a811e86de42a80c78a7fe9065810613b60a8cd046fdd7b4fa1223bb1c00145f3a182a81c1cf186956cfff15a7ec913726d2d3961baaf01acff01bdccf9b360a694a8f7cea50b0eae47afee1d1765702943aad98d93257022ffb1af4c85b0493c2f741eb468a0507ccb4d9cb436de693460f84caaec712b1863e02a1c49795b44d489a526a97b400a116630a4a37f0a7184f5c6291e299b592ed98313ed2d5b838a76fa9ec83e2edf1acd8ef2c23ddec3df791e7e804b8100385d216ef7cc2e2208193d1814d1a017b3d6fec60e9f052207ba8d9ba1a4ef1074d188aae5256b12e527966d93caf5723198afd8b4c366fdfa4740595e3275fd2b9402bb87e52656bf26c288220410ab6a0217d97cc55ab81a511e7dacf98eff7b764b00a08f4a72322bef2a39a4eb930d9c266f838987550ef3ae5729218b9f776693f13bd7ed46fd85d21e2089e033b68cf1dd4aeef41becc4548d0b0f25f9c4941f704a02699f89fb77dfd42d6d24a180d80367cd885a3bc0de85b9babd6c4950c806f191f27dd51a72860e33ac51598a643ea45a93437be963df2b5ca276961f49db7a7e4ab3848db84b7242e71cb8af787bb03e31b1f793197547aa6938031d0e7532846572e8ca1163e0cd64083ced43fc926e0deb1984aa87c69acf879db55616198d46a006f6e10a33b182fbf08dc7e5c08eedf47bba79c0cec3eaf95477cc8d23974c8ba5399608bea185511c07c13c13e266d06755ddff1c0f2673b7916bb017290a75b1d27054bf0e91b367517b245977a67693fbd11351d6507c373c76c095c83fa087da3bb44013fb6e1c5b83b79048e3cbf54a5fc0446aa204735e902387ac883ef92a06e0ec2226498dfea6754151c246d722dc4e839716b0e791ba8411afc3f622af2c0e4c33b48871009c4ce2c88f1ecc93ecdc3470b5154dafae4606904d3d30f8b83957a30c546fbb675f90ca3fbd6e45c82e38162ba0abf6220bf26df6bd92c39230969c26c377f683bc93938c88956867139a8fd42a3bcee6450f59e6b243586d9e81b030b89461997ef49bf2d654c99dc5294628f9b71ddfef69946a3cc63a7f44babb92158a4a64ca35ae4556c81575b994ed3d07480ce9250a8dc37d93efb4afb0befd7c61577a9d6568035c0e374d6219ba1896f8855307f5adef7b6b0988cceb2e9f2162c078b5d231150d5615f37659207d9bd130abef67afe1451917cfcca75d237eccd72b902949dde440c0720ad8dc8f48750952eea999e7925162a2f3e36079c89f0a7ddb3db33a2524cc40b7f122e0fdfda52275ef6f5f00dcc0c445b05c4ced60218126645ee9182fce01050d76de31a1c3f14ae5c2074a214d58b3961c4f4a1d712158fd8e44d5736224f5efc5a344844c3071893706183dc0a2ba62497ec59d3caf5cdde62533f367662bb420be51724c27e3050a5f878607466f51407030258b39cff93791acde741acec84fbc02f27d5f8acfc6948ad5dc6a9f7e2d395ea5c4479d185c333bb243355b5fab1397c98ce56efad1deecaa2c757dc89a5b9ac3923b7d31786b3e7eed1ece37cea88d970211d980b5f6fcc8be9218a68926b5bc794106ec152a5cbfb4e5efa9882f74ac539f95585adcbe5ded08ac31245974e286eaa07bef33024da6bcd949ed6ba955c400a4034e09caa6a4329375214a5e10160814a30e65cf57625d575a445e4197569b1fc8ad366648b454ff529b41ac1f25ccb794333167a5e6c1901d78d6311e89a1725d2b7ad388bfa9c7e6f36edd94bc64b6cf05e9a4cc2663707945d64986df3c934b826dbf9e9b46d9529478cb3a63fc293db6a9adfcdaaa8fec58a1c85b9c0602ecd9e92516367bf263eba084223cc5b1234e811612a98deb126faca637d981c920ce65f0112ef2bef84d99377a8bd08eb81b2bb494811941677630e940e8edc3e57e08cd3b0870d848660a5625a11e19a23755986f48eca93e82b855ca508a91a01cf832dfaf89b12f921a9ee99e782fad97dcbc393ecbd37164190e5feda0bdf1c5402c92a492c83584a9b3428b2ea69f78ba4ee13197d6c5c85fbb42d89251a64df8f3cc18bebc82a44873ead3efe299dff8fff87b9735161e2bdc68d324c7a70b97bf9fd4a70882d99211816f24fd6aefd59e08f6b43f8446ad0c0f79ee3169a14a5df68fe58283397b64214e7d465b1e72a5a9070f71073f795e8a8918970cfd4ef8a6901172549882e3534c75deab4133c7417bbdfe7b38f956faf5e0fd8cacf1c4afd306fcef9c3d5e753d7ab4b0065c2fb45564fbcc2e9ca2eba1fc55d942c0f69c564c316733e4bd88c8189ab50c5851e2371db7823e915bd539519d2503570460edeb066723b51fd6faa92d1d0520a54b0fcb728deca98555c4a03356a9a8f3b2fc6a50c9c64d4d39babdf1e72e8e21ca6720501353996ad4ce00068dc7f1eae75b96791e457b0c32314ace9e2e59262ea52596618d5cf56371a1259caa29a692d21af96b89a9af5bc7cfa7c7b1f79213b863453305066de3741811cf8dd74af9b408fcc065821e8b0d10577d3c821119b3e2cda696add861d065360950ff92a8b4fc24f088ca56490712caf86ae16e15fc32ed73a73087de4ade0ae3582795e5548f80b7e6532d8fd0586b5ebe5c2475d90c254c572e664bac47ef9193a063e8d73d33d2a4c54e7fafcb36b5327339f004fd09ce29657b8bdb0f88488fa729544e8bdcfcdaf4347cca20cf9d72557e0c0d2f045bbf1e885a33ccf4f935c2a00f91bf652041621c605d4e5bf67b4817778e285cf7dd02e63dbdcdb1c7786bcc5d00257129916fe9f9728db288315d0a23a2ccf75603074ee41c6df7559307b72dad68a6b578ee5a57679e8e9189c65114c1a9f2e274c4f1e6c76190b2d47cfae39d2d60f4f572eb78f66f4d02848f95fab2aec450132462d19d4797930ab26c7f28c5e7aa7f5308e37293a6477006d67b26c10e016b9acf5986a950a44fdf3c4eea28d9383dcd5920555e5051af6bd2b84e8e6a27b37e220bb269044cd45a8d342b36496cb85dccfb565add9b77466907fb6eadb9bcd5ed06e527566292d74b9278e6678ca5df01601c6ff6150fb9dbf26aa7ba26ca9075acd5a0f20e6c541101fced0d17089594e03d4e89cdda81f430b10567addc4089e4b02cc0bb869e18316dda11b3f60e26af53eac4e128ea499199b39336cc3237f9534f4c49f86b4a824bb7933df5b7c2fedd7f1faa11e2d941ab3a98a6dca0a0c51e9e17856e690f99d7b3636d323c79fa39f3cf87976ce3c9e136ff87274a082b65faa50b9f537eb4ec4bdf4c94f8c672c3c8f4de11a5d0297544c31aaa80ceb772a614251d094af70016484c1870fb95f6233c446dbc4344159fd10ae2228c2c50e5207d56feacb40a98dcf1f5f9ebc5c1d64edf6bc8a053dc1df678fd94d24bb858e94634b366dcb658561de27981871fdc393efa7bc9dd6cc6076cd7866d41a8d7356e7903c04338b99d09d13e4a4c24c9ea6bfe7997629479d74294056365600e508479ec43102c94fc12a07710a1963c4139a5bd6ebdf589db423b10688a07cdd074a8610b83fa14b9ad93c1b0c538da57d44a9227533d922bcb6c2a1faa8dfb0e74f87ff573dad43fb9f440430d3ac486e1a11ba8e53900db37f8dc82ffe643drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootglibc-2.26-lp152.26.12.1.src.rpmglibc-html    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1a@a(@aLl@`%@`@_^)@^@^{G^g@^`^U @^&^]@]7@]|@]@]:\@\\]@\@\|\~d[[ͻ[$@[t[r@[qr[^[!@[@Z@ZJ@Z2@ZH@ZZ Z}@ZxG@Zp^@Zp^@Ze@ZKt@Z1@Z/Z@Y@Y@YYܶ@YdY@Y@YY@Y@Y@YW@Y@YJYYw2Yp@YJ_YA%@Y.@Y, @Y, @Y$$@Y"XۡX@XWw@W@W@Ws@Wk@Wj}WYZ@WL+@W3W0{WW V@V@V޾Vm@VIV@VŲ@V`VVV@VLh@V.V$@VVZV VUYU|@UAUȒ@UU@UU4@UUv@U%@U/@U:T@TPTgTܕTء@TO@Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab schwab@suse.deschwab@suse.dematz@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dematz@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dematz@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dejslaby@suse.comschwab@suse.deschwab@suse.deschwab@suse.deidonmez@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.denormand@linux.vnet.ibm.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.demeissner@suse.comschwab@suse.deschwab@suse.demgorman@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.de- always-do-locking-when-iterating-over-list-of-streams.patch: Upstream part of fix-locking-in-_IO_cleanup.patch - libio-do-not-attempt-to-free-wide-buffers-of-legacy-streams.patch: libio: do not attempt to free wide buffers of legacy streams (bsc#1183085, BZ #24228) - fix-locking-in-_IO_cleanup.patch: rediff- iconv-option-parsing.patch: Rewrite iconv option parsing (CVE-2016-10228, bsc#1027496, BZ #19519)- wordexp-param-overflow.patch: wordexp: handle overflow in positional parameter number (CVE-2021-35942, bsc#1187911, BZ #28011) - mq-notify-use-after-free.patch: Use __pthread_attr_copy in mq_notify (CVE-2021-33574, bsc#1186489, BZ #27896)- euc-kr-overrun.patch: Fix buffer overrun in EUC-KR conversion module (CVE-2019-25013, bsc#1182117, BZ #24973)- gconv-assertion-iso-2022-jp.patch: gconv: Fix assertion failure in ISO-2022-JP-3 module (CVE-2021-3326, bsc#1181505, BZ #27256)- iconv-redundant-shift.patch: iconv: Accept redundant shift sequences in IBM1364 (CVE-2020-27618, bsc#1178386, BZ #26224) - iconv-ucs4-loop-bounds.patch: iconv: Fix incorrect UCS4 inner loop bounds (CVE-2020-29562, bsc#1179694, BZ #26923) - printf-long-double-non-normal.patch: x86: Harden printf against non-normal long double values (CVE-2020-29573, bsc#1179721, BZ #26649) - get-nprocs-cpu-online-parsing.patch: Fix parsing of /sys/devices/system/cpu/online (bsc#1180038, BZ #25859)- nscd-senfile.patch: Fix concurrent changes on nscd aware files (bsc#1171878, BZ #23178) - nscd-prune.patch: nscd: bump GC cycle during cache pruning (bsc#1171878, BZ #26130) - syslog-locking.patch: Correct locking and cancellation cleanup in syslog functions (bsc#1172085, BZ #26100)- nptl-setxid-race.patch: nptl: wait for pending setxid request also in detached thread (bsc#1162930, BZ #25942)- glob-use-after-free.patch: Fix use-after-free in glob when expanding ~user (CVE-2020-1752, bsc#1167631, BZ #25414)- dl-sort-maps.patch, dlopen-filter-object.patch: Allow dlopen of filter object to work (bsc#1166106, BZ #16272)- ldbl-96-rem-pio2l.patch: Avoid ldbl-96 stack corruption from range reduction of pseudo-zero (CVE-2020-10029, bsc#1165784, BZ #25487)- pthread-rwlock-pwn.patch: Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bsc#1164505, BZ #23861) - manual-memory-protection.patch: manual: Document mprotect and introduce section on memory protection (bsc#1163184)- backtrace-powerpc.patch: Fix array overflow in backtrace on PowerPC (CVE-2020-1751, bsc#1158996, BZ #25423)- posix-Add-internal-symbols-for-posix_spawn-interface.patch, glibc-2.29-posix-Use-posix_spawn-on-popen.patch: Use posix_spawn on popen (bsc#1149332, BZ #22834)- ppc-tle-htm-nosc.patch: powerpc: Fix syscalls during early process initialization (SLE-8348, BZ #22685)- s390-strstr-page-boundary.patch: S390: Fix handling of needles crossing a page in strstr z15 ifunc-variant (bsc#1157893, BZ #25226)- prefer-map-32bit-exec.patch: rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126, bsc#1157292, BZ [#25204])- GNU1815 - Hardware support in toolchain (bsc#1151582) 0001-S390-Add-configure-check-to-detect-z10-as-mininum-ar.patch 0002-S390-Use-hwcap-instead-of-dl_hwcap-in-ifunc-resolver.patch 0003-S390-Unify-31-64bit-memcpy.patch 0004-S390-Refactor-memcpy-mempcpy-ifunc-handling.patch 0005-S390-Remove-s390-specific-implementation-of-bcopy.patch 0006-S390-Use-memcpy-for-forward-cases-in-memmove.patch 0007-S390-Add-configure-check-to-detect-z13-as-mininum-ar.patch 0008-S390-Add-z13-memmove-ifunc-variant.patch 0009-S390-Add-z13-strstr-ifunc-variant.patch 0010-S390-Add-z13-memmem-ifunc-variant.patch 0011-S390-Cleanup-ifunc-resolve.h.patch 0012-S390-Mark-vx-and-vxe-as-important-hwcap.patch 0013-S390-Add-new-hwcap-values-for-new-cpu-architecture-a.patch 0014-S390-Add-configure-check-to-detect-support-for-arch1.patch 0015-S390-Add-arch13-memmove-ifunc-variant.patch 0016-S390-Add-arch13-strstr-ifunc-variant.patch 0017-S390-Add-arch13-memmem-ifunc-variant.patch- regex-parse-reg-exp.patch: ERE '0|()0|\1|0' causes regexec undefined behavior (CVE-2009-5155, bsc#1127223, BZ #18986) - regex-read-overrun.patch: regex: fix read overrun (CVE-2019-9169, bsc#1127308, BZ #24114)- crt-nocompress-debug-sections.patch: Don't compress debug sections in crt*.o files (bsc#1123710)- ldconfig-concurrency.patch: Avoid concurrency problem in ldconfig (bsc#1117993, BZ #23973)- force-elision-race.patch: Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP (bsc#1131330, BZ #23275)- japanese-era-name-may-2019.patch: ja_JP locale: Add entry for the new Japanese era (bsc#1100396, BZ #22964)- pthread-mutex-trylock-barrier.patch: pthread_mutex_trylock does not use the correct order of instructions while maintaining the robust mutex list due to missing compiler barriers (bsc#1130045, BZ #24180) - getaddrinfo-parse-ipv4-address.patch: getaddrinfo: Fully parse IPv4 address strings (CVE-2016-10739, bsc#1122729, BZ #20018)- mman-map-sync.patch: Add MAP_SYNC from Linux 4.15 (bsc#1126590) - mman-linux-map-shared-validate.patch: Add MAP_SHARED_VALIDATE from Linux 4.15 (bsc#1126590) - nptl-setxid-error.patch: nptl: Preserve error in setxid thread broadcast in coredumps (bsc#1063675, BZ #22153)- x86-haswell-string-flags.patch: Fix Haswell CPU string flags (bsc#1114984, BZ #23709) - pthread-cond-broadcast-waiters-after-spinning.patch: Fix waiters-after-spinning case (bsc#1114993, BZ #23538)- absolute-symbols.patch: Don't relocate absolute symbols (bsc#1112570, BZ [#19818])- glibc-fix-aarch64-build.diff: Fix build on aarch64 with binutils newer than 2.30.- Add glibc-locale-base subpackage containing only C, C.UTF-8 and en_US.UTF-8 locales (fate#326551)- aarch64-hwcap-atomics.patch: aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT (fate#325962)- math-remove-slow-path.patch: Remove slow paths from math routines (fate#325815, fate#325879, fate#325880, fate#325881, fate#325882)- localtime-2039.patch: Fix year 2039 bug for localtime with 64-bit time_t (bsc#1102526, BZ #22639)- i386-memmove-sse2-unaligned.patch: Fix SSE2 memmove issue when crossing 2GB boundary (CVE-2017-18269, bnc#1094150, BZ #22644) - realpath-ssize-max-overflow.patch: Fix overflow in path length computation (CVE-2018-11236, bsc#1094161, BZ #22786) - glibc-fix-avx512-mempcpy.patch: replace with upstream version- Use %license also for COPYING and COPYING.LIB (bsc#1082318)- Add glibc-fix-avx512-mempcpy.patch as quick fix for mempcpy buffer overwrite in memmove-avx512-no-vzeroupper.S for Knights Landing CPUs (CVE-2018-11237, bnc#1094154, bnc#1092877, BZ #23196)- Readd nis to netgroup and automount nss config (bsc#1088860)- res-send-enomem.patch: Fix crash in resolver on memory allocation failure (bsc#1086690, BZ #23005)- Use %license (bsc#1082318)- stack-guard-size-accounting.patch: Fix stack guard size accounting (bsc#1074208, BZ #22637) - libgcc-rtld-now.patch: Open libgcc.so with RTLD_NOW during pthread_cancel (bsc#1074208, BZ #22636)- Mark source0 as nosource in non-main source rpms- Add systemtap-headers to BuildRequires. - Add --enable-systemtap to configure arguments. (fate#324969, bsc#1073636)- memalign-overflow.patch: Fix integer overflows in internal memalign and malloc functions (CVE-2018-6485, CVE-2018-6551, bsc#1079036, BZ #22343, BZ #22774)- fix-locking-in-_IO_cleanup.patch: Skip locked files during exit (bsc#1070491, BZ #15142)- Avoid duplicate source rpm- getcwd-absolute.patch: make getcwd(3) fail if it cannot obtain an absolute path (CVE-2018-1000001, bsc#1074293, BZ #22679)- dl-init-paths-overflow.patch: Count components of the expanded path in _dl_init_path (CVE-2017-1000408, CVE-2017-1000409, bsc#1071319, BZ [#22607], BZ #22627) - fillin-rpath-empty-tokens.patch: Check for empty tokens before dynamic string token expansion (CVE-2017-16997, bsc#1073231, BZ #22625)- tst-tlsopt-powerpc.patch: fix tst-tlsopt-powerpc (bcn#1070419) - powerpc-hwcap-bits.patch: Update HWCAP for powerpc (bnc#1070420) - malloc-tcache-check-overflow.patch: Fix integer overflow in malloc when tcache is enabled (CVE-2017-17426, bnc#1071479, BZ #22375)- Add _multibuild- glob64-s390.patch: no compat glob64 on s390 - noversion.tar.bz2: remove unused source- x86-64-dl-platform.patch: Don't set GLRO(dl_platform) to NULL (BZ #22299)- spawni-assert.patch: Fix improper assert in Linux posix_spawn (BZ [#22273])- math-c++-compat.patch: Add more C++ compatibility (BZ #22296) - malloc-tcache-leak.patch: Fix tcache leak after thread destruction (BZ [#22111]) - falkor-memcpy-memmove.patch: Optimized implementation of memcpy/memmove for Qualcomm Falkor - aarch64-cpu-features.patch: Fix glibc.tune.cpu tunable handling - nss-files-large-buffers.patch: Avoid large buffers with many host addresses (BZ #22078) - sysconf-uio-maxiov.patch: Fix missing definition of UIO_MAXIOV (BZ [#22321]) - glob-tilde-overflow.patch: Fix buffer overflows with GLOB_TILDE (CVE-2017-15670, CVE-2017-15671, CVE-2017-15804, bsc#1064569. bsc#1064580, bsc#1064583, BZ #22320, BZ #22325, BZ #22332) - dl-runtime-resolve-xsave.patch: Use fxsave/xsave/xsavec in _dl_runtime_resolve (BZ #21265)- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244)- Drop glibc-obsolete - glibc-2.3.90-noversion.diff: remove - reinitialize-dl_load_write_lock.patch: remove- nss-compat.patch: Move nss_compat from nis to nss subdir and install it unconditionally - nsswitch.conf: switch back to compat for passwd, group, shadow- assert-pedantic.patch: Suppress pedantic warning caused by statement expression (BZ #21242, BZ #21972) - math-c++-compat.patch: Add more C++ compatibility (BZ #22235) - getaddrinfo-errno.patch: Fix errno and h_errno handling in getaddrinfo (BZ #21915, BZ #21922) - resolv-conf-oom.patch: Fix memory handling in OOM situation during resolv.conf parsing (BZ #22095, BZ #22096) - dynarray-allocation.patch: Fix initial size of dynarray allocation and set errno on overflow error - nearbyint-inexact.patch: Avoid spurious inexact in nearbyint (BZ #22225)- math-c++-compat.patch: add more C++ compatibility (BZ #22146)- Remove rpcsvc/yppasswd.* from glibc-devel - ld-so-hwcap-x86-64.patch: add x86_64 to hwcap (bsc#1056606, BZ #22093)- eh-frame-zero-terminator.patch: Properly terminate .eh_frame (BZ #22051)- Disable obsolete libnsl and NIS support - remove-nss-nis-compat.patch: remove nis and compat from default NSS configs - nsswitch.conf: Likewise- math-c++-compat.patch: Do not use __builtin_types_compatible_p in C++ mode (BZ #21930)- Add iconvconfig to baselibs.conf (bsc#1051042)- resolv-context-leak.patch: Fix leaks of resolver contexts - dl-runtime-resolve-opt-avx512f.patch: Use _dl_runtime_resolve_opt only with AVX512F (BZ #21871) - libpthread-compat-wrappers.patch: Don't use IFUNC resolver for longjmp or system in libpthread (BZ #21041)- Update to glibc 2.26 * A per-thread cache has been added to malloc * Unicode 10.0.0 Support * Improvements to the DNS stub resolver * New function reallocarray, which resizes an allocated block (like realloc) to the product of two sizes, with a guaranteed clean failure upon integer overflow in the multiplication * New wrappers for the Linux-specific system calls preadv2 and pwritev2 * posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to create a new session ID for the spawned process * errno.h is now safe to use from C-preprocessed assembly language on all supported operating systems * On ia64, powerpc64le, x86-32, and x86-64, the math library now implements 128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE 754-2008) and ISO/IEC TS 18661-3:2015 * The synchronization that pthread_spin_unlock performs has been changed to now be equivalent to a C11 atomic store with release memory order to the spin lock's memory location * The DNS stub resolver no longer performs EDNS fallback * res_mkquery and res_nmkquery no longer support the IQUERY opcode * The _res_opcodes variable has been removed from libresolv * no longer includes inline versions of any string functions, as this kind of optimization is better done by the compiler * The nonstandard header has been removed * The obsolete header has been removed * The obsolete signal constant SIGUNUSED is no longer defined by * The obsolete function cfree has been removed * The stack_t type no longer has the name struct sigaltstack * The ucontext_t type no longer has the name struct ucontext * On S/390 GNU/Linux, the constants defined by have been synced with the kernel * Linux kernel 3.2 or later is required at runtime, on all architectures supported by that kernel * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, to avoid fragmentation-based spoofing attacks (CVE-2017-12132) * LD_LIBRARY_PATH is now ignored in binaries running in privileged AT_SECURE mode to guard against local privilege escalation attacks (CVE-2017-1000366) * Avoid printing a backtrace from the __stack_chk_fail function since it is called on a corrupt stack and a backtrace is unreliable on a corrupt stack (CVE-2010-3192) * A use-after-free vulnerability in clntudp_call in the Sun RPC system has been fixed (CVE-2017-12133) * fate#322258, fate#321513, fate#322453 - fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff, i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch, sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch, tunables-bigendian.patch: Removed- Fix RPM group- s390-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (fate#322271)- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (BZ #21209) - ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)- Remove glibc-cpusetsize.diff, no longer useful- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123, BZ #21289)- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h aliasing- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE locales (bsc#1039502)- Remove glibc-testsuite.patch, no longer relevant- Use multibuild feature - Remove obsolete check-build.sh - glibc.rpmlintrc: remove obsolete entries - Use %tmpfiles_create in nscd postin- i686-memchr-sse.patch: Fix i686 memchr overflow calculation (bsc#1031021, BZ #21182) - sunrpc-use-after-free.patch: Avoid use-after-free read access in clntudp_call (BZ #21115) - Build testsuite with gdb and python-pexpect to enable more tests- tunables-bigendian.patch: Fix getting tunable values on big-endian (BZ [#21109])- Update to glibc 2.25 * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR 24731-2:2010, is supported to enable declarations of functions from that TR. * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS 18661-1:2014, is supported to enable declarations of functions and macros from that TS. * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS 18661-4:2015, is supported to enable declarations of functions and macros from that TS. * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. * The inclusion of by is deprecated. * New features from TS 18661-1:2014 are added to libm: the fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. * Integer width macros from TS 18661-1:2014 are added to : CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, WINT_WIDTH. * New features are added from TS 18661-1:2014: - Signaling NaN macros: SNANF, SNAN, SNANL. - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. - llogb functions: the llogb, llogbf and llogbl functions, and the FP_LLOGB0 and FP_LLOGBNAN macros. - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, fminmagf, fminmagl. - Comparison macros: iseqsig. - Classification macros: iscanonical, issubnormal, iszero. - Total order functions: totalorder, totalorderf, totalorderl, totalordermag, totalordermagf, totalordermagl. - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, are added to libc. * Most of glibc can now be built with the stack smashing protector enabled. * The function explicit_bzero, from OpenBSD, has been added to libc. * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined to float instead of double. * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the float_t and double_t types are now defined to long double instead of float and double. * The getentropy and getrandom functions, and the header file have been added. * The buffer size for byte-oriented stdio streams is now limited to 8192 bytes by default. * The header now includes the header. * The malloc_get_state and malloc_set_state functions have been removed. * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the corresponding RES_NOIP6DOTINT flag from have been removed. * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING flag from have been removed. * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, RES_BLAST defined in the header file have been deprecated. * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for _res.flags are deprecated. * DNSSEC-related declarations and definitions have been removed from the header file, and libresolv will no longer attempt to decode the data part of DNSSEC record types. * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the header file because the distinction between RR types and meta-RR types is not officially standardized, subject to revision, and thus not suitable for encoding in a macro. * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook and rhook members of the res_state type in have been removed. * For multi-arch support it is recommended to use a GCC which has been built with support for GNU indirect functions. * GDB pretty printers have been added for mutex and condition variable structures in POSIX Threads. * Tunables feature added to allow tweaking of the runtime for an application program. * A new version of condition variables functions have been implemented in the NPTL implementation of POSIX Threads to provide stronger ordering guarantees. * A new version of pthread_rwlock functions have been implemented to use a more scalable algorithm primarily through not using a critical section anymore to make state changes. * On ARM EABI (32-bit), generating a backtrace for execution contexts which have been created with makecontext could fail to terminate due to a missing .cantunwind annotation. (CVE-2016-6323) * The DNS stub resolver functions would crash due to a NULL pointer dereference when processing a query with a valid DNS question type which was used internally in the implementation. (CVE-2015-5180) - Enable stack protector if part of %optflags - startcontext-cantunwind.patch: Removed - cpuid-assertion.patch: Removed- cpuid-assertion.patch: Don't assert on older Intel CPUs (BZ #20647)- glibc-2.3.3-nscd-db-path.diff: Move persistent nscd databases to /var/lib/nscd - glibc-2.3.90-langpackdir.diff: simplify- Update to glibc 2.24 * The minimum Linux kernel version that this version of the GNU C Library can be used with is 3.2 * The pap_AN locale has been deleted * The readdir_r and readdir64_r functions have been deprecated * The type `union wait' has been removed * A new NSS action is added to facilitate large distributed system administration * The deprecated __malloc_initialize_hook variable has been removed from the API * The long unused localedef --old-style option has been removed * nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added to libm * An unnecessary stack copy in _nss_dns_getnetbyname_r was removed (CVE-2016-3075) * Previously, getaddrinfo copied large amounts of address data to the stack, even after the fix for CVE-2013-4458 has been applied, potentially resulting in a stack overflow. getaddrinfo now uses a heap allocation instead (CVE-2016-3706) * The glob function suffered from a stack-based buffer overflow when it was called with the GLOB_ALTDIRFUNC flag and encountered a long file name (CVE-2016-1234) * The Sun RPC UDP client could exhaust all available stack space when flooded with crafted ICMP and UDP messages (CVE-2016-4429) * The IPv6 name server management code in libresolv could result in a memory leak for each thread which is created, performs a failing naming lookup, and exits (CVE-2016-5417) - startcontext-cantunwind.patch: mark __startcontext as .cantunwind (bsc#974800, BZ #20435) - Removed patches: * 0001-Updated-translations-for-2.23.patch * 0002-Regenerate-libc.pot-for-2.23.patch * 0003-Regenerated-configure-scripts.patch * 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch * 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch * 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch * 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch * 0008-Update-NEWS.patch * 0009-sln-use-stat64.patch * 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch * 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch * 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch * 0013-Mention-BZ-19762-in-NEWS.patch * 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch * 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch * 0016-Fix-resource-leak-in-resolver-bug-19257.patch * 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch * 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch * 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch * 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch * 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch * 0022-configure-fix-test-usage.patch * 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch * 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch * 0025-getnameinfo-Do-not-preserve-errno.patch * 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch * 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch * 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch * 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch * 0030-hesiod-Remove-RCS-keywords.patch * 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch * 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch * 0033-malloc-Remove-NO_THREADS.patch * 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch * 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch * 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch * 0037-malloc-Add-missing-internal_function-attributes-on-f.patch * 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch * 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch * 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch * 0041-nss_dns-Check-address-length-before-creating-addrinf.patch * 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch * 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch * 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch * 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch * 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch * 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch * 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch * 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch * 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch * 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch * 0052-Fix-tst-dlsym-error-build.patch * 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch * 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch * 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch * 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch * clntudp-call-alloca.patch * glibc-memset-nontemporal.diff * nis-initgroups-status.patch * nscd-gc-crash.patch * robust-mutex-deadlock.patch * strncat-avoid-array-bounds-warning.patch- strncat-avoid-array-bounds-warning.patch: Avoid array-bounds warning for stncat on i586 (BZ #20260) - Update glibc.keyring - Unset MALLOC_CHECK_ during testsuite run- nsswitch.conf: Add fallback to files for passwd and group to prepare for libnsl removal.- nis-initgroups-status.patch: Return proper status from _nss_nis_initgroups_dyn (bsc#984269, BZ #20262) - robust-mutex-deadlock.patch: Fix generic __lll_robust_timedlock_wait to check for timeout (bsc#985170, BZ #20263)- nscd-gc-crash.patch: Fix nscd assertion failure in gc (bsc#965699, BZ [#19755])- clntudp-call-alloca.patch: do not use alloca in clntudp_call (CVE-2016-4429, bsc#980854, BZ #20112)- Import patches from 2.23 branch 0001-Updated-translations-for-2.23.patch 0002-Regenerate-libc.pot-for-2.23.patch 0003-Regenerated-configure-scripts.patch 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch 0008-Update-NEWS.patch 0009-sln-use-stat64.patch 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch 0013-Mention-BZ-19762-in-NEWS.patch 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch 0016-Fix-resource-leak-in-resolver-bug-19257.patch 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch 0022-configure-fix-test-usage.patch 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch 0025-getnameinfo-Do-not-preserve-errno.patch 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch 0030-hesiod-Remove-RCS-keywords.patch 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch 0033-malloc-Remove-NO_THREADS.patch 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch 0037-malloc-Add-missing-internal_function-attributes-on-f.patch 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch 0041-nss_dns-Check-address-length-before-creating-addrinf.patch 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch 0052-Fix-tst-dlsym-error-build.patch 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch - CVE-2016-3075 CVE-2016-1234 CVE-2016-3706 bsc#973164 bsc#969727 - resolv-mem-leak.patch: renamed to 0016-Fix-resource-leak-in-resolver-bug-19257.patch - no-long-double.patch: renamed to 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch - glibc-gcc6.patch: renamed to 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch- glibc-c-utf8-locale.patch: fix bad standard in LC_IDENTIFICATION categories - glibc-2.3.locales.diff.bz2: likewise- glibc-gcc6.patch: Suppress GCC 6 warning about ambiguous 'else' with - Wparentheses- Add compatibility symlinks for LSB 3.0 (fate#318933)- powerpc-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)- ldd-system-interp.patch: Restore warning about execution permission, it is still needed for noexec mounts (bsc#915985)- Add C.UTF-8 locale (see https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) and rh#902094 . Added with glibc-c-utf8-locale.patch. - Add glibc-disable-gettext-for-c-utf8.patch to disable gettext for C.UTF-8 same as C locale.- Move %install_info_delete to %preun - crypt_blowfish-1.3.tar.gz.sign: Remove, the sign key is no longer acceptable- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE- Update to glibc 2.23 release. * Unicode 8.0.0 Support * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the kernel-internal CPU set size * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64 * getaddrinfo now detects certain invalid responses on an internal netlink socket * A defect in the malloc implementation, present since glibc 2.15 (2012) or glibc 2.10 via --enable-experimental-malloc (2009), could result in the unnecessary serialization of memory allocation requests across threads * The obsolete header has been removed * The obsolete functions bdflush, create_module, get_kernel_syms, query_module and uselib are no longer available to newly linked binaries * Optimized string, wcsmbs and memory functions for IBM z13. * Newly linked programs that define a variable called signgam will no longer have it set by the lgamma, lgammaf and lgammal functions - Removed patches: * dont-remove-nodelete-flag.patch * openat64-readd-o-largefile.patch * mntent-blank-line.patch * opendir-o-directory-check.patch * strcoll-remove-strdiff-opt.patch * ld-pointer-guard.patch * tls-dtor-list-mangling.patch * powerpc-lock-elision-race.patch * prelink-elf-rtype-class.patch * vector-finite-math-aliases.patch * powerpc-elision-adapt-param.patch * catopen-unbound-alloca.patch * strftime-range-check.patch * hcreate-overflow-check.patch * errorcheck-mutex-no-elision.patch * refactor-nan-parsing.patch * send-dg-buffer-overflow.patch * isinf-cxx11-conflict.patch * ibm93x-redundant-shift-si.patch * iconv-reset-input-buffer.patch * tzset-tzname.patch * static-dlopen.patch- isinf-cxx11-conflict.patch: Fix isinf/isnan declaration conflict with C++11 (bsc#963700, BZ #19439)- tls-dtor-list-mangling.patch: Harden tls_dtor_list with pointer mangling (BZ #19018) - prelink-elf-rtype-class.patch: Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink (BZ #19178) - vector-finite-math-aliases.patch: Better workaround for aliases of * _finite symbols in vector math library (BZ# 19058) - powerpc-elision-adapt-param.patch: powerpc: Fix usage of elision transient failure adapt param (BZ #19174) - catopen-unbound-alloca.patch: Fix unbound alloca in catopen (CVE-2015-8779, bsc#962739, BZ #17905) - strftime-range-check.patch: Add range check on time fields (CVE-2015-8776, bsc#962736, BZ #18985) - hcreate-overflow-check.patch: Handle overflow in hcreate (CVE-2015-8778, bsc#962737, BZ #18240) - errorcheck-mutex-no-elision.patch: Don't do lock elision on an error checking mutex (bsc#956716, BZ #17514) - refactor-nan-parsing.patch: Refactor strtod parsing of NaN payloads (CVE-2014-9761, bsc#962738, BZ #16962) - send-dg-buffer-overflow.patch: Fix getaddrinfo stack-based buffer overflow (CVE-2015-7547, bsc#961721, BZ #18665) - powerpc-lock-elision-race.patch: renamed from 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- Add audit-devel and libcap-devel to BuildRequires, for use by nscd- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock on fork (bsc#958315, BZ #19282)- resolv-mem-leak.patch: Fix resource leak in resolver (bsc#955647, BZ #19257) - tzset-tzname.patch: Force rereading TZDEFRULES after it was used to set DST rules only (BZ #19253)- glibc-2.3.90-noversion.diff: use stat64- ld-pointer-guard.patch: Always enable pointer guard (CVE-2015-8777, bsc#950944, BZ #18928)- strcoll-remove-strdiff-opt.patch: Remove incorrect STRDIFF-based optimization (BZ #18589)- iconv-reset-input-buffer.patch: Fix iconv buffer handling with IGNORE error handler (BZ #18830)- new patch [BZ #18743] PowerPC: Fix a race condition when eliding a lock 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- nss-files-long-lines-2.patch: Properly reread entry after failure in nss_files getent function (bsc#945779, BZ #18991)- fnmatch-collating-elements.patch: Fix fnmatch handling of collating elements (BZ #17396, BZ #16976)- opendir-o-directory-check.patch: Fix opendir inverted o_directory_works test - static-dlopen.patch: Static dlopen default library search path fix (bsc#937853)- mntent-blank-line.patch: Fix memory corruption w/blank lines- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from all loaded objects on failed dlopen - openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64- Update to glibc 2.22 release. * Cache information can be queried via sysconf() function on s390 * A buffer overflow in gethostbyname_r and related functions performing DNS requests has been fixed. (CVE-2015-1781) * The time zone file parser has been made more robust against crafted time zone files * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors for LD and GD on x86 and x86-64, has been implemented. * Character encoding and ctype tables were updated to Unicode 7.0.0 * Added vector math library named libmvec * A new fmemopen implementation has been added with the goal of POSIX compliance. * The header is deprecated, and will be removed in a future release. * bsc#905313 bsc#920338 bsc#927080 bsc#928723 bsc#931480 bsc#939211 bsc#940195 bsc#940332 bsc#944494 bsc#968787 - Patches from upstream removed * htm-tabort.patch * o-tmpfile.patch * memcpy-chk-non-SSE2.patch * pthread-mutexattr-gettype-kind.patch * powerpc-software-sqrt.patch * static-tls-dtv-limit.patch * threaded-trim-threshold.patch * resolv-nameserver-handling.patch * nss-separate-state-getXXent.patch * aarch64-sigstksz.patch * heap-top-corruption.patch * pthread-join-deadlock.patch- pthread-join-deadlock.patch: Use IE model for static variables in libc.so, libpthread.so and rtld (bsc#930015, BZ #18457)- glibc-nodate.patch: fix verification of timestamp- also filter out -fstack-protector-strong- getaddrinfo-ipv6-sanity.diff: Remove. It breaks services that start before IPv6 is up (bsc#931399) - glibc-2.3.locales.diff.bz2: Remove sh_YU locales, fix currency for en_BE.- Add /usr/include/gnu/lib-names-.*.h to baselibs - pthread-join-deadlock.patch: Don't require rtld lock to store static TLS offset in the DTV (bsc#930015, BZ #18457) - heap-top-corruption.patch: Do not corrupt the top of a threaded heap if top chunk is MINSIZE (BZ #18502)- threaded-trim-threshold.patch: Fix regression in threaded application malloc performance (bsc#915955, BZ #17195)- aarch64-sigstksz.patch: Increase MINSIGSTKSZ and SIGSTKSZ (BZ #16850)- powerpc-software-sqrt.patch: Fix powerpc software sqrt (BZ #17964, BZ [#17967]) - nss-separate-state-getXXent.patch: Separate internal state between getXXent and getXXbyYY NSS calls (CVE-2014-8121, bsc#918187, BZ #18007) - static-tls-dtv-limit.patch: Fix DTV race, assert, DTV_SURPLUS Static TLS limit, and nptl_db garbage (bsc#919678, BZ #17090, BZ #17620, BZ #17621, BZ #17628)- resolv-nameserver-handling.patch: Replace with simpler version with more compatibility- memcpy-chk-non-SSE2.patch: Fix __memcpy_chk on non-SSE2 CPUs (bsc#920084)- resolv-nameserver-handling.patch: Rewrite handling of nameserver configuration in resolver- htm-tabort.patch: Fix TABORT encoding for little endian- Update to glibc 2.21 release. * A new semaphore algorithm has been implemented in generic C code for all machines * Added support for TSX lock elision of pthread mutexes on powerpc32, powerpc64 and powerpc64le * Optimized strcpy, stpcpy, strchrnul and strrchr implementations for AArch64 * i386 memcpy functions optimized with SSE2 unaligned load/store * New locales: tu_IN, bh_IN, raj_IN, ce_RU * The obsolete sigvec function has been removed * CVE-2015-1472 CVE-2015-1473 CVE-2012-3406 CVE-2014-9402 CVE-2014-7817 bsc#864081 bsc#906371 bsc#909053 bsc#910599 bsc#916222 - Patches from upstream removed * ifunc-x86-slow-sse4.patch * pthread-mutex-trylock-elision.patch - o-tmpfile.patch: Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)- Update to crypt_blowfish 1.3. * Add support for the $2b$ prefix. - ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)obs-arm-11 1638422403  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.26-lp152.26.12.1glibcAborting-a-Program.htmlAbsolute-Priority.htmlAbsolute-Value.htmlAbstract-Host-Addresses.htmlAccepting-Connections.htmlAccess-Modes.htmlAccess-Permission.htmlAccess-to-the-Terminal.htmlAccessing-Directories.htmlActions-in-the-NSS-configuration.htmlAdding-Platform_002dspecific.htmlAdding-Severity-Classes.htmlAdding-another-Service-to-NSS.htmlAddress-Formats.htmlAdvanced-Signal-Handling.htmlAdvanced-gettext-functions.htmlAdvantages-of-Alloca.htmlAlarm-Signals.htmlAligned-Memory-Blocks.htmlAlloca-Example.htmlAllocating-Cleared-Space.htmlAllocation-Debugging.htmlAllocation-in-an-Obstack.htmlAllocation.htmlArgp-Children.htmlArgp-Example-1.htmlArgp-Example-2.htmlArgp-Example-3.htmlArgp-Example-4.htmlArgp-Examples.htmlArgp-Flags.htmlArgp-Global-Variables.htmlArgp-Help-Filter-Keys.htmlArgp-Help-Filtering.htmlArgp-Help-Flags.htmlArgp-Help.htmlArgp-Helper-Functions.htmlArgp-Option-Flags.htmlArgp-Option-Vectors.htmlArgp-Parser-Functions.htmlArgp-Parsers.htmlArgp-Parsing-State.htmlArgp-Special-Keys.htmlArgp-User-Customization.htmlArgp.htmlArgument-Macros.htmlArgument-Syntax.htmlArgz-Functions.htmlArgz-and-Envz-Vectors.htmlArithmetic-Functions.htmlArithmetic.htmlArray-Search-Function.htmlArray-Sort-Function.htmlAsynchronous-I_002fO-Signals.htmlAsynchronous-I_002fO.htmlAsynchronous-Reads_002fWrites.htmlAtomic-Data-Access.htmlAtomic-Types.htmlAtomic-Usage.htmlAttribute-Meanings.htmlAuxiliary-Vector.htmlBSD-Random.htmlBSD-Signal-Handling.htmlBSD-Terminal-Modes.htmlBSD-Wait-Functions.htmlBacktraces.htmlBasic-Allocation.htmlBasic-Scheduling-Functions.htmlBasic-Signal-Handling.htmlBerkeley-Unix.htmlBinary-Streams.htmlBlock-Input_002fOutput.htmlBlocking-Signals.htmlBlocking-for-Handler.htmlBroken_002ddown-Time.htmlBuffering-Concepts.htmlByte-Order.htmlByte-Stream-Example.htmlCPU-Affinity.htmlCPU-Time.htmlCalendar-Time.htmlCalling-Glob.htmlCalling-Variadics.htmlCalling-Wordexp.htmlCancel-AIO-Operations.htmlCanonical-or-Not.htmlCase-Conversion.htmlChanging-Block-Size.htmlCharacter-Handling.htmlCharacter-Input.htmlCharacter-Set-Handling.htmlCharset-Function-Overview.htmlCharset-conversion-in-gettext.htmlChecking-for-Errors.htmlChecking-for-Pending-Signals.htmlChoosing-Locale.htmlClassification-of-Characters.htmlClassification-of-Wide-Characters.htmlCleaning-Streams.htmlCleanups-on-Exit.htmlClosing-Streams.htmlClosing-a-Socket.htmlCollation-Functions.htmlCommon-Usage.htmlCommunication-Styles.htmlComparison-Functions.htmlComplex-Numbers.htmlConcatenating-Strings.htmlConcept-Index.htmlConcepts-of-Job-Control.htmlConcepts-of-Signals.htmlConditionally-Safe-Features.htmlConfiguration-of-AIO.htmlConfiguring-Inetd.htmlConfiguring-and-compiling.htmlConnecting.htmlConnections.htmlConsistency-Checking.htmlConstants-for-Sysconf.htmlContinuing-Stopped-Jobs.htmlContributors.htmlControl-Functions.htmlControl-Modes.htmlControl-Operations.htmlControlling-Buffering.htmlControlling-Terminal.htmlConversion-Specifier-Options.htmlConverting-Strings.htmlConverting-a-Character.htmlCopying-Strings-and-Arrays.htmlCopying.htmlCreating-Directories.htmlCreating-Obstacks.htmlCreating-a-Pipe.htmlCreating-a-Process.htmlCreating-a-Socket.htmlCryptographic-Functions.htmlCurrency-Symbol.htmlCustom-Streams.htmlCustomizing-Printf.htmlDES-Encryption.htmlData-Structures.htmlData-Type-Measurements.htmlDatabase-Example.htmlDatagram-Example.htmlDatagrams.htmlDate-and-Time.htmlDebugging-Support.htmlDefault-Thread-Attributes.htmlDefining-Handlers.htmlDefining-the-Output-Handler.htmlDeleting-Files.htmlDelivery-of-Signal.htmlDescriptor-Flags.htmlDescriptors-and-Streams.htmlDirectories.htmlDirectory-Entries.htmlDisadvantages-of-Alloca.htmlDocumentation-License.htmlDuplicating-Descriptors.htmlDynamic-Output.htmlDynamic-String-Input.htmlEOF-and-Errors.htmlEditing-Characters.htmlEffects-of-Locale.htmlElapsed-Time.htmlEnable_002fDisable-Setuid.htmlEncode-Binary-Data.htmlEnvironment-Access.htmlEnvironment-Variables.htmlEnvz-Functions.htmlErasing-Sensitive-Data.htmlError-Codes.htmlError-Messages.htmlError-Recovery.htmlError-Reporting.htmlErrors-in-Math-Functions.htmlExample-Receiver.htmlExample-of-Getopt.htmlExample-of-Parsing.htmlExample.htmlExamples-of-Sysconf.htmlExecuting-a-File.htmlExit-Status.htmlExpansion-Stages.htmlExponents-and-Logarithms.htmlExtended-Char-Intro.htmlExtending-NSS.htmlExtra-Fast-Growing.htmlFIFO-Special-Files.htmlFP-Bit-Twiddling.htmlFP-Comparison-Functions.htmlFP-Exceptions.htmlFP-Function-Optimizations.htmlFeature-Test-Macros.htmlFile-Attributes.htmlFile-Index.htmlFile-Locks.htmlFile-Minimums.htmlFile-Name-Errors.htmlFile-Name-Portability.htmlFile-Name-Resolution.htmlFile-Names.htmlFile-Owner.htmlFile-Position-Primitive.htmlFile-Position.htmlFile-Positioning.htmlFile-Size.htmlFile-Status-Flags.htmlFile-System-Interface.htmlFile-Times.htmlFilesystem-Handling.htmlFinding-Tokens-in-a-String.htmlFlags-for-Globbing.htmlFlags-for-POSIX-Regexps.htmlFlags-for-Sigaction.htmlFlags-for-Wordexp.htmlFloating-Point-Classes.htmlFloating-Point-Concepts.htmlFloating-Point-Errors.htmlFloating-Point-Numbers.htmlFloating-Point-Parameters.htmlFloating-Type-Macros.htmlFloating_002dPoint-Conversions.htmlFlushing-Buffers.htmlForeground-and-Background.htmlFormatted-Input-Basics.htmlFormatted-Input-Functions.htmlFormatted-Input.htmlFormatted-Messages.htmlFormatted-Output-Basics.htmlFormatted-Output-Functions.htmlFormatted-Output.htmlFormatting-Calendar-Time.htmlFormatting-Numbers.htmlFree-Manuals.htmlFreeing-Obstack-Objects.htmlFreeing-after-Malloc.htmlFunction-Index.htmlFunctions-for-Job-Control.htmlGNU-C-Variable_002dSize-Arrays.htmlGUI-program-problems.htmlGeneral-Limits.htmlGeneral-Numeric.htmlGeneral-Time-String-Parsing.htmlGenerating-Signals.htmlGeneric-Charset-Conversion.htmlGeneric-Conversion-Interface.htmlGetopt-Long-Option-Example.htmlGetopt-Long-Options.htmlGetopt.htmlGetting-File-Status-Flags.htmlGetting-Started.htmlGlobbing.htmlGroup-Data-Structure.htmlGroup-Database.htmlGrowing-Objects.htmlHandler-Returns.htmlHard-Links.htmlHardware-Capability-Tunables.htmlHash-Search-Function.htmlHeader-Files.htmlHeap-Consistency-Checking.htmlHelper-programs-for-gettext.htmlHierarchy-Conventions.htmlHigh-Accuracy-Clock.htmlHigh_002dResolution-Calendar.htmlHook-Functions.htmlHooks-for-Malloc.htmlHost-Address-Data-Type.htmlHost-Address-Functions.htmlHost-Addresses.htmlHost-Identification.htmlHost-Names.htmlHow-Change-Persona.htmlHow-Many-Arguments.htmlHow-Unread.htmlHow-Variadic.htmlHyperbolic-Functions.htmlIEEE-Floating-Point.htmlIOCTLs.htmlISO-C.htmlISO-Random.htmlI_002fO-Concepts.htmlI_002fO-Overview.htmlI_002fO-Primitives.htmlI_002fO-Queues.htmlI_002fO-on-Streams.htmlIdentifying-the-Terminal.htmlImplementing-a-Shell.htmlImportant-Data-Types.htmlIndependent-Channels.htmlInet-Example.htmlInetd-Servers.htmlInetd.htmlInfinity-and-NaN.htmlInitial-Signal-Actions.htmlInitializing-the-Shell.htmlInput-Conversion-Syntax.htmlInput-Modes.htmlInstallation.htmlInteger-Conversions.htmlInteger-Division.htmlIntegers.htmlInter_002dProcess-Communication.htmlInterface-Naming.htmlInternal-Probes.htmlInternet-Address-Formats.htmlInternet-Namespace.htmlInterpreting-the-traces.htmlInterrupt-Input.htmlInterrupted-Primitives.htmlIntroduction.htmlInverse-Trig-Functions.htmlIs-It-a-Terminal.htmlJob-Control-Signals.htmlJob-Control-is-Optional.htmlJob-Control.htmlKeeping-the-state.htmlKill-Example.htmlKinds-of-Signals.htmlLanguage-Features.htmlLaunching-Jobs.htmlLegal-Problems.htmlLibrary-Summary.htmlLimits-for-Files.htmlLimits-on-Resources.htmlLine-Control.htmlLine-Input.htmlLine-Speed.htmlLinked-Channels.htmlLinux.htmlListening.htmlLocal-Modes.htmlLocal-Namespace-Concepts.htmlLocal-Namespace-Details.htmlLocal-Namespace.htmlLocal-Socket-Example.htmlLocale-Categories.htmlLocale-Information.htmlLocale-Names.htmlLocales.htmlLocating-gettext-catalog.htmlLocked-Memory-Details.htmlLocking-Pages.htmlLogging-In-and-Out.htmlLongjmp-in-Handler.htmlLookup-Group.htmlLookup-Netgroup.htmlLookup-User.htmlLow_002dLevel-I_002fO.htmlLow_002dLevel-Terminal-Interface.htmlLow_002dLevel-Time-String-Parsing.htmlMacro-Definitions.htmlMaintenance.htmlMaking-Special-Files.htmlMalloc-Examples.htmlMalloc-Tunable-Parameters.htmlManipulating-the-Database.htmlMatching-POSIX-Regexps.htmlMath-Error-Reporting.htmlMathematical-Constants.htmlMathematical-Function-Probes.htmlMathematics.htmlMemory-Allocation-Probes.htmlMemory-Allocation-Tunables.htmlMemory-Allocation-and-C.htmlMemory-Allocation.htmlMemory-Concepts.htmlMemory-Protection.htmlMemory-Resources.htmlMemory-Subsystem.htmlMemory.htmlMemory_002dmapped-I_002fO.htmlMerged-Signals.htmlMessage-Translation.htmlMessage-catalogs-a-la-X_002fOpen.htmlMessage-catalogs-with-gettext.htmlMinimums.htmlMisc-FP-Arithmetic.htmlMisc-Namespaces.htmlMiscellaneous-Signals.htmlMissing-Pieces.htmlMode-Data-Types.htmlMode-Functions.htmlMore-Flags-for-Globbing.htmlMount-Information.htmlMount_002dUnmount_002dRemount.htmlMultibyte-Conversion-Example.htmlNSS-Basics.htmlNSS-Configuration-File.htmlNSS-Module-Function-Internals.htmlNSS-Module-Internals.htmlNSS-Module-Names.htmlNSS-Modules-Interface.htmlName-Service-Switch.htmlNetgroup-Data.htmlNetgroup-Database.htmlNetgroup-Membership.htmlNetworks-Database.htmlNon_002dLocal-Details.htmlNon_002dLocal-Exits-and-Signals.htmlNon_002dLocal-Exits.htmlNon_002dLocal-Intro.htmlNon_002dPOSIX-Extensions.htmlNon_002datomic-Example.htmlNon_002dlocal-Goto-Probes.htmlNon_002dreentrant-Character-Conversion.htmlNon_002dreentrant-Conversion.htmlNon_002dreentrant-String-Conversion.htmlNoncanon-Example.htmlNoncanonical-Input.htmlNonreentrancy.htmlNormal-Termination.htmlNormalization-Functions.htmlNotes-on-NSS-Configuration-File.htmlNull-Pointer-Constant.htmlNumeric-Input-Conversions.htmlObstack-Chunks.htmlObstack-Functions.htmlObstacks-Data-Alignment.htmlObstacks.htmlOpen-File-Description-Locks-Example.htmlOpen-File-Description-Locks.htmlOpen_002dtime-Flags.htmlOpen_002fClose-Sockets.htmlOpening-Streams.htmlOpening-a-Directory.htmlOpening-and-Closing-Files.htmlOperating-Modes.htmlOperation-Error-Signals.htmlOperations-on-Complex.htmlOptions-for-Files.htmlOrphaned-Process-Groups.htmlOther-Input-Conversions.htmlOther-Kinds-of-Streams.htmlOther-Mount-Information.htmlOther-Output-Conversions.htmlOther-Safety-Remarks.htmlOther-Special.htmlOther-iconv-Implementations.htmlOut_002dof_002dBand-Data.htmlOutput-Conversion-Syntax.htmlOutput-Modes.htmlOverview-of-Syslog.htmlPOSIX-Regexp-Compilation.htmlPOSIX-Safety-Concepts.htmlPOSIX-Threads.htmlPOSIX.htmlPage-Lock-Functions.htmlParsing-Date-and-Time.htmlParsing-Program-Arguments.htmlParsing-a-Template-String.htmlParsing-of-Floats.htmlParsing-of-Integers.htmlParsing-of-Numbers.htmlPathconf.htmlPattern-Matching.htmlPause-Problems.htmlPermission-Bits.htmlPermission-for-kill.htmlPipe-Atomicity.htmlPipe-to-a-Subprocess.htmlPipes-and-FIFOs.htmlPlatform-Type.htmlPlatform.htmlPortable-Positioning.htmlPorting-to-Unix.htmlPorting.htmlPorts.htmlPowerPC.htmlPredefined-Printf-Handlers.htmlPreparing-for-Obstacks.htmlPrintf-Extension-Example.htmlPrinting-Formatted-Messages.htmlPrinting-of-Floats.htmlPriority.htmlProcess-Completion-Status.htmlProcess-Completion.htmlProcess-Creation-Concepts.htmlProcess-Creation-Example.htmlProcess-Group-Functions.htmlProcess-Identification.htmlProcess-Persona.htmlProcess-Signal-Mask.htmlProcesses.htmlProcessor-And-CPU-Time.htmlProcessor-Resources.htmlProcessor-Time.htmlProgram-Arguments.htmlProgram-Basics.htmlProgram-Error-Signals.htmlProgram-Termination.htmlProtocols-Database.htmlPseudo_002dRandom-Numbers.htmlPseudo_002dTerminal-Pairs.htmlPseudo_002dTerminals.htmlQuery-Memory-Parameters.htmlRandom-Access-Directory.htmlRange-of-Type.htmlReading-Address.htmlReading-Attributes.htmlReading-Persona.htmlReading_002fClosing-Directory.htmlRealtime-Scheduling.htmlReceiving-Arguments.htmlReceiving-Data.htmlReceiving-Datagrams.htmlRegexp-Cleanup.htmlRegexp-Subexpressions.htmlRegistering-New-Conversions.htmlRegular-Expressions.htmlRemainder-Functions.htmlRemembering-a-Signal.htmlRenaming-Files.htmlReplacing-malloc.htmlReporting-Bugs.htmlRepresentation-of-Strings.htmlReserved-Names.htmlResizing-the-Data-Segment.htmlResource-Usage-And-Limitation.htmlResource-Usage.htmlRestartable-multibyte-conversion.htmlRoadmap-to-the-Manual.htmlRounding-Functions.htmlRounding.htmlRunning-a-Command.htmlRunning-make-install.htmlSVID-Random.htmlSVID.htmlScanning-All-Groups.htmlScanning-All-Users.htmlScanning-Directory-Content.htmlScatter_002dGather.htmlSearch-Functions.htmlSearch_002fSort-Example.htmlSearching-and-Sorting.htmlSelecting-the-Conversion.htmlSemaphores.htmlSending-Data.htmlSending-Datagrams.htmlServer-Example.htmlServices-Database.htmlServices-in-the-NSS-configuration.htmlSetting-Address.htmlSetting-Groups.htmlSetting-Modes.htmlSetting-Permissions.htmlSetting-User-ID.htmlSetting-an-Alarm.htmlSetting-the-Locale.htmlSetuid-Program-Example.htmlShift-State.htmlSigaction-Function-Example.htmlSign-of-Money-Amount.htmlSignal-Actions.htmlSignal-Characters.htmlSignal-Generation.htmlSignal-Handling.htmlSignal-Messages.htmlSignal-Sets.htmlSignal-Stack.htmlSignal-and-Sigaction.htmlSignaling-Another-Process.htmlSignaling-Yourself.htmlSignals-in-Handler.htmlSigsuspend.htmlSimple-Calendar-Time.htmlSimple-Directory-Lister-Mark-II.htmlSimple-Directory-Lister.htmlSimple-Output.htmlSleeping.htmlSocket-Addresses.htmlSocket-Concepts.htmlSocket-Data-Options.htmlSocket-Option-Functions.htmlSocket-Options.htmlSocket-Pairs.htmlSocket_002dLevel-Options.htmlSockets.htmlSource-Layout.htmlSpecial-Characters.htmlSpecial-Functions.htmlStandard-Environment.htmlStandard-Locales.htmlStandard-Signals.htmlStandard-Streams.htmlStandards-and-Portability.htmlStart_002fStop-Characters.htmlStatistics-of-Malloc.htmlStatus-bit-operations.htmlStatus-of-AIO-Operations.htmlStatus-of-an-Obstack.htmlStopped-and-Terminated-Jobs.htmlStorage-Allocation.htmlStream-Buffering.htmlStream_002fDescriptor-Precautions.htmlStreams-and-Cookies.htmlStreams-and-File-Descriptors.htmlStreams-and-I18N.htmlStreams-and-Threads.htmlStreams.htmlString-Input-Conversions.htmlString-Length.htmlString-Parameters.htmlString-Streams.htmlString-and-Array-Utilities.htmlString_002fArray-Comparison.htmlString_002fArray-Conventions.htmlStructure-Measurement.htmlSubexpression-Complications.htmlSubmitting-Syslog-Messages.htmlSuboptions-Example.htmlSuboptions.htmlSummary-of-Malloc.htmlSummary-of-Obstacks.htmlSymbolic-Links.htmlSynchronizing-AIO-Operations.htmlSynchronizing-I_002fO.htmlSysconf-Definition.htmlSysconf.htmlSyslog-Example.htmlSyslog.htmlSystem-Calls.htmlSystem-Configuration.htmlSystem-Management.htmlSystem-Options.htmlSystem-Parameters.htmlSystem-V-Number-Conversion.htmlSystem-V-contexts.htmlTZ-Variable.htmlTable-of-Input-Conversions.htmlTable-of-Output-Conversions.htmlTemporary-Files.htmlTerminal-Access-Functions.htmlTerminal-Modes.htmlTermination-Internals.htmlTermination-Signals.htmlTermination-in-Handler.htmlTesting-File-Access.htmlTesting-File-Type.htmlTesting-for-Delivery.htmlThe-Elegant-and-Fast-Way.htmlThe-GNU-Allocator.htmlThe-Lame-Way-to-Locale-Data.htmlThe-Uniforum-approach.htmlThe-catgets-Functions.htmlThe-gencat-program.htmlThe-message-catalog-files.htmlThread_002dspecific-Data.htmlTilde-Expansion.htmlTime-Basics.htmlTime-Functions-Example.htmlTime-Zone-Functions.htmlTips-for-Setuid.htmlTips-for-the-Memory-Debugger.htmlTools-for-Compilation.htmlTracing-malloc.htmlTraditional-Scheduling-Functions.htmlTraditional-Scheduling-Intro.htmlTraditional-Scheduling.htmlTransferring-Data.htmlTranslation-with-gettext.htmlTree-Search-Function.htmlTrig-Functions.htmlTrivial-Encryption.htmlTruncating-Strings.htmlTunable-names.htmlTunables.htmlType-Index.htmlUnconstrained-Allocation.htmlUnpredictable-Bytes.htmlUnreading-Idea.htmlUnreading.htmlUnsafe-Features.htmlUser-Accounting-Database.htmlUser-Data-Structure.htmlUser-Database.htmlUser-and-Group-IDs.htmlUsers-and-Groups.htmlUsing-Getopt.htmlUsing-Pause.htmlUsing-Wide-Char-Classes.htmlUsing-gettextized-software.htmlUsing-the-Library.htmlUsing-the-Memory-Debugger.htmlUtility-Limits.htmlUtility-Minimums.htmlVariable-Arguments-Input.htmlVariable-Arguments-Output.htmlVariable-Index.htmlVariable-Size-Automatic.htmlVariable-Substitution.htmlVariadic-Example.htmlVariadic-Functions.htmlVariadic-Prototypes.htmlVersion-Supported.htmlWaiting-for-I_002fO.htmlWaiting-for-a-Signal.htmlWho-Logged-In.htmlWho-is-Connected.htmlWhy-Block.htmlWhy-Change-Persona.htmlWhy-Lock-Pages.htmlWhy-Variadic.htmlWide-Character-Case-Conversion.htmlWidth-of-Type.htmlWildcard-Matching.htmlWord-Expansion.htmlWordexp-Example.htmlWorking-Directory.htmlWorking-with-Directory-Trees.htmlWriting-a-User-Entry.htmlXPG-Functions.htmlXPG.htmlYes_002dor_002dNo-Questions.htmlcloselog.htmlcrypt.htmlfstab.htmlgetpass.htmlglibc-iconv-Implementation.htmliconv-Examples.htmlindex.htmlmtab.htmlopenlog.htmlsetlogmask.htmlstrfry.htmlsyslog_003b-vsyslog.html/usr/share/doc//usr/share/doc/glibc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17211/openSUSE_Leap_15.2_Update_ports/0c93e263b2282956348649f17d94b3b7-glibc.openSUSE_Leap_15.2_Updatedrpmxz5aarch64-suse-linuxdirectoryHTML document, ASCII text, with very long linesHTML document, ASCII textC source, ASCII text, with very long linesٴs?=utf-85c01aa59b97ca309348b03f02e68db81c3ffe5fdcddcd793dfc0291941e5f504?P7zXZ !t/%I]"k%{J ^6+GIM{0Mؓ/!PWnJ ;] N#u0=#= A!WWG眦0'vBUfqOB W3 n{ m)?bOSA~qn=#NLoic[u#vEFٰ-Av]lI^pUL}^@fHO9\+|&] IVHU=ZM(2ΖbӚ9|5f,e3I5)C(?9xTq+rB ۸},EMu< Y"/ \f3ȭ`miTIP6F9=oWP E#Œa"t[1 jdtx \Ԏ9M4e'C{ke,;9t$ot M9pVm oyP aoҏ9a}e_t6DeSV3a)TX5`k.Vޗc+>&wq(R|4O]PzD =vcrR /ײ@ج]d^'D}qqbfK1E|\D)`pgj[33RF ._{v퇷(kbd7n%͚Hɤa9fOI/}:zդy⧫E*Rug8^eut::4WKpO&G+g9mչhoC ̞ևlX<|nȞ/& <{ H@9q|;Pa"ުh[N*L etC%Z!ΡM4~]J | `aMH Sފrd(dBȱKpD(^.vEG!R+7a7+|nlI6E<*/F˦&kXtmr]!}S[q2Vm j_z$-27v6Ζ"B"w@ʝ&1t̻zq NMVUF(ʌn(а)U_@{M`OZL9&ޚ޵;8 .`3t3<{,`ȋ1\t6}N\q@XGJ@ ]ͥ*PI`N,/#u$pDCmӯ ƭv[n(( ;!~I+,|S;oQ m0T4 iov׺h9,C:‘vtDn'c-.b>\ U upȟCΨx2x=l}چ?:Mu9OXeͤHW{wB6Gch3 Tvi QJa㩣.uǕeMȊUYj|Ӥu BrJYxpȾ-3eX!o(JLy0&~{ѕ#Hѐ *?4YDםQ-}xTEb ,y&l`*{s9kWl s9jQH'Щ|I ȹL {̇Ln&Xo S˶)ZL3.e-*T4@ Ģv&Zr<{zPj]azQW#:Kp)zI AVc1&6TM?V*~-hۅB>1_R0 )2a[C6ݷDBn?GxjXf[ITbUgxωv>gO$(8ވm[0ӏv_*TʼnڦB8˱j4Uz^GLv|VUL'`dgDŘ*ZK쐪O׃TxZh *0AnJ׹-Q%½Rn[>(!#{t0:ތnVz턀g#8rSs7Z.^ ot/K &j 5cyc-GmΉl B)g7[c:81 ηP;4dYcbaa4O]ÖTb~[ ~ՅX#æHLˉ=E[4SMX մf7/o-ڟk^ #l-No)MQM dZR$ޝ<$'j'ǟ(6\›Ʊ3lLu](sŽ?I9 d1Y<]=D`Tg"x`K$'sIsqmY|FӾ%4Rb)OaPm2 MDlZ"8#S?qm.rD$([SP";竏BU$>`o  Jc7yNdSB'WxmTxbl a*=GPvƔ^Y,K$.׶[ӉDI/y6ԸD*Y3벬RJ Cn@pT|lWNYԻ+X.t}>w:N?@;E1h\đ!׾-#ܓ9-ii1? 1pvߞI  RZg*E8;[Q˜l_Vm[ܢS:@4QwCr|n;eL&a톾npeJM=D`U!AqR 'r`3aQϺPM.3Vreȹ/f@tNg&B$y\Q(.u((GUQzqƝ/'o3)IS ʄ)*x᚛Otap Tl}NIw)NԵ9 Z](Ȩ/zlȹ.y>= R4yd#x]XQPSʆ?+yF9sIokX=r|D@ERD՚T]0}uG/aV*Jp]:0ģ3[7^P)plͲԌ-<$D:9nX&Ҵ7@z+P=AKuy܆o͐S.Ko83 \f P}]g$JΏ YZ