ķ«īŪlibnvme-devel-1.8+79.g69e7772-150600.3.12.2Ž­č<>,čźģyä‰gSłpƞ9Ū|‚˜’mIEŪÕ^–¶ŖŹū^©‡aꯤ™GžŌŻ‡)Åæ±q’’’ĄŽ­č>\ģ?\Üdčéź ģ .ķ Līøļ¼ńČņĢóåö÷ų .ü:żažgpRøR \R R )HR R ˆRŠR!jR224R?|?Ģ ?ų @Ņ (A8A$&9A¼&:DÖ&F«KG«`RHøØRIÅšRXÉDYÉT\ɘR]ÖąR^12b1Źc2sd2õe2śf2żl2’u3Rv@X wAĢRxORy\\z\|“\ŒĘ\ä\–å\ŲClibnvme-devel1.8+79.g69e7772150600.3.12.2Development files for libnvmeThe libnvme-devel package contains libraries and header files for developing applications that use libnvme.gSłs390zl37ĢüSUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/Unspecifiedhttps://github.com/linux-nvme/libnvme/linuxs390xŠamĘ*fØEGŚ`–Ū¦Gi”[- ?Fō1åaFśn üģ É%¦dB‰ŸŚ|.`?KšÄ$źCö’P€¾5ęš1D GÉ÷WłŁĖ ‘[fi— Ņņ×-åäÓśÓųüćļ÷†ÜčėÜÖįüŪŽį\ēŻŚāŻŪī-ćāćóCóöĻ#÷#ü#å4(ē![u`r«’„äSDüŁõ’ ū^ī z]Ŗó‡ņĖG5‚ö6ćc÷guŪ=ųń’öķ ŪM÷’ÆLŲóׯeÄŪÉÜ«:»°ĄŻŪ†T&¬zŁR&3 e–’Õv}—·¢½‘z „Ź­||ˆ{äŗ†…~Ŗ|½’¾”|t‚€dƒzŽč‡v[Č£ÄŖN¢Ō”ä`zXqĪ}|n›ÉæmTlØIqņŅ°_ī.Ę-x3juģŃōĖĢŃ>-,.žī_„üł 1# ®/g7JLŠ^æ†yĆS\Ź7žūĄēĆ h‡å8J ¾<ö‚õāžnūArž=I•ÄčŻ\«š.åśłŃš¹+Å`d‹Œ+€Į0ų06Ÿł!åāŪõ÷²ćSö’(`;Q<?ļ%ł,8 U1RŠa( cѭɱV¬ŪŖķ}Öœ…ƒ7žĢČuv°éN˜xš×ŗ@ģ2”5Qę ±³8äģLhkz‚IūÖä»Ļ·<‰aPhL8“}b.¼ĮקrM¤wD£Ś;EK m ŠgzfW³\ {}äēÓųųĶMPźņ(hź'kÕąžŻ…ŁŪÕĶŚÓ×ĻŽČŽÕŻgƒ*2ĶB!Z›'č9É". a5}!Ųt»S‹±šŁÖ××įk) {@  déuÕ<Y7õŲ1Į\C:/NŠą)œ ½(0;ęą åķćGK Ä”ė§}œęĄĄ‘cwf“–½œ“ĮžŽÉ›Ēœ’“’Æ_|yÉŸ,t‡…Ā 'X–ķBóū4©õ ¹GKwė£®œ§äąęÕżĖņčŌäĻŌß÷ś÷.(ż&āšįņ¼nˆó4ģĖĀÆK M`÷‰żGBą “gXołž÷õT6;ž(å1mž·7:ģ0%ś4Į’O4 d9¤¤Aķ¤¤¤¤¤¤¤¤¤¤¤”’”’¤¤Aķ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤gPTKgPTKgSńgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgSńgSńgSģgSģgSögPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTKgPTK3c7897859116e4f0bfba78ca43af58037d92d0f24d882ce73ee76ea86e0d9ed3647a467753890bfd1432bdc8cd87b68abb0c4c036aa76aec463eb5cf02fd3cdca90a3d8e99da0529798d8473f7d3f087e57925154a97dc780196e8a100038837625d1715f0772fc876caadf857fc36d76546d173f78e1cd8cb55845feea901b948124d9ace485df62f5a0a66cbcd55244ae8d461011228fd0bd07a6bcbdc51c64a10f8050951e959baa2f1ee5c9809c269fe889d76bd933c8a438f0d02c184847174fdc8df94026b2fb8bf9bc3ae251732437caa34d33d68a2fa55254dc38495803e2cda35028f18f5c5391996f8a0dc9dadd52c913b885af5c8a9f14305cd46b425cd77f6e350bc7e068136f52812c7e42051a451a563e15bdf3c86f2246d56fac3819e9b945d4142d310dc738e5d7f22a8675365c13341ad03c0a5f530720bde0d459462267b7b420cf8107fa83c49310b81e5029ad2154c160bc46825e3fa9aa1a2039245d6a2cffe98a648566e5c98128b6ee3ce2d2af7cf1d5300408d9b09b8ffa9006083629c1f89b8ceb76f35fae9bc172252acc553c1ab61ccc81390bf9c08598a2128b20a612e1db4bc96b57a9a1fa251022b2fa8c4008b1eb36ac795abace19f4e9025750295d9a669e51ffa9b039629c6513964e1c066857e7889c08ec29fb4376a5cd1fafd0b4c332b8a8ab5d54e64aae50c26b0015871ade45d418ae41c7fcede12c0e6b4f9544b2c0b57027b199bac05fafb14a25668b4e2424a3dc5688c104beebdf1787653487482318c77b20b1358f9f8caa2dd8e0c34273c885df157f47321d52a28cfd4cceb10a126d54fc38558fd8a74d39380a093e4b9c2c113292474019f0f6eadda2869875de4cf6ee127e95573f730c7b3b56b92f772d3b3678a93090925e036e6db62a9b8c649319ad6187a7ec154754990e1bc03c140600d2b8954b77bd0cab2557a8034e0c2a0b8d9884433fc80b7ba4735d92884a7494c8a7fef3977b791e0ef2b01bb122a867bcb9182d376b726765f1af1d29c981927d6e42ea0d1582c3c32284710c749a4d5d7adf7d761ccaba0ae1a56cac9910d9fe03c106679b773e03354fa5f9ee52764ad143e83b57f13f083921176fca13f8f448a07e695707fb497a42e93e83a47fc60d7c7b98457e47c961e76ea19c677dab2150be5a006835f193b9b363779e0affcf2f72c92d629c3089620490dbc8f1a273a9c7b6609b5a30e18670c5b9505537cfad9e28952b90fa1ae7c3759cbc8d3b91bf387f7dcfa86e0919c23d16fb2ca2c0fcc596439b3e594d0ad5e1122fc5830ce5e8e5b59047c39b7bbc3eacd0b18827d881dec2fc59b3d2c0a069f725bc11d228a645b7257b396ab9f4adc8de287b5622f2f895e8ff590bc7a7ce3673203651202f3086fec85c8f8c199693fba08b20c1a5f328326b3540964ed20054f2aec3ff8946b252ee0fb23601fe6cadaa911609c5be393a801a6d71d730d27596cbbc122b6d06b026fb59a81d6b9b4e6c67d458df4eee794f47f3e3e509b19284cf95c39721221d58d61dcf058b0b33406f40deaa03ca0b08441490e965685f9abd683faf466e576db0318cbefe64a2793211875c19e386859db2b44370591d80e52688e5ffafe0ae95e4fd7c22dee48fab957675981ff5b71a8f8f48c8fbc45148c53a0b385057366e71175bc8be5d7df388f5987368feffe7340f15125ba0524674036cd8c3056e604c505269014a3193d893c12b70c5fa2ae7b20321e666880107c52f1f92b1e85fb9b949ffacf07ea1003b072248e77c28c109d093508f50938ff9b5e00a64f309230de11c7729a5249114f74c9b7418739fc54b69027a93b142274a151daac771aae6e6bd2d1a5273bb7f05bc2736a8d3e79e03d36391a6d5f107686cb74a11a5e0e8c1170fbb1545cb96ec49a5837d41c61b4dd69a325b85d4954c9fe7037912d391ab2c6bc48a41af347aac33e0c3102b93992efcea97e67ba53b934f01d37990b7288f1bffbef3b073690256bd05c7ede8c78e3a687e8be6de011a85ba0e66ccbe10112cc30a6bb7a2fa716f09f0fe796d2eb698515201ad9911075df11cf3979c3ddd7a28678f8cf32769092852526d2c01a83e67eb4705aa05c4c0cd82c3bde1b2f93456c50ed66b060647f0dc4b931ee3f613730e56b859b9b56d3c8c9676c75efb57580ebc7bde9c66a9aaab886d4660297757c79defe3708e3164ff4986b93b2b9759b71e97076af3f859b1dd6c108a997d67f90c7ec889d71b50a412fcb385c834bbecd8f8eae3f989a577f3f53afb592a77407bd938789780fd948df71fb3e6a2bfccebb66f1d9516f287884734bd9c747d5577d5b960c11807a87de38a2175070912305fc84c6a0c894250af2b692e2ca82fb0d689491dd7e4400bf7577cd80643372198f77bb036de286955b23ed15d570dc59e4ad1f189026497335c7eefb369059a73e010e7d5dc298a73ff97f4e35012a439b0bc4a57fdd322bc3a16bc39acb9dbee738063fad34387727d5ff0fa23e76d59156523b0d06c5bc9b0894f481e5987f5910f612cbf1920a02d1fc274c02b09cf3f32ba76738418887177385f4640ced21536ccb8896fe09b7c8160a734b703e4793fc25de09cf0f34df4d26b0a7cadbce8a3de5d487d038694999c9bf39aac1543e0cc54b7df617b9b203df09483610c36ca6e1caa77632a0ea1e6d741c684783666ff17fecacff335665f4fb8d9a0b7439aa5416acc2c6b2705e122210321a978d14d1d99c47cd0fd943293261de1a4cc29f10b4ee59e4b7949e99d6158b847553b466460e79d2d912e5536f9c90d7b70e30c45ed10ce3a61af3489ce44d48faf998af7f5a78041488f8c60b3271c58ba2e21a4acf83b7d66aa41e3c5a49357f866fb6c6fbe6cf42ce89c6f838d977a6c3796b1a25476a636fe9545af3fde41960810ea769d1eb601599cc0bff1c8cd6bbf07339a5f92cf2b96d83c70b2b09971f129806e43f465013098fccaab4f01457a3a5f98b91bf8a8099a50e85afc739f6c9c0bc981ba1599880570cdba88c5ef2e3819dd2af6d590bddba9632753d8652b75384acf820fbcf7d7e9968c56973d0f33cc3f5bf2369d503e0cacdb29e5e8bf25d5d1de013c94caf5a4187c2dcf7e38129a4f2d341075214f924e1361422713e453862c087ce86043dd9586bd78b276c9a78bb65b70ef0e9039a34d4b2c5eedbb0122ced3a3afa588457cd6f128053361a43798310e046848ab1a04eb2d3dc87a63b24eb86496d3655175322398ec4d1059693e167586584405753f217e1a639c1c9a81062b27f059277f65689253c215eda483a0096ab7b8bfc6ac4d6c88ca58d6fab29407c46dba2f34be96ce7eabab208fd9680d87db7aedab36beb6afe25fa2e285a2b00c322e491cda6101c1717b7d0a04345b49e6c75538aaf048f842a97ca1a104e365cb41ed94ce3e7f89588f90fbce015c092a8701d6a602663e1752343c99d17860d898f240a072808ed04b43378aff5cb632cd2f741392324524858f145dba3292a5a0e6b83465fd65d3c1411fbf056468be5a15b3d95ac5b5b3c088119f7135793c88128732ae88ff5c482b6820043c9b59c961f609f6bcd42c93183762e9a73a54095302e7fde6fa92c01286dfaa484d84c166ad630a1179c4bf6f19aad4779a7f1208f5ce3994fab7a0515baaae66863bb53db05a3672025dd18cbc07f04eab8af3984661b763d61b2b49ed4a1f07ae2d76aeee45516cf24d60d6f971e69cf72307bbeaad3c58701a99cfec2adf40e14a78ea472ec4e116f84cd1d8cb59e47fae90ee7dc71af9cd8824d9ede2be4a45a98dbce4eeef5ef47e25cda9de2f5b03df886fe676e3042c6aab13ff68f3c672e73f8cd7e50c55fc95e13bc5cf04bc9e063041b43df50802efc9b30ad06234f07d2b90a1a88ca73f4038c37871bd36c337457b54ba07963ae82d127faf2d79b0b6a5bd15f6c98ade9dbbfdaf6335f4514dddaba42894613d9f8dd6b6ae83ad7bc2311862eb865a685aa7bce0938ab9d2615060a979c2ff0cd9967f6f3cfc58ec64e3731c3b001d9c24da8c8072df575b03bac5aa6ea03ea5755e535323aa3c3e4e59fd27ee2e87fe3c1b281422526945b64090908f0d6131048a72f597a420b5ea98072bf7297f12e882839820456b4e77713b3bb2472824a9d4ef3bc1149409ead7817fa4cf259952643b8e758bfedcebf331a0d1d98572745aa30820d2104df5bf2352b752c8582d34a4a226ce6ebfc873c96b62e99f807a8207ca4f494b02b7831e6d7a9b5ea1533e3d92fb0c77983d47018206a645e3747f1f205af4d8478223298c990370255b71b488391c3727f8b9f74a0be5b1bcea4a228fae5f48cf2f3ec3f2895378801546c36db0c3a7ade607da8f045e48af6b1d9f26cf5cb01e6c18a573ec3ce8459a7ad7d7827033adae46d5d7b7eab2ddfd631d97529dd2e96b9513f9da04cf7bc6684d79b1bf0b44539ca14c282403e462d6e3232985fcfb0e9f885ac37bb2affda635e66b3cb939387c0a8ba4802de72908feaac6f74a4dd65ac595c9760197d54dd694855495a94ba32d495c5d75fce64930fae7cd93ab0ff46a4adf647fc0bbb5143bbd209f8c604a582d4ea2204fef8ecfc1851f56f4d0bf973bbd4f61c300945e448b2416c7c2932f10af76a4b70da2c6b39b6781f98b94f22cb18dc89d37992e14f45ce2960f0d2adc34bc85160076faeeb865f08286e572e7a1b80591713960e8fff15bb64c29174f364504e8b515c61a082e2fb72483f4eca7e27db2533df0f54b05792bbb3b9074d4c7495bd125879d854c8e52404ac862a6027a7534bb30996e1b0c45348449fbbbdf981e8703199b7010f23c17bc35f06fc2dfb2730b014242d7adf041d742b0a3daecdf9028d41fb964a40a060306f2d4414a1cff99a904e39d552f31e70ccce3915f4280afea563201687c5b529bbd346e1e1d3fe98f101219825153fbddade0d8ff1b681cdc579325cb6b4e5d609294c3b33e4c7a5cb6128897fba0757f7138690df5aaf264dc24ae17f2d610fc03b65ade539e06e22331df4a80313c9daea011b705ebae51f3b623bf5568434e528ff2ebf887fbf0c35a27839f6f4463f2b02da9c70e469b02e3cb1171c47307c8a4cf782f4403fc33e44134e38fad1a19ccee0498ead75769cde6aee2b7ad097ae672e6c7bd1d278eb5ca01d122aabd3d48cc6b336f0feb1d15f5f54349f0270e15dc25f9462027ce8598776f15c3c9b23d815ee44aed4afa3eeeca725616477b08a778da7c18e8a9c6d76473b6f42af8470dd0d2360a14bad6248246119bf3649aa4dbf9415ae82c231511a8a249005d5198df1b25f1fcaa82daad8f139f70c5514a47035b97cec99877c98da60f80d1eae903dd36ac4127170129f18c6c4136628f626a17677ed459bfb06b7a1e42a43dbc8588b8edec16cf774d4a6373ad7b3480f58be0631c0dd34c389c109d9241ba2726673567aefc8f4757eac8afd2f6cd52707d2a23c352971dadbf9831704de6696c007d8a4fc8f28446f8e6fafab6fd1eacbdd8f0099868f94c789ce4a607a8a6b64f16dec9716ac14a6fed3f0ccac7f2afe3e55d5a3ebb6a10c65e52b49612074e57131ec4b59e5247c54fd815ce43947d5aaf13addda25481f3b623d1725cff612bda148003478a7450c0a985472168ed84db7cdf3982f94b5c840500a8056a33b37cac0121a492ff3a32d4e063cf5c0ac5c102f4fafbe00c6384de931f15b1c9a7b96b409b15edb0a4a2ed9367e2f5c1e9fef027164c5d306c509fb920efa0f72e199dc8e3ac8ad637bc5064e26f75d7e8d8b6c3a977611aef6cf2d07bf8f9dee3a115d06de25ab5c3185a4d703f9873eb73361d2ef401ae2403089538bfe8de18fa5864d7b40fe8d9a06e2c8baed4dcbc75d21266584a79ad4fa01b86d54ecf7bbb81c762e1a173c484cf61fb86289842810c373dcdb58ff3248de56142e533b03b9699e773d0b7d74b13c6ca819b03c6971a81455e4ebb1b44c314300419428af068e27da174a467ae7f6a968bc3973d0831be5a17562e5ab9c21632ed893491adf0dc2d35a35d138a852fb0e8b65f6a2daaef140a747ec2c786678bea6a537a1de37f37402c022cbc34963fbb37480ee09e4c957d85428081fd89c427a0615e7fdaa817c7ec0e8c4b1e3d3d7c6ad64ffff17725e293a074805acd317e98cf637dced85c4fd75666919cf4284d7b8d72fd018cc285db39d895af4448ce8a8ded81d921fd2bc282506c498c4e2da1f413c16ec3ad6230f75b29a22e3c9b9f339656ceabfa716234217cc927b9594a0a931be60d33b48fa991c8b6c3c9cbe62d543d62e4c1d5427950c0b6cabdb83e220d640da5fe887e2e7ea410013cf10f615217d2c1bd4c9801a54e54d6088fe574f13364c4369a14daf067811143643c7603e188bed73e064c200d93208ed03ddc97749371e4142c89cedb353ca4520de4b94f1a4db54ed89999cad258126e1d8028aa6b931cd9824c4d3b8c6d6e79621cf908563fc7e79877404a456b4748904e524e6b718747ea5d18a7b43e804a652e26953c22cab3ebbcbdab56e1103da2a75ea89d525868fb74705179fe950df9070acc43ebe05ed96c1e4260f67fde1ca5b5be9053193be6acc21ba12f59d093603ef73fa63243555e7467634b08dd83398e0ec1af3ec965ac44ee2ae631c2a6a027e75f70b9efe70365a8f6c5ab38eb91c22d1a2116c0c1f552ad9f432fc010f04232f540344d93e8e5396d956a7f3cc0de81890e4a79af8eefee008e03efc0d8fcd18034a50676fe3aa0fc14af1e8789ec6191767c5a0e6b7bd72f56a5505bf666b09f506f4cdcec999a6704665b47c12d8df5fac317acb4bb1a2834aed1b81019fe6be3157ecb7313ecb0a86ce499c94efd6de8916332216c2b91702760d8bb99b531726b12a19bd0927d6f21ec0e9cfc08febc3a0c319b0da5f70e909d2cb9e7c5f36b2f4fdc9769a9ad8e8f85818b4687b3494c81f188af6bc2cb2346125465b473bb68850f964a0b4673050b9e92b9604e55faf94b21201fc48ff1bfa87909d3c3ba5fece5c810f651b620899730f3d07a5914fb7eba379551bc04e7955b7a144f3f790e5649cfef4934d3fba9a762c866a2bd7c8840906e8f9c9fc08218ee78b6be6e2fbed43e4e7a6d1577cbf37f4c7d13f0f64b920da753128daeb9950a3012fdff16203ff752e18ae3bee7bb3a25195d25276f320d5a4ed1c3fd92a969c4a11a371928107779fa03047b67e9b3d08ff47aa178002e387a61a8469b324d3a94c8da07d7a6ccf674e6893e18918c026bffce4ff06a69a06b955cec8cfbfed1e9c24e34b4f896c97932d2e08d87409d4e0ee00655071b6761a42b077682c7c5d5aac8738b23e8ba5718e1ce0128129d966095ca65ca2bd5becd846b06f8404192f01557be70bcecfbbce174e4ea9725a9fd2a50b226188a4f81a170e06704cc194d45eec5634a2a34d9614a8deb82c43522b7e9ad3f06a079874be3da898ad00d2dbc5b50e9888f16b920bb83808fc13bf4414a4a0028cae8cd054419325649dc82caa17af039999c1f8c8e286f7b689460bc6650ab79ef60731becace6541efadeb580a568db9f035e28477beb43098822a08373635ed3e0a1c424d39b78894f5a02a733e2f41435349b7a8a4c4fb3d99f6174221b96df72998898be5c7a42a34e2a675005f9f2adce1a31753619974d3dce64fd6df52719df52f5ef2c11c19f1155a071314dc737fbef580f2f8d8e149b6478825c32898938dccd68a4d684a4ee01a76b4a484725172c6c0a7a01f881d03b76aca15b5bca3eda1197e1e3f2bd4885086b8c7e5aefa5e1392ec0a9b00a491dde9cde92c4758d63bba82be85ce833330b4e865cabfefc5e45c43915b3897db3e596dd9587b57502e3ebb457f704b8a8d2026bc122a57fc90add24c3e1173df739584da7cd5f2288da3d86ac7c4012097b5026c4ad700e6cf21fedd59079f90e9a8a2c114d4fa822fb3138662508c6459ba2c8e41e0858a9003bd29dafd78524010ad540f4c577890b0396180ed7fc8b835c594e4f4838a6372a3e05bc03731d06b7e25facd05c170095c029db5a9f0e4a808437134db68591acfe7168897becd39916e1730e865ac4b4f4fb8342d5b9bca37b1df2c26a299364979d7ca364a5c999ae3c1ba85b5117be1872d734acc2d3cdc4023973d30c9fe72790ce1212711715ffcb0ced560360752c72281f719c6ebac2c44c1d0e91fe2a5f5de62d9e47a18126a3c99478fb1bc584d73008a51029c0ea6628eb0c17456523ef1ae0701d5cc8815e170f9cd323d01f4f2fc3a047d4731c42a8c8aa890cfc8b0779cfb111238a7bef866b47c7c30c935cecf3e3c7e0cfdc6899f23a01b9c2a7609038d3be89f8570e410812277c25270fb61946daa455b5782dd3ba41966d096795ec09175e338f3458c47ff71ce05478e3f6ce3bcc16bc4b51c38353fdf6a40f76df655fb9e118093af60137bba5ccd8e9658fccbbf3cbc894a08fc6cd8bc9929a8e972870dbf49ab1510165fb06d7d504d764fe651adaf0e4822218fcb5be9b2eec67e944084eac3f6f08b3e0fd6fa2b25b07b08ecc66ece784e857f2a850e4a6ddcf53818e79a54058cf51dad7438010a7359d1ed6c7df62b07974b00f6695e894c18d1a993d7a8fc06d73fd338f96378d72e55531b8ec3c9fa0d83ff3fee165423844884793b34be2d56ec5b24a4a29244608d4f64ecaee00a1f159dcd014a2db8ed8cb1eab9384a52e9b329ff061c6cf776bd295ad5e8bfbe35737bbe48705a4efc0e5e8660b6b76c6c05df1f38b9801c3335db0f12bf85dcd04e29e4bdb50388f76db654a2c473987867fde990f720a7345aef647d5cbfcf388269aa028162cf58aa219195cc45883ba81d68c76b7dca2fe74b7165c50800312aa4a55ec991763cc416a0e2da2a037db9a9ae5f9b822ce2828a96fc3a2846d2103af7d8c5383e9a07c4f3497d3d54c8482236b945b75d9ec1f135272a3cf544170fe7efd9f7b94f6178835e45a0884cb01ba144a5fa648bfce4690c4a655c5dda0ece926a06de71dd5320a767a782e8a03ba4179103ba965969605c758542a7a80d6532d517ed4b81c3d776cbe64bc57ea877f3c03ea629500d1d7a49b16981626a521b28c7e350522026ab2dc942c7864c3466bc9954bdccc3fed5a087d3113aa59f31e430dba8a9a6649eb1db46935fb78195a6463f53d0a1d120339ab02c182e6b6e2b0e4533393c07b0bed7fc7088826ca6f13dca938f7f88d49889a5a1a03fb71b5d9e7b48d4e1f96dffbcc0d7db860025b87b507fd8f0caccd8b15970c9e3032ee6599289c2a43111606b0df02dbb710879d15636025db7f621f818d2d39b57bfaba7e69becc94787345855d8bc4ab76b926c977a92db3b8c0eada5115a8c6e1fed7dabed51bf634bef3972cbd1f0ff52bee3765e0cd775a08ee0c31d6e95a864fa6581d7743d1873e06d2864cf614aa1e3578ab4e5ffa5cab6e1c8d34e686919ddcab347cbbd06c60d983ea575bce265f752525b599d865a3b37ec8553f7cc69be6b0f99b66e4f033acbf0454a3a31eb5856fb9d66d62cf7d711ee1b2336b8913a87cc39c7f53e42927ae3311dd869f7f94508c07c14b7164e56498dc0cb4900bf3fdce56475bd1074ac87ab96d51f2fd39a8eb2f6f7e14caff76a28e48c4a2db17ab0ce45ab16193b2183d4a9cb959451b6502171ca901019611871e0d0d122a437d61eb5a732439654e4a0df31c786cb9c806cd13053d62f0b1c5db922fb69412e47a014ac1647c93cba9cd88e8d1c7148b692b357207e0cb9c404a8a29eb54da512c170cc174efd6b95e71cb57a3cb86412fde34e35cb4c52142ef786d8e1821894a0f85418a4fe977f1d441a817aa4908a83a6cb2c4daf5f2e6009ceb203c80837a5d5e66e5da630eb27f871451b8919036ec23e5d71dd57ef2f8ed653953d9f20417dd425ca4cff6459120e94fe19acbc752c707e4b43adf8a05bd6c11ab5271c7ee27c41992922c180a29e3519720150a3fc0e62d79ffc8d7bc41a90b9f9b5d8dc3ef3836b98aa00c234b757e08090df8ebddaebfd3388e25d5d6b6e61234398819a2d5c2a3adac462654828920db4f68560d602993553b9eee3efdcc74f802221fb137acdacc4b2f12bb49987fae992b7a803230a494f0049691544df7ea0da918a570a3d25f263094e2b16a00721e889ce5aebb96ed1025166140593d0e5b3e30db4d283084e1a9162cd645db4059184f1986c3dea3305d1e0e85d78c80acf93560e4cc43098dc0f57aa5a354f579fe25490cfc6e47111daf35319060f16a487e11383c912165179f7972374b797848c23b2739cc2a06ce89310b3d30aa9623631979a57777c64af79368fceef3eef73faf4257d15f54bd771769950e5d213e24625be2de4da66480b4582608abe81fd40be972a47ea8bb56446c90d36b841a1af2eaf11d105c0b691f5f9479fe91b0fa2a4d8bf9d5c69cc5dda74d500e99d850b6c19d595d22116532913ab01fdbd2281be4279ab1f85b065c8b7a2d1867b61a00d9de4561de202c7b6160dcb6d357cf790b8a85b51bc8223f5b61824bb4c999d70a01e96969893e402bfd1b27f522fd09e1fa2944c90ef98f0210e2029cfd7728f5b5fc9a806e42bd30c86f88708926aeb26457321ad0c4512b8a44db35d843617cde4854ab9513b97f4e05f3f3e085a52c6004eab15240cbf53fc01a750d5cba81d921f2f7cdd64bd4317171aac603ee15b8d16a8ed7fb3ab0f3ae8d6a0c14b88233ea4e173f78024cbc7dbfb10a0f0ed073519ae9a74baff601883c61b569849fa91906988c3e412e27a4ac05db5c355ced0d8c52eccd8c32f564d70677373ee20a37e32816f7c6c4f6356f09a43c7019352d0047099082b74a3a11527fc39bf462ab6f185e7c7db38ac3a9cec2b6f4347253079dc4b645f2cfcb833731ccb73ceec83da9f0229a99bf78d67c8468d46ef608ca51fe48e79cbb3bd2ee77aeb8b07b71b4866af3836007f59304715f09123a39098f93e09d6e591b36ebcbffc3cebe6982428256cb73a1e77712003e015e011abbe4647a60d495b6f1ebafa277686ab65c9f5de15427d7c93992298a5b0f3f9744dc7cbd92fab6f66ed23512a18e1357ad863b92ccf5e6ae945ca690fea991f928f2d04a3a0b84a89f8ef5bfbc0b02768d8cc14414b56d5b3a74a146e17aec65d498dc88a131ee248db3fa03896529efbbaf889e756de76961214bd438181eca52b465dde4628aed3b13c04d794747c232057f82575526e88e7ab30cb1ac15db2d58997085be0c541cfa9a2fe5e78ffe64f36ad07d97758f9a6fae27b8f94c10e6b375f9b2b6bd4cd837c75d8842d1901683a91556af9ce2f7211ce73265fd8efa7a6d5e70b73a4119ad934c19aa4356edcac6af7da008bf272fb8ebf73a8e99b98ce054b5df806449125ffede982277b04dd201b98b8cdf5cd9ac4b87c26947462d0538dfad45ec00b4dbe4da17d87e16c9edbcd4f74433a0552cfb37c3b6a9d930b302583c37c40de69d1380f4caf8c14467b874abe63d071c39365de8a70211b8e37243bcb965ae955279b906279c093e44f60d80b541ea98e9b70059033e171d444300e9ab1072657002c8be48d08301eaa5817a68fe664f430214ab8ee4ce8722a8a7afb6dd961dd32263414553ba99eeb6234c0e5016ebc286143c1f1f2a8f59cc32d01ce81a6e9a342de59aff03cdc3b073feb09e5d46d4dfe57af13496e14cd4aa541b60ae77f415c251b2526359191253e194a4369a38a78cde9fcaab74d68b4e99205c086584b8d73ccff42212896488143230e0ca68de150bb0b0cd6017276e86644a2bf9950a94708a895d9c8e40f402a33ce2e1164f1383d202dbc01753006eee480680ff997359a0fcc2fc386c32f4380047ff987ee2358e94b2c55e0ad3007848e6a2213e3045d6546871b4392e4bf27447a1dab35fe9108c8d6dc9f618a8932132257393dd05e5d82dbe1644734010aa8ca6731797eda29c8a2becbaadf8e348196201bfafdb9ef1e7657ac8d10ef9f2cb3c43c922bd3f6231d674c02913421b0e34173f9e1c255b4c38f3cca1daddc0d7fab170c20d4ad1abe6303f30dd530df2f54b50d7e99f2f61f9e465f564364cff639777db25a35621ca2407d6b9acee7fb28d0916512c41f5ce912b62bcdecd6634786876b0ef32feb62154e8348357fa4d8d3d0af9e25013157a34fa9f8e593696c6e1a9d05cd281fedb349e76c9bf94b0ff6ac52f8987428c3a1173ff592f6fbcf57db3010764a93af2ec584722c0b19d523861e05940c3440865a2b0e1acc33c10ea06a89a3b5f94758b959625cb5423820c427cf2dc7ad2056d078880a5b598bb5f33f5e64d41098ee827c81243ca0a415d98c16e8e233c2d99eab25a81139238bdf324080effcbdc4f3fd21be561ee2c71a367fc446a704931a73e0bb57c2d6ccac71b13530abe0f6e08eec9c0d9a3abf41d122cbe047f81ab9de06db533ce1f53d3044ebe1af180e9b0e8261c5fa50bdb55f82937c8dec3dc5db89803a4ae8eea077f98f25c26fbb0e69b014d1f389b81d6fef2f8253be1dd0c75c895875eb2ce6295e0fbb83487dca547ed1b9b797dd59fd604b8d318cc6817a0262256c2d02bff90e83db6e86e297f4bc04b83d8da4401aa5bcd48f4782d28957ba937c7fea6e7642605eef8419082cc2e4eac67bcfc518b9599d58cab8d19fc4eb7d5684ba74055248b6d80848820a5fc1be73f8829fadfef308442f440378acbfa063d6bde55fa7725cd9ba49e85e8ac3b6e20de1073133d4f41c46380a94448f8d1bbccab9e426316735905389d44c3e5ec0ffc280a4ee53b3e9cd510c90007de825163b31c1db6939d364f03540ef8c72900a85e4377ad9566b927014680d6cf1181af6067d650a02044e4b0467e3ed2c5f221e8dc4f9033d731f941421194bbf80f7fb410256d1d78f6a78380e7b3142ae03511eeb3511c3b3f01393e58fafe4a7c04e135c5e4abae485715f37a9e0b79fb7df53deb01f49a24d5be9a62e9bdfff740f52152791df87ea5e397cb5ed1983ae3541d5fe77d6a992614f017f29f2dd18d8ad9a9a4c9b114c78441c905c7bdd1d6d97fb9f36b96d5fff062bcdbe7a65382ad71c0ba29c709eb4b5a8ba5486a4f3b933d4dbafb44a187d04fa93cfa5e59842cdbe4dd4cd696f2f4839791c45a654f5c2f31ecb5c8eb50127b894d3f4bf5ce7ba2ebdec1c0d422610f3d4d3012d335018f8da7bb92baae654a50bdbe402a265d594c1b43d4e0d5e01b4c3cae654aabf7012d544d6bca0bd577af7037417d6d3394abe3f1d55d881c0d7e170c20d67ed625fcf66651f9302ba18abf9c7b31ed431001fbd6b43ed03dbdec86fd6d724b1021b1251d1e752f868206b443b698b276533968a5e8b4d0b8819fea9ab60b20bb03314c3e12e21f83b7e88d2a830eeef4d5848fb4d6ce98073601f7f739c0a629bdf6e8dbf9c9d252834436522d3a59df7c824b842aad44751d047ab453a789bb126459cbb13d38fe4be92ec2276f60c4ee57957cda994287d8a505c63c439957af9885b5688b222b50e0d153d91eed5ef9e7d5189f39de974ac488ad20d6d6071202f2ba5976b786ddb05f84dbbcfacb7d42a2a601413416292b241bdb1d47b98415e0f9aeb859176794be1ff1eb449feceae49f2ece68bfa15765323115e51720785654b03f43e6b2f01396453680e7626c65b95af76dd5019328745fd1331327d186404f23c72da1c877410d0de61f3143def86ef3d9c711d581043f55f4b001d581b6ad9cc1e51d29b1b78275e2290624df062fbcf162a373a0fb6fc42fceaa9eef29292529cd9b7fce389b3cf021c3411fa6250a2f9389427e87afe1d3735a94ec424cf2d6be66495caeee6c88eceae996b1a80b1008761a6f5ca64ac373072a1c176684d85f7b18d7660665dcbe586542c1889fe577d80f86fc997dfd196a2b5088ec56949834d867f436746e9c283d62954d463f14652be3b3b4aed324d8fe5b181fb2a1d7fcb1aa4d7b352ebd8221662937db7e9c965603d5e1d096c04e4ff277b35b40cf76732ebd8302bd4b7945ee14c9c0a4888fb2673c0b5491afbb0f6694c581162f43e15acabd61d02c4fccb6a204c587bfb8550bad9a0afb6a79915e403fb27f28a64c02f2fec606bc9f63bbb8d393b645c33576623cd172eed23766d153a7c0d821987e0b0b426a25bef93618da2ff956167ed3eb14fdb1ca1b63cddd8b7280ffe87a8e7390b17440128e4003cc888c241b770979c6813d0184e51213c0d36837b00689ff4ca70d95fda094c6f9cc3dfb304f947e5895e5758516decb922181c3e344121fa9ddf806c398709a9d77c9e1b58139d6c494b4d494b5edb12bf8d6faf92073f6a6ec834fe580febf4f3c7c282192895f4fe442e9d9102d6d3c018ade308c177fd2a390007655aa0e2c495b9a84ea1a3a6ade937e5b6737fc2c40b80fa33d396d10c18c97529df0468dc35bb46a23ea85a1c83a6f4b2e8aa4a7b0428051767654414a8fc6638647320f913fbd420f0cbfb75031c55d60ec32c1a23503f6c5d54310240f80ccc1cf61682c33d19b825bbc9b7e1cee703abfda31398987968cac24615e5b2c643b7cd0d714557cd87033ff9f48db725f9f7dcad528fee495eaef5315113d2b9c17360f65bd0e9c053ac1681a11b5b89a58a5ebb54ef5b4a8ff95aed6e36b34e99d49f7241c86316884a9d24c418632d1032993d1b4ca2137e2cbcaf6247fff31bc7a1a2b865c2c64ec0a53f4d1fc166bf8f900987fd8d1a75749e61d3a0ba7877f445a3c924da0e77d71148a01b18d0a6e44c75fa4a3105414df0ad2a4d3585c17653c1191e2cf7724a249d1e4218b0a61a9ab3adbbad4e2e2df501cac0c0ac624da7b3ee2d43acd4d142dcb0f397dc5e2cfd096e41e905218eaf37a70843be5d5c607d4518e65edbabbb799059f3e35b60fc357d59216987550c47c69c94fc39bf0c0076154dc8b526e040b9656573ae912c69ff3d3c8bf3408ea1d5ed1a16e847c5389b5024206c9074c33aea4fe9dd816bf127fc5894220cc794ffb9adb0ebd472bd29ccbd5056ae6579110fd6f91bb4abc95dd8b986bce3f321997143f32350449510a7a94ada34c1d6ecd5ad2e0492e1dff1590200f8014a23c728f9733f7475a03670e5bb527e021cbe53d30465ea31f19466f6f1d9301fe3f4800637f9bcb16a11d43bfee767b0311aaa4c672221c27e18d32b504364bbd619f470ff6115db4b257e2e2e8a51c1333f72d8ba55caea93e8d868b0792f31dfabf8b36adec8208e6fe497f9969d3bd20f398fb0335f62db573b01106bd078db6ffce3547435e193bc1fe90fe94291567e804a909eafad92a7e018a255fa51074258a899a0b4680d137bab908c97aec4183728b1b3133c2aed89e9d5d06a78c1dd80617f748882e11ca2a6154e234ff7948ba870611027f7328bf9862e54b8a1b57101c3d0cf242d32c324346948b23ebd429aec814f783a8cce75b6b0a05277f48ab510904ff9ec1e0343bb0a26eb9c97031f5aba3ab03919be121b3c01692b23e7d6e9cac85751f76a804a6217308acbe82c8dd6d59aeaebb892f6517009558a67eaac29fcc481ab87e8d490d4b2f9622251c4df7bcc0e4aa2b75cd9a5a9f03f3014e630f9adfcd73951769933bb328da0b828faf769cc659ce32bc4770fe377a0713393badc4b60a3509f185222f0bab5440551a7e4f58cf5e12b7c7583a2cdfe29590d8e261b4603b47138a409ab206de1841acb7fa371264fb68d7fa0261b82f570bba2300745c8dd4ae842019b14a00748863b61247fa899b307ea164ccee32fc635864e87d41706c58bae9b81b339606279ad79d8edf075e088d9fe09b63e16c31b6b195e506b78a4778ae78ccd4c2d8ecfee8ec4e7e16c79960a711cfa850f3fad7cbe0d41f06f92ea958bbf8d22a387ec670c72cdb4dbe6c187f57f91747fe84344bb9a86e89019e8b92f840d3b4b16b6787c84f78012ab9c2edc4e83e006386f457ba22e4bbd0023b5a86e37bfb3af4582754197f8a21f977c7d23acc6702836c8bd47354aaa4552c015c8ff30bd7fc2a227b5cb8951b03e4d0ca8722a25f28899cb4cdc82708593ee843d936e434790e002f665dc7ef5a5da34cdfcf496913676ebbab5094f3c03d58afc26811399f9880ad356395ce76e0658cbaa58517ff4bf125ce9fd2e211096f5cf47b5193fc16d262fb84a2eda5fa959de75e3d603904e759a6e68e9f1865f190e82a0dcdf6f35bf7aab4cc178b858f76fd19050d28cf0dac2bbcdbb1242fb019a000ae7bba4521b85d448ecb8e085661fb370a48375ae9bdb041cb73426faf4725f248c71dbde7683b0e8a6288cb446c49d61fdd05d7e04fad1c5ec314b15ce2a9378ec722a37a6c40147b0f5b6446026e1154431f006a1b04237e2bb840254dbbe9c3c8d5cafb61b6f14006c810f6067166a6aa420ae961419e2f18bb977eb4332bdfaa2cca2524d2eef74892b771f7cf80b918a05f8f6f010af26848b858bc38cb1f48c9184a92853bd6507c0b321abebec6d3a3f0c3de64f3fa0b46aa9ba955e80b3689a9ca340163d17a934c0d447d3a47c16618d199548a3158c1b2dcc7d5757246c30a012325252feb1a6fdb63924b42f9d86639efb3e74b5f49e023b83876db7a2e9bb19c1f2efea5c83e929a4d5efaad792ece7db6788aab65823f2ab893a3adedb00932957ea9afe2d397b225e749a55daeda89d41cb0473403b284b9c4451a83c7e1867170fb55fceac451638e48a84b78bf22a48a525045a6b4f5ea5cc53adfade5012720a62a16c02e8fe25b1d509ec4a22e2f93438e5894c33b2193d97507f5a49e0275a1acfd29fa88922944c28c52c1eaad42726459e36bc35e760a518c88b9537ec6cd93a423a1c288139b900055095843f5f62d74130793956d5f403bd4a2ae99fd388daceac5f056c4da34a68586c866a76ce88f327a464fe93d6770c5953ab74472b28ead355936af2bd700d7569ea5d224d63a44a59d600366a5b4fcb8c266fbe16678338cff0b5f94dcbd07d3a71029ae7b974755b5051214b2fd84d7ad8bb9900169912bec8fea40afb8a6f8a3bf5dac44a99e50f999bf75f2c4496a463ecd4e2534fbe764585931abb4b5dac3e61e8bd74770e25ec24dc6bdc21a3a1783da4af0852020fcc2daca1d9f62974fa201f96d28e5fa401766c454cb0e8cbf5d41982dff7328ad6725d0d3bb766ba6280916e0fd207ab6b8c7bb5492c06988a5caadac12478fba64c5cb136f27d005f6b2326e3fc821bd2c6cdef8ce0e0699cea83e98da9ad300a39c4bdfdb35dce6a843613d336de3e73dfa34a0d5e7cade79c14ab4fa5bf4eb4be35d953dd074a16bf2f13bdc97c2718854290d3a25300b310d8ed7fe64e9dae0588b0dbbfdb71bd4b27b4ba9fdb12ed856873554c2e81cfcd268139b4711c1bb67f840b7114022aa8bb088c8d5d5dee54e0f1768b3b1f0d21e9f7c30b73a05f324d81ffb7afb595f346e51ed3734eed567800a814ecc19b919803606bb39ccfcaf81f17e847f8f627f2d97493cfd8eb62209d522cf42198433f8d0db7188765c6e777baf4f6042050c21410a85187bd9f0d6608ab182ebd7df545c42422ed1815177ed355d4c38765902320e561a36a97192e68256bda77614a27955a8a3e7cb07b3f60c5eca28528c2c72761988ce291594278c526224bdac41b18e662e180d6f9819c7a3e2c6311abe997c4a802c275789c5352d7cca2553b9b7f3d3b532d85c659cb16d6cc54527c3ff8a3765af147df756989c725a911704e67935021d19c3652a6307ec3c0021f6d610ab75eae2c7b4ea01d46e48e52565f5037415339cba85cf6585ff381d99b7a46ef67ef8ac6e435447d9d1c2f4d95c4b78696da25e266ffb11b4cc35744ee9eb57ff8bb8c9b2f1c881d21bb2f81b4bfba970f9c345dfc4e413c29946013c05fc646373b9aa27080f46c17fda09899756773fd90996b0072c67155f72c3175b2c49b03f0ea06ce5ac62744e018293ccc1e9cd1d7a9b393d3b066f6661e36255146ac74204f7d76e33f8adfb21676968c4bacd11a58cd144a2d4b2d045aac29c3ee96dd73c1b2db4ea74b56422359da53ad57d2c4b84d8f6122ff2661bcfc3dcd62dc8f0492d998dc958370ccb12b264ca6eaeed468df86de2e42973023e5f14e09dc2a05293749092a65d4103258367bf451d1cc61601649b5ddbdde0d2c2dd4877901ecae660662c5e118d2a8743331f533a3a3c485956533576db89b688defafb130a64300863a5d7c593ac276a429d8fc9f92ad1299f00ab507c346a8d6d503c1d1ae7428c3e3b3d426f557d34651d8ce50f3ef77909a7f6b57769b7328606fb136b1ccadcb4a83bcc55d24aaffdff62f09716ecf138a9726ec7c8267ba3c42a66c87b12ac6c4bb8ea50705a460109cde20ea9bd42804e1d3f458e1bd664050e040419a9e28e760f34830c793f7b0c9e3982ccfb91bfde481b0645c50ed3a05d893c122ed05a78d0a098111b1615fddbe4f57d059a6d83fb946d68c0954c2f5617f31a734bd1fb0be31ccee6e8c6d1898d12d53c9ef32f5910a5ae3421537374d0ccbeb1252afb77172300f1054e6ba6f845aadc4c329a21af37f1fdfa3241ec46e924ad34fbb757acc3c8444a53ac04f2898cd5813b25b74ce5388b5136b5a91db55cccd4f4b0ee656dd1e4e41de1a21c245d36c6980eb9a0ef613f5eccd6c8b6ee2314b9f5521bb16e3b563cc3d9e975f61d247f29515b2d65542e0eda13a40e122b4b3b2cf6e2a1ad1c9257565be766b02c94030c0ae843ee9cc4e6d1fdd3b40cf9c87321f40ff9bda31bce9ad02f6d1ae7fd0cd4fe5ad9f3641eff978aebd308e5fb26a1602f7f524164020e914f6a9fd796bb5b1df42d2063a1ce7e10d8ee33271fb080012ba5b4dc65fe97a2a2af0dc41a7fc47069365c524d0abf896d20fe06515237b67a10fec433f70497a8c7bc1e79ef8abb378605ce673128465283baaa3b83e0a160beefe362e34291ffb5b9b0b4161b92a23cbdbcb6524ab6b85f4dbbf934484ac127e51ad15304906a63a96bb96bd63dee8758b3e183470684bc659ae874751911e06b0f2a9c58b4d6b46f5bbc19bfd663517f6600b91c5b485888f35a6161a11dfaa2035456df35f7d94067d567414f3ed518ffa78115767e25fb788974c24446374d60cc2d1ff2936fc1b7cf6f24231aeda01e4acc0e0d93c97e8d8e084727485c0c86576c6aeb16f3e86f193653cd8851aa64aaa3cdc5b709255da5eeb0787147f5cf3d26ce907c7ce72bdcca78f1412722b3df909d1b5f0903a60892607abf7b3ae5f3f6f4cc59ad07977d79395d58057852315c32a2e80b71429caecad83e8391ff581db58a39d89773d38983daa69a505b2c66a644ff188b6b70657bdb7e838bcea8a4539816441ede856bc23faea3f404c7680b61e8a088d5de78bbfd506d986423ae7be80159a520f2c535fec3fb089b0a49eb75f8d5e10479d9008b8494e85f5fc56fa43f96fbb11923654bc137f280097b95be51e2be74f7f8147db6cc775455f88f988eff2533b0b724087f904bb6b5e55615a0ee48ee0bb8ad3d2d351d8d647a7156d848a4a0e9d542eba20670ad2bb243acf3ebd772294de562e43b7c6eaa1d6b3f63bcb68efdf4e69029471d548d4dd10143b1c097aa442de6063e820dc5e843c410c17f5407b610b7c3c283b85d86ee1c4489418bedc0fc676a7826d10ac4da9b5b1eed02c0bd7b1d1e602196c83f8918f16f53c09d2f5ecd320a93a53acf5bb17b9d258fcee6b807f232040716c615eecd48fad04c0990b138e76c0375749fac12aa6779b876a663374c89f4d7c41cda395c9c442975e281d62026c9964338e8a888dd5d667e752d19a18c0d4d0067514e5d3ac2a808a3e592116660a1ec8e8779e17b75780d7d3e893d096beda222c3f76adac08a0f4bcc6041698c04337bf52a569c9a576c76d7079cd6b5d98c894f9cd70189d229d2970d248530391f58fe9f3097180a70e097e83ca7154bda7b9a36e899f45609bcc6e987f13851b18e8023ba2b8a507c15cf954133886c2b0863904f05c1b688b009bdacafe1b5ab7025987cdc1e0f18d2c10dda243b3f6f02e0a71abc9d45845bcb284bd7c69dc2a604b9932a495468d8f3c1eae776976709236902732f513d3225d116a71ad77cb86f4f9d65ba30c0b63cec199289cf05150f2c87f78986a5a92104b1e01d510f4afd990334657de771c8a22820c315f21fff303409bf904a3fcf7fdadf455042a07bdb96d79aeed5f2284298bd1efce68ea939267bde7f2bde46f1ba3ec9e4705b66e5eb56474a8665c879494f0e7c391878db68ac0792aadb15c0a8344ae91bf011088e2a404fd794b5dcb5323cab6547a3e39e8210a7dad97170baa8cb49b9038216936244506f13648da579b01089c7d1bd711be8b25fe2a7869705eccc768fea3071018785aba22dd37be6fa3900d9dae0440caaf9001a53735739fadb9e7d165b080f0bb50acb1af140d0ee8acbd16067f086af4bffd9c0d0275de6d2d4cdff97e654814f89aa39b0249551c705df8dece92208b7cd1a4ed99a91c2f3d128e3c32002ddac89eef76a2ef5ef073ac188192e9e8a4ddc1de5c47dd695bd155eda58fcc3a3f5d54c2c052efcda14745ba024ca0d042c42df254c5dfefeacfe868073ce54868ce3b3961dcf74bcfc88eb657a4a4e43c1817260a23d714db570709ef99b135892f0254b1bba0f178a2fdab56f8057ea6554f8b38c0bf46978c318ffd2bb4b34243e28bb925174823cb0147f772e18a26f8ebe78ac88f516bc1f3e5b3503bad8d1fae1ff7bd40fb173f3db300b22413b7980dcbb94b05d22c2c261a29b04fee8cec40e8ea907dd0ae07d6da1fda97c9e0fc4efa00fb3fb8ce4a8540a5123cc456f3ed5cbfb08882ae2d07c950f233f51b29b0f1bcd01ba819f759312a9b2325cb331c0be50dd6f6888bd332fa594f9a053b7258823753581639076b829819f217c4e9ad5c4b140e53ae2bbbe6da17fafc3490bad549cf79579e1227b712cf1fbb4a7fd9b34928e9d39e4cc794c6b6c0c53b6cd53ea1690da437868e80fa09d94d4a2da465ec55510fa063eee75711ff0e726a1092fc9cf9294e3a03db006a98694d79a30e04f477bd0e67d4aa925f424aa9835f40ddae0edcfc1b03ed7f4344b67550408501874979652911541cfce9a7f72589e1285134718ba07ad5e17568a35ebca2e5ab9e9e6ba9387cd80850b5e284e15c24efa2b5f467763cc97bb08f1b8146a634d32c328b399ae287d72d271c8ab12e203ae917404e1f9a1a94b2f6486835b236b65c24738bf69f8af83d5aead69a17700f2ee1c1b1b88e25a5a58cd3fd7d9d047597509c45132c3fd17114b85e8ec6b11adbcbb971c5073c9e8dcbfd3d1c3381af29fa32a95a6a76e5027dc1fad2ef326d0277807203fcb88c71595b3455575807ee2836cc0c0633965d2c8d0f298ba504b2ee48572edf5ec438bb8c773b2bb677a5eb3c11f6564569eca881a1133bbdee83425aea245cae630ef699639fb775df10f38b0036390392f532636806fdfd76b2b2dd9f8c92709e7ede0fdd2e105587ace7ce034f970a99500a0992c4c62525d8ba2c1574bfe049f1422c5322266f6a37ddf690277a01bc06eb15cd67ec6a3ae9713c24688c080f43a8d74914b2184668b256edaaf70324d11cf6f4058c1230e222c7b033581be2f0cdaac529e2d5a868e8f1a89b033f57631dcc2405b7cd78c09846045ea7be3482998607792992404d63ae2a5983db056a3141bee34a528bdbc3db910160740a7a04a7382240ffd9b2d799165180adb1a9eb31e70ecc8d55aaa3ed0d7060b08f8d354043e89c3dfa55b4421ed2c3322ae679abdd08186cd5040f42cc47d8ce9643ece97b95a5821b4b35b38139e84c4886cd8be75ca3227acc55706bace08b6ff8e3c45f15cc72b20b2380255c86f3b8c55bd9832858caea22ee12c0aaabed0b5d12dd4ba2d9406ea8258123794ee3a2b181de8519587dbd48b3b5b670d5d0b7b8c0e6a921fb4848e593652b8fc54780dce6d97582e9fdba265351998c3f8f5b55788fbacb442b950f144a7bd93f395450c030172d1ceffae8fe1e3f29ed8aead1c7aa06dc0b3443ae63b17a4cc79da54af60d7d989ae8b48510cf74232d17b1b31d30284d16a577f25380a8939be31017ae9c0d0bd8e62a02e6ff60d2e9308d146581c5e73b86906e6771336661ea5b4199e6433a090180130056c523af03408efe090a2481ee0206af536de16a39f780a430d60907a52f64632e8efc40623650a3e19e0b32a7eea3e280384e04d90c3286fcec89ab89e30434d88d5d1256cc4e48c4525c1f613c6956128492b2e36c03a0df6dadac0f52015f2f4441d4e3da922a57eb47a37bb9c20d54d63f4c2da86757169bc20b5c634eb47d7effc87fcedd7b655fcfa67ee1b43175e0e2d58f74a99145b31ab8395fdb6d8f970c97fb9d26c4e7252b8c01503ce23967e4abe51353954fb568fb2529158428dd6ccf2d4cc1a21c7872b3f0b5bcebe81566e3f043fb0f422cf0c6be323bd978af41943e109143a956c0b838d1223c1ccf020c797e8ac1d136895b1aaa5dc3eaf4a8f4b91a9240217d1e1c292cd72acf79dbea91468004200040528dab88f19b95bf7c2ef0d4b3b7fa4ec3e4854d1899f9ec7201b943ee0788e0d6e5384d654e8644ecc6319a1cd2c0e7db3a47c18168954ae9cf6e6df2f177d9fb3120e3bc1723e30eb53e16c1b232d31350b3a06844b5fdb48e66a263f9a0b231d95d4f4b97c21c2556a883d6e6b7c40e30ff660b4f4e69bd401d161cf495d1a3a579949fbec953801e4ae3adeb92c12faa2805b66435c477d0279eb0ab3f05411eeefbfde46fde610068084c0753d3be363603b15c263072898a5cf3518bccc89c66394c931c563d6c2579bc001275d1ee820e9ab8687f5c93e6d39d3814e556da88dc4590867aecc8f586c3c537de3fbe6ef64199639c8724b7db227c9144110c1464b6179bc5dc9312f3540bb7b830d34adf678a67b0a33cfc39f43a05fea4c9d912e2e4966a284e421a35733230e945b075c187d8bf194250756247dd19e2959886a64369ae963121056170a515049c7b1ef6faeca8a9643efa5f1fabd98ce794aa8c743e72cf3d12083f9bc8241124848aa56147c835597e239d67f974e62e50b8a7a4a4b1e4a9d1b968e0d7274efd56fc560fb497381d06da8d377178d08802f85c380ae55b39cc793407ca8fae6baad52a76241af1b6b768ade1d3ac239394d743eaad08c8639be9bbf78b1b5cf2edf94ecbd4a2ca974d1e834406e1e0fab8b54583a88d5c4f2e55091f2425870716742f2e37a128b60440f5a4f024b311fad9ee7a76c6086adf056ae4522d4fd971044e64fda5cdc75fc0a1578fc9c055692efb21c473d9594636f46fdda16e253cb2f21d24fc6d87d901d849d7522813ea820d46a3023521cfa7dca8469f1cd771c0aa4f3e2f1eb768f19112077c637d16b243550227068a3cf42aa6a5ed9cd46b0930962de405fd478858f27d94b740d39c272ddfaf0d56258b57ed3e670e287923a3df7af630ac77286be7e71c8f958ca67195622e20ab945b0da71670c4d50d69746db45461728ac5e4f6b07df47b8189e7ceb2f37f4c14a06124643b6f550a9b082f2fc17cba049da16cab4992f93f2b14a4d884dc948805466fe5d6c3ba132b5bd4d2f5325759c5e65ab4b3c2558cb6abf4c3e4c9d426e49de0ac3daa50ef4295b0a0df8aada3348cd76f15943cff4e0dfcd7d0f4174f7e6758c29031ae66738c04b58468dfbc337a907bf192f49e1adfde0e0596667ec0935e465f6889d65aca879e05543b18162d6b294055584e9fe9124ac8cd51b88848d211b03bb6f4fef3479aeb15253783aaa918f1d4f328ca10560c1d3938a9c9e13896123d95728f6d0c03ecec85de042737e2267ba3e55f5bc0be3096346a1a9c875ff0a9d596bd64fcfbb77e56aa7ee0f417b5ba9796119c937d3f67948c70157a0309c6aea9902bb7e707e204a9bd4d0bceaf2d85d803258b91832dc354259a8e409733bb062a913a789684105c40a0ded80df3ebdaa9420ad2403c429429c53f7b3f3b2bed306538cd24a6e7e7155c7ae4b9dffb48a465e1eb4fca437a0b067139a0af7db75a2999e3de1610b8227be84cf79ca805095b942b1c16c1856810647d8b9ec4639b26190b5cd29085f5ae8a1251ba052fe8381c5724efa649b27e91a3e794793adbf586815811e21716e8247784330301c804dd52b4b92607ab34e2b70d6b809f0d0f0f5d6838a0077282a1cfea31e5fe59ca49b01128cc2645b15ed0d277ae757a08848c75eadb0313a9b41bd5c709b48e3c453edecb33feb0972d0cf6caab65a5f8aab6d072bb78228de1d6a1800aba8fc3aa7e93971070eb00ff07ab7643172dba300bf582a023a34d1c81e115e2557530c24f1dc0a0acc443f7eed9950953715ca2ba67f64cda5db0fd91d5c987a334ed0433acc041ea734cd1763bf7341572208553d69cdc0c325ec74933f9afde970201ee7b5b2ef8e5ee9412460af2a18b53b93d70279591b482d9cfc77c33f597f9140de610744a061adedc78e98c0d1b7bcaee5d157442c6b2c179bb47952bf519467f1afa40dd5e3e922f9d6e83bede267f4e0cc544c8fd73fd8cb160db7fe91cc5275441c3005c3cbf01d034c2801e99a865b7354cc5d30e22bbbba1075ec6b2ad58c8faa028634d40603a27c4127e5e96dee10fe5686c6921beab9be2fc9de3ceaad2c99c34fccdb6defd559b3d00045d48d50dd82fabff61cc595226e481dd5003764ad537747ff1af4e3eb68405a439cae1ad69817b45bb344af34ddb62b5e1706a77af25708ba493c06e718efee1030c39126adb295dec9441ab21ef5f962ac63fbd0e1bd88c1e56090dd2645e484b2721edd900e028ad596bd798f5c09cecc2633cbab1736d76f1f32358c3da5110f92b1703d57798d48c457dbfbc25d8e037a2d0f018e0ca03565b274ea9ca4224f8eddb680238fd2e4ee2e35d301be9cbeae2c7f1aeef0183e33ac8ffcaa9c17637da014833d6da00e0f0a0e48fdc325fe1df91f74d474a3a6af42caaaf1f17692b69bb2c68d2721f8822e30071ba74d1f38b17e35b9d461b011f551f51d2fec152ed1cb855a8db29c4e5115b6728058f0af48a41a425acdbab3763c2f67b3cb8778477d956df82e2a54203d7f7b8b39774cd8018e0be49cf7a3c86edbfc50248765bd20d8c3b2fa94dda25c46acb2fd4f7019806d65122928e2d4080e84c15aec9f7deff1093018e8c67e8ecc000aa154180b2c4fc6c15947eb505ad96e984529f441fc893d8e1e74de6c06ee829f93468d7145b0989841ed7c280bae76cd416be984962ec65efb222ee574a525c258eeffc57baf238185f64f44954af28596bc161567fcaf14ec88192e86d660be11a99b520b240dd061b74c853c75cba26e91388ce2ff2eebb39113fab80d90645fec72b226e244fa2f2196e080f2b44cf8cb7f918413c402dc5e06eceb5bd28b11e43c51b7179720f925635cc467c4ee76f78f12effaae8be462d8771f2279c5cc23fb4cf7142ba37a822a4490f84552bac5d7ac42960dee1f5eca48c0371f09d05b9cc4dd219f80bd3fe598daf4e349ca226e8b9cbf7e9d8c34b6bc3a0f7d87ee07c66ee013f06e3ea851104c0ac602027c9b6af42ef8a8134b95400074d2a91b9bc4c128ca463b1a322575bf82491e226f3b78490f21e49fedf404ba35f492fffdf2d339f8f52386c3af31f025de283616beb853c8e32ef8878696a41fc19d418317e527a87fdedb7db03f6004e1b8eb7d7f04afd86935cf2ab2057dc27eb5e2c789778f68d69c6fefa9d2f04a2b90c6a977c5bdfe848720c5e220c7b8a9ed0657aeb6f9587db0ad4924e1072889aaa6557035493270401107e316978b3f149f5e6e6d171d48a4a25501dc17618178e1c46c37def871ae1ceb92e2b7734faaaa7318c0313c2662d806bba9d32e20b95e8c73bcbfd52c6f4a3b48954b7c9c03f643e275cc7cb64273f87cef43ff7fadb01d3694f7c8687c536c270faee0237a129aeb64cc6585a145d08943a5bb51cffea269c00aaecf7a796999f13702f4e3e322420422b7113232c304d683818b8428184ed88148177ab2dd18c4e49c84ca0cec49fa92a50431ba9230d5a9cd8d10897610d20b9bb6aec0b0007f9560c7b75a634970c199e4d5d92ff642f1e12b61f65f1d239bdadfb73603930bddb24f6087499110997c1228c43aab620609b4a45abd51db934133896271e32f766eec79de437a256bfea8e616598070f2ef3e8f29b18394565620d176f286a9ef809b87a56c564f11ad9bb8046602c4ff9499e12080d4a2404b1a82115a766bb1381565902e1a37fa1b2eee34f15db65bdb3c1b8a21e413d96d2f6306d3c15fdcddc8592a68256909416c5a6d43fa7ca1f779aad7ea2e84094ac81b75307529da1d53b54f9590a32b288344f9efc8d91ddb3e10028a562f91b50f35c9714bf31b15cce9d4e7d29bc3eb5bcf591f3a883ef5ec239932922b08ee7dd9f2964ae208633d2e0a4e9663082eb2fab5959d79da2539ea5b296f7cf4c47f001dddba58885737500c83bde3f225889140cacada5d9bba7d9740853f19cb6a8e7f4c4d771d8d83d1323c4b40d3756eb1b71e8bc21e7ee055b866daaae6d669dceb466b08a81cf8379340647d4968083d795a5913c678cc71508d1d9db3d959c71f4f92fe643e81d62b2c18c2284c64562e46128589acb4221ad790977665dd4865c80d4affbef864eb6192fa96af53322f1f3fe4ae88b5588f94e3e3e3dceed46187dbda716c85be2e9a93252897a9d67c9a94326cfd0b4bcaec1c4f50c71982a5c097315de79ffe8950bf65eb9fc7fbf79847140b3f1158528bae2f467ea6967d73935c86d3bc98db539a2eaa4ec9229b70a68a7ca3f15f35b05ae2557802b2d575dbdf6df816e266036b45628d933a1d1746f8f8f0da82dbd8733d5df0862603013de1024e0ad6240e3392aa29c9a292fb7cf8227c027a706fee227ae4f1298a0f848b81ebdc1df02d0b3526e1bf00fa17a4c9b3b967753e8bcab3017c76bce01b48788fa320a2b50341565b59df691ed858003df547ee56330e1002c4599a05013de6bddd7c6444f92f3fd9421f82d7d754eaca6e4289a97df007b4761f926153a3ded22e10f0df3f5aa85642e9e87c0cf189815bc160d773d3d7d2cc8add000323d94bcd48a00f946ba7b6471c471a06f9d0cd079961fad36c3c6e5ab5da024e98ae9d2125bb51f51d0c60bbaa46471065c5f49e528cdd5396167035f5036f502ba9cdb37784e39c0e142ef6a9deeb6b0b08931f8bf05a7e907314557939d20a10600b396e78562eb3aa4802cd0a0d23cc613ca08913fac655fa6b8aa7d95b6b4d7d3f6a752da9a800ea5c130bbe2aa7ae7ba8d7833f177ae3d12a604ee1b04ad1ebb2ca127977888aee504482a2798bc813a402d7d4faddd432385e3fddd0098ae095daf5198f26d4c100db5430b499f03e9c1be3bcc880c98db01506c9b38ed6b9ad104c9339d8ee5657e6822e6d687c41bc6581e494fa91be0ba2ce6cfdd998f5ef722c12cf012e7159cd12de0ffea5f5fd87fda4b6cd0b1e10a0eaf0a29338b46016d98498b9187c405e0481e2d6629b421b7ebea0f2fb4fbc8d7c68b6617ec5a1ed0d9bfbb2785ab2cc69130e18ca06e90b25c18a9409f714478579d4af59df21d96b271fb9e09a0ed40a7e3dd3cccf3fe1eca96cfa2605ffe516ca391b155c03883e20453bb790d48c1e33403d67959e57872a6e1e5afb0070e138af7010a63242fddd4d51649d53dac50be6b618c79ff5997c974851517a8990b1e9b7bef4f0b60aee3fc4be59ee051bedf689b2b32e3d5c502bbf4d570c8029f5717ebf49ad02f440155310dd7d29f0d24c29754a12c80ca2ea1a5925b999656b45804e06f0ca13c03711a468d292b487e7c9a6fd473300c56d779ef6c307f609ebb720b1a9757692480c00d9b75229e414aac955a1af0bd14f15baaadc4b7cc4a7e12f46eaa97b0e5d87dd8b87ee3f912665390d4b160703193e77798aceb07ab5b11d14920954f84e0878bab8881d4bf63524b8b52e0f963e17e3ff632459fe931538a1d20b84f9301c3bdbd9dde6407d5d0af84b0079ede35f4d0185d25298b6c751ea80ba4667e5082d91ed9294ffa1e5df213392116168d932eeb60352a399839eedaffd57678355d014394a580b565e5eb2c3830d43359ac64757473ac6c4eb1ecfe6c6f8dd78b6e6bcb60245c433f4e09489b8ea79f3a73298082b7a177eb061e21249f3edc8d574e70f69f33aa995424533559326f7d394145d9183043e484cdfd7ca590d2d2075f6b569bed7600da22d05b8b51997646859acd99c6ad0bc41c026032f09fd3625e8b35295185d07806650aea68a91e43ac27adfec6df0c78d838c57dcd4a7a5dca9132e02763af221170ddc9a73c60a38a0a82c51f728549e5cca57d20c7f2e084c45fc83625ffe1d70b623a2d39690e237acdf86112c1843cd3a57235975705c18c3b7c7f3049a581e306a6edb11601e0f04b29ddf8219c732d8b942ff8096993292e92c8403d88b8da5adf7db3e0992dcad6d618c28a53fad6a4532bb90f55c1ac5715c33c8cbfd5162a7d0153e884144c30e8e2a86521d7c717c6a6a9e4d3b0c080a424c51f499592151add534c98722cce7da229cbb5b4835b233fa5aee20e9d5c2753454fc5f29ffb2f04e3a4b556800af4c5c0399eff28af895eedeb851d3e8f2b83ef19ae8edbfa450ab1f9b832ecf4e864c5c0da8133eb78803df4028dfccb46674eb220eaf8c0c4cd310d0e69bf5f17e1fae0e56aacff2112a2de0f496c4ad149ba126b53157e2dad0743f2624b9bf9cd1df507ad74f24bec5bf15fe4daf45418cc9a2170f899fbe62687c20cc49c8b42528e31ed3f5e2ce3b5172ccb53a2278da2a6cfdefaeb9748cd570bdae0e8d4f34b3d6faaddc6e06d0741ebc048470566215bdc1a77692fb1135d09aeb9091ab967b4fc5599679257b51d12c2785283ffb08062dbb8c611ddefc02fbd0ccdfc1be165aa226ab12352fbf77f6bf80731bd855bf7277de85481432a37fc3a1ac0f3a6dec37cd34a6f3213ec8a094c46e64d74490922c4b747dea5b818bf39fbe1ff3874298b32860a7cd7629e25c91123215673ef9cbb5b3b251385627088cf564bec2dd34a5189141270a9b5b4eafbadd9ee775e4d33d8d97890f5409f38c650182724d0d2913a793aaa98b51425dc2a83b918e9d9baa6c302b0e74397d88593ecf1570a10f9de0c7143d1821eadb10ec89375c1e748a0b64ace4374e89f9acab938475e5cba90e0522dc6debd94cd89f69b122ab0f4fe0a3cb3b5dc345d536d107c74b86fc0dc51e2926e8ac88275c254af1eb93a6702c394fb5d863ae8bf8bd8b7cf8f4977d29a0da60f8537e1ce46d5f2b2b817c465f3d8e85b138afd12006e7a60d1fab7a353367538e5f4a07775e3b9d8cc3b124ff3e8ac36b7f6b3e59fa317af24be96b2b7ec4f5509bf29a0bc274405d686d09c38a6dc7243ee2bd23dbd6295fafc256764f23e96baa69d12fdf64d7396dd12b1194345bef0e2f38f4380027e6af8d70ae12e24cd8470de81336d17472732c02097445c129a60b5cea88a5e91d091d6cdd2eae97f6feaec9f617982041c470c5e7d3225763e8e8a514bd12f8d3b6b803fa9f4d80504f877cb062aa9d0fe5d4c53477389965a6acbcd1cdcae215adba7de457aaaa128384cabcc32075d293a3e025490055bf0033ca5443d3baf5c00baaed252400eb2212425bc5468025f09fa2d7f4e59ad8875d9afe79639d8afa91db36385ef4a84be1144401a4d5fe107c5348bf4970ac0696e32f406b490125ef244bf770bca6ddc8f9fdaca8e4521182279c1b8fbf6b53267e9fa08e2601606692fe9f32151b6fdd0ee9d8138983efdb56f7cbeb8ce9719a9a3277dec10229f6fb98510d606d87fc233ce9d93d71a7a16e988056ff44a557bfff10c000b7f17fdc2eb228416fe6591f3b759d47369d90e2d74195efd06713bd2b898edcda5a13a15e7c15b9538c60bd722723922672feb952a43d30f059b342981fb19c117cf57df1fac4f8924c4f070574e238f444068abbc756cbfa67675aea3eeb9f1419a390e527825950d2e44fbd7493f75f81879c752ed742a0ab145ac874fb5d217bd12528d453b8dee82db9392cd8684957f34f8be3e87b9d8c011de6679726cf31f24b5b5ea3f451eabfea24125ab5c2d6878efbad5ec788cefae183caedead6aad31a62c7aa650b2c837444183c1f1a12f72c883537404f0d7b8ba7b181d49999094916fc358ffcec65b1d9a41ec182e156d315201e908c52a03ed26fddf0cd6b9756014218d9a0e8f23c03f2f14b8d0e67dbd3af578edd760b8295dafd0a48acaf854530ca3f09121a9f5f033e0ebb0c4e1be8f9b30775d9e03e5f4e9df9e083478b02dac37e9902e1658827cf40ee51119fe8b56d298911ef6966b273738307fc45c39384984fc0b3c0882fdcccd12ee609bf033b5c77aa68da47ae5e1143d75b2fab9462f262c68b8628dd868da4ad01749a5507d637733a9b8d55e09175b021a6c1435ff0ca75ec2427f66483b5f23f0aaa3ca4b5cd01ab6d5d969f15396d9df1573b577fb2e269c6bebe4749b9dad371da06d6e9b11b3b8d20fefb10dc2862b256f5a0144cb77db24d2d700ffd31ac42676b525e45c08cbb53a439dfb741e9c029c9894db6fdf49637a61ec45f0d6435df50a9376b71126ab6f07f6d2c68f03b968491ab9019e0de2290176cc5a1815ed9fbf17cba1434a168404fbdcf2032f0f33c6fdd77e948504ac0f0942c6d893080e7457a8c52292fcaf9eff4051f4265a4129b158778cfd782b00d2f0674575b9a96ccbcc38741069ad3ad5bd6bc3231b7ca61584043a69e7b744273292829096cca486e2a955f03eb75a5a8f0f69cac9e97ef4b779dd344e927dc44c65a652fff48b8cf96493309b46e0df2be8b98447031e4458a675911d4e45c9f560fdf53fa50c91635eb80740f9e5ab801e50d50b7b7fa2837a0ac472d5d682ec12c001156a49431f323d6898f2993769c774f325e3262431e1a048ca03f919c5f47e4032318f4c5218db4c36563119d72d940076a44d10001822d316f34e2a7c781e538d888be17ac981027f0628b9b8d488193b5ea9d0b0e8f1680cbeb6668151a332c1087375ef1c2e693c034f415099db89a5ba8a8f1593c0c2b5436a85b58508ab25115cc3e09b9124b11c3a7f66039e82362f62c4a099df9cf78fb0dc41ab81830a0faf0c7a9de45c5a756ccf5893505381641090b152ae751d7368c4d8bc6dba2a0968202bca1145aea35d6997c01397d863a2c3aac1c5589b3e63aaccfda40e8dd589a8ebe6af013ed79bcf5cdd442240c66979b63401e97cc93985cfc9075463e3f603b24ed56b34f08cf1094a5f79023f52b9a6a231dd90eb696ffbefd277a558c29cb7e2bac0bfdffac372652b5c4a89cb13d145a58f342c8202d47a4dae1a5bc8b8be4ea045073349ad73628267a0a5a90f5cd83cec827edf0e41f9377c6be51a5133a8d530b3d749bedc49382f60fefb91c275f3ef7d84c7cb19390b26dcb39dea95e75b89034f63c348a1463c3d181511f65ad0105927190c5e0616a625fc1515f0d16894257da70c726a758c779a6c5af0fbfff9128c048b7836dfa2037b5e117eb5ffcff5c104875d240671831b31b51a09374f9c7a4af67fee2a134d875100b26a49a38c5ae3ee532d4add967e6d0fb0fe7c328bb42a0e25f804dfe7d00d6ff5231572199e302876e514450bf73e461f89724c31ae70f9f381b8e41c1e8873707938ff54a915ce75ef01d11cf7f0caefab5c606a0b4b04725cdf78b2ed34db8ca96e3c1e769dd94010c2ae0d3319d8bb6a18c5f0d1495ed952d4c7cf8caddeab320203be78fdf5c2f85e8c5aa99b95836c01848ec449bf1511d4f78865beabbee1f2b73d81650498ba3694db19daa1465f2ee0c646faebb24c1e40c9c6f5c6eaafc77b9be1dd1118228de62db2d60bbc5324d2d207e523fbb3bd86f974f09525b789328038ed83f607e0a4484e8dc082391211cd86dd692c16979a00866d2c4d7bda1cc3acc5ff58f41cc3008441e3ced471078ebfe8e2761834980e5cdcf4e2d60d94a8d33bcdacace70030b6c1aeba2728dbc6bfa5f17d2b6e23b54811588072cb2cc0802ea8a32a5174940bffa13c4aaff44ac5a1419e46c6502140b227fb165ccfd6cb0a30dd14724d5c82e70b9285f3f437990b686a4f84b3fa943b9551efb6684ec033360fcf84a646f567e8f8e2550cdd64fb62f704247ca1ae6798deba3dcbc978b941ee1a05b03edcfc62e7c398850ecd61b23a539f2c8655268983bf0179bdf2e18c3c8965eda10cd14798cd629d9ce9b05032950cdee1ba2fae9103474fe4ce94b620453fa1ab7a74c042cd6f557021a8f4899a3476a17f797894cd347d5b98e3ad3774429e8cf769cc8fc6f6bc9070dbee6a1712375106fd009a05c29b2b4e0dd713c9664b57165ac59979b2e51aeb35c3f48883e7bc8b4ef2cc3b93680df3a97d90402fb7a336458af4a3e55b64283710195f09bf29c7c3bbf20ff476cf68edcf0031e05156b4ff275aadbe6c9d348ba7311203e6cbf864018370ac7e7eb819c88d47612d80f0626722d3e46ccae5dee128e3c720ff2a6ed876766211a35b61c628c11b5061997690c64e77afcd7865e8647dcd4d7cc4e4ce3bca746c75720a2b6f3dfcd50d2f94460a8173802460f889c05cc623cd802695e78cb00ecc23a06ce3180d9a0d1298cbc47e5f745147ed34015ce9b20511cd6ad233c5919f81e2d5e6ec5f5304b644dbfddb0231a3fef7cb2547622ce99e21c5072518d67d4b5903c87940f6de42dfbf4d649103d10042140da00c62997d7603d327635ba8473827e9a296f1ad51151e560d4bd4cd6e39d5d6cbe04c7978790d36df03d23f8707bce97695ec59e8c872f9453a1438a8d46c3196d1392af5f8005d83e4c9df0ebae4b4e1b714bf58663f4595bd9c31fef09891b0acf1b832f083836f0d58635c4dace40cfec2d264823125c26bda43708799503330f4e138033940ca9574b0d34c0d7a268598c9bad9ea66d127fd21a9b4b782978166e9ecf05c338b2eeb856ebdac841c4795d199c3d21e5fb37f6709c65f3f440f639fe3396ad8ad4a81bdfcd784bcd8c5b343fab117a6c4d443be38c7b5c503ed11d07eb08c7a4d9e486fba500e7c195c13a4b8ed50f4961d6477089ce25c6500ad9164d59751fc0c5c6c1efafc5388d032576dfa0d883f2d8181d206b27a1b5fff0eb0d55f3a17d6c02f5ec6254935a4948d4b380fd9daf7291605d31dd9377380056cc96615ba3251a8cd1a5c358566e04b1f9d921b5fd285cf998673869974c1164cd936d906ccf8216b6c6fe9eb8962928580e8bc93fa9bfe1b835135bc07f8bda67e9a7b46fa753631029194cb1f8d51f7b942e323e264bb0c36cde0e45a569048e575d099632fc0fb2079fcd0c682f5042122e901f1c20820bb0198e35434a754e51d904ab495cdc7dc6e97592f7ee0e817a72a2b6f1a0a1b0bd98817790657aa6b456cb0b17552072240658570e912eeb20a0e4d407c5b2c389386adff6a7fc36afbc93304ae33d90a3073611fbd5c71194d325a1d817b3d150cbdff02c160e71a9920dab7ee0c96870b4887f832b614bbb57b53b3773c2ef78ca5174d95a14375ff8a971e87270304ea74cfd7c763806872b84c7f78b2819a17feff722659abfab55b40b32f2f039663c1d16e2a29086ff1f6634a8c1bb22d9d70033aed62ca06437aa1ce3a48b4525df72174b2f6f5225501db671736c605628f30d32825d3562f8be816f7abdcdeaa0aecfe86e1a27417e2225a11d29799bba27bdecd5bbb9f70493ef661400b8d1ba326923d69e193a3b2f14677ed4d947157db0db7d341c2e7787c2de2aee6ef78a2e21e1be765fb95c5f8d8a9de87b32969ee902a4f3b15deeca144a0ee95186c24ee5bd6577f3e400d026324bb7e48b05ed9d91642533ce10993326e6f43ceb748125f9f53ae22426abf4f9221c67ae35e9fdc79e4c0f3468a1124809c9de7189659d19034fff8456a8c296c0a987a4377fa8f5dfef2a015595abc66599761385e46cd41c24d47edee885e39a9474dafdd7f4f23b6f406b4a542de164e36433bf104136145552b2140fc924376b8bcaf036db41ab72878ea9ed1c790321bfdffa75568fb975c420f716ffbbbd519f50f1a3b638459648657b08bb2ed41b7ddcb6ef817145ab88badde94181f7535ba0cb435a9bf163c1c0e9c6209b0546b4e91375c57e4eb1d7cc90b0c0186a9723f8b05fe92d1b0391c3d8a78d2ee3c4e8d2c006fe716b183a51e21b02636223219ae5703e61a82770a0bd9e5ccdf0a2b427281bcc6bb18a4bb7510710cc5d18aacde1fa1cc242b2f0e7e9bfcb3fe4031fcc22049c7f8de1f2a6b50554c847fd326a1fd03455a346203c8dad7c5d338277cf254b875d5461db485c25cdd0b76d6f89b948978fbbcab50ad396655106bd0cf3b78caf7aaa853237dc41aa14bf6fe2e926c01e1ae5f0aa1f64dd166a5253a9da672ee909d8fb5e4344e34761a9e34ba17063c35a65a75e775e6fed234408a67c86ff16e2d962156dd8bb3c1dd5b955a1681b483541ec8e8a7e63c8dfa3fc7b74e6ce3dcaf4ba15640ff0cf87d4d943e6a3e28452ab0b40202f149fcbb73eb3cb43a111d533879daa9c44833917e03bbded88df9bce15b1b313944b726a1d0ae28c63d4c827e5f3ae603da087e175109d754d6c6d98cb7d0ae4cf3a7e78cbe4d29768fe9c118559fc018af3b1fe39b5f69a0dd943a04d26e87713c36a23a3a22cb602effeed275748531f7531fdc6134421a76ddd46bdf1648906453b13c74c3cf24ce01ca6e9c1a125d82128691cd1195d77f03f86aeb8ee1b3df58aaad9be5df8e6019ff9c6d97a7bbc54ec49e475f39a2370edd541fd416526754ebd54c4d8a296998aefe2641cd49f4f9514c34034f06d78759cc4bfeaa49f57fdb6b951436119c990485cd84bdeabc50566b9487992db37f1359c60865589f05a3de5ce8e6bef51ba9a2ff3120528e2d8dfb0e164a58ea5a4af34d8b2ee1afa508a0c19187f4007c59a23869a3bfa4fa24dc19ded82676b3163b4357edeb7ddf39d609143a91e9687dcfc1dedf955af2ba43547b37696a3b9b8435ce01ccde354e0a0871bb7de75eebf358d701d86aab569248e4b9defdf2752a8955c0c0e9c05177c38fbb91550262745955a2a8e6f46066c812ec6d489baef8dceb7a677fb79d861f17f17f1c99ed5c880fb364e583aae10938b9c73e32311d3a636beb0b352cc1822df808b5b9ef7069a5cd65c98f069250bf86ed7a0185f2b050f213289d5ae527a6c688d1d468f415b542308f187a17d6fab52541078bada458e88313ffbc9d05ac638a63fa6abc382628defb63a28c6f18e4d47aebbe75cd04c9d5cc2f50e2e8e544ff84d3f0806ea2bf04e64d62a8ab971179d2c2840e06d8471c3f6183e2ce47326451a7f0f3d5269d21361afb8a54ec45fb9a4bc27e426d802c704661f0d4405559bfa900715c7c783844f4175a028bbf4db491b980c7aa40ca8a1f065f1292655d7cd2ea529112c0ff5c796887f0cfdda4db18561c7867b57bda8cc5a5de59b03b70105bc8ceb6b78e7e82946ab869adce176d87253fc2626430c058e6144d351b61a9f93b26e4ac1888bc950f1633430ef2f1d6f75da719b128d9b081533ada450dc61ce3d917e429ab09acbebbe453c6d700d921877cd3cb18d030f1bee00b7e237e1073cdc53308c7c44a622ab885ea4d7bb175f1870c7bd0e305bdc8af4cbf9c09b63087370e8120c1d6d35d92d32eebec6a94950990d1090853f27298e556065a142ccea57145c8d12d7491d1fe9d4bcbc62afce0a6907c02a487f6ec92c7ac9a6b66d212092eeb4aeb1a87c3898e2979a47d2ff997108a9a2e337f2d326e447a830e24df91f6d11a6bb63fbc1dcc78f89d813be473ff6233e6593cae6b20831d469d6cc83f6922fe112cc9320712c6ffc3388f127290efa305e3a2646b5097c456ab7b65ca20680df7c9de6e9a7427ff067db25438b2c54a108b061f7f50b12c16a426c2b92d58352fad517e7749f465f52cf41941023fd743a5e28cd36008ce6a3c95c41703325393d245eddf7075a567d66c8a629d7dcc69a4cde964288672f8735bafa45a30040ac68a5eb0db703e950e65a793ae78d7d2e2146b1f9acf8473cd81142e3b222b258237deb88d643771390a6b75b9790842dcfdf6cc59911974a7eb154c38d5bc8dff71877459914c34253fea18124bf91fcdd0d5e12bfc0e28c2ffb2e7236e93a10ea339b9a37697493d32c9360b2be2ffb20b4016a04377ce0f9a2c6ccec02b410c1c0442d8b5acd4821cae573240285784d2c3d6006c1f153bff3f3cff64fc03f43ec8500c518e251cef4d84cb036296e915ce5f590176a24d5324475157150259f27f108e48ed5720ca891ee7ead96af0012a3dce2ddcd489668eb75f494a62dbe2abc95fff6ec0c0fdf74b0d3e38d6b0a32aab8db90e9e411bdb55fde24593944b87cb85d46e16674d1268efe9f824e7c5281d396c7e4f288b5da208001f5e743b8ae4e812213f3cb8e4eb64054a42cf0832dcc3607dface0d80cc684d4b6a9a28e3199ba734d42d6b73b36eb9f20199d7829da4484857951c1d58b99386015d67430730e74b5fa60d7718ebe2d143a78b962e40a9832842ee1b53c520bc090ace111e7f88f05485638c0107b77d5f78bc10b83b1ba86c7879828e994a5e16d150e6386ce5cf011e758ad15b4db3380dfeb8075540513514b1cbe62846aef45d2d4293b38546d28072dac468adeb6eeb616b690bc2b8a85d292ea0712221cbeda7ab62e9ef3c01ccdc5bd852ca9114add2353ee47ae0da774f423bf48cdf32bb679c5369cc86d66cf1b680f8d4de8ae2b17578ef1ebd67b94842ea7804afa74c9f394778ec3fc9b00775c5a3af38be9a419fcc5b934df00a544e8afa68adb8aa9293aa7183f3d5d0f6dcbf233b2b12b0853d5342778ce96d008e89c52d42b0f1f7631c29b36dbe002522be8ed1af6ecd846d089b442af0841a87d1bcd3263e39d63f6087566adbafe8d2ea29372d0fa8765c6391f5a0afbef005d76c5df68298e5d749cd56bc4c7e053b23a3a4fa34b937f7f4a2ca666329e13fa3c1e16e20321327fca4fe7dfa38a90d29410f27a85ac80e1d5ac67f9877854e7fa70ff1c9db6ed5e4040c746d7885fcefe723a865956ba404a86b0e57b5dd1d21ed614c59d986a53e5d15b62368650e45099f89e4f5f8b96a15e50c8480457ce845e06311ab93dc3a9b15bc1665a0d0261955889acf1f09ac17a0ec8e5eaa40c765a15efe3a94efd47a8cb04a2f69c1d68043f959cd7e47ab7cd647591a115ea08326e1761fd0c2a1a0fdefb9533aa6046239850d631193e645962ae0ccbc2850c9c82b8ab0951da9c90c498890975ea07023cb2a0a742d0a495e26153ac800c639bd37b51c6fe12af4476f9e80af7b70609e7e1e6085166ace100e1d409de3d13c93fb8fcefc0edb60958d41e135a1f4df12622af067657c50b0a10556a62a8634f32d7b6d193b104f9965a924cad21c4a5a1a780f1717956fadff183fac10851a851ebdff2764ebd1d462daccac9c4414d7690acc2bfe07c078d1e9718d801102db9d149df7ff0624304b9904130596808ceca358b08ad74ff13218b27832de0df5a4303690926c5fa12e7659afd32c7cea21d9bd4f24f0682e9548dffe3c46c63cd5d918037b26cfc6f9e8ca6ba7c56ba02b47876d8213576e2bb88c0fc73a3f85b853f09c8febe6aa20de778729f9960f0b97f009ee55c2091659240f2f965d426941fa5ab70ce97482d33d57e05082e0975d8d798bcc5a8789400aac777db3e5b1fb412013808103d4ae19adeeed408b9fae72cafa5de9e86b093351893d71d7ff96f5fb0d58d3a5f121ae76b0c18810464b408aaea320197cdb116eb8779ada6a07dc2cc019cb2cdb4619f86afbd6libnvme-mi.so.1libnvme.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibnvme-1.8+79.g69e7772-150600.3.12.2.src.rpm’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’libnvme-devellibnvme-devel(s390-64)pkgconfig(libnvme)pkgconfig(libnvme-mi)@@@ @@     /usr/bin/pkg-configlibnvme-mi1libnvme1pkgconfig(dbus-1)pkgconfig(json-c)pkgconfig(libkeyutils)pkgconfig(openssl)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.8+79.g69e77721.8+79.g69e77720.131.1.03.0.4-14.6.0-14.0-15.2-14.14.3gPD@gå@g @f³aĄf¬Ź@f3€@f–@eĢ«@e‚×@e…Ąe.w@e'ߥe#ė@eSĄeSĄe¼@dĀ\@d&Ė@c×±@c×±@cb[Ąc_øĄcµĄbéĄbŠ@bP#ĄbFé@b4t@b+9Ąb'E@b ­ĄbŠ@bOĄał Ąaēż@aę«Ąaę«ĄaįeĄdwagner@suse.dedwagner@suse.dedwagner@suse.dedwagner@suse.dedwagner@suse.dedwagner@suse.dedwagner@suse.dedaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.commwilck@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comana.guerrero@suse.comdaniel.wagner@suse.commwilck@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.combwiedemann@suse.comkukuk@suse.comdmueller@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.comdaniel.wagner@suse.com- Update to version 1.8+79.g69e7772: * tree: optionally skip namespaces during scanning (bsc#1232616) * fabrics: do not attempt to import keys if tls is not enabled (bsc#1216982 bsc#1226216) * linux: do not do any keyring ops when no key is provided (bsc#1216982 bsc#1226216) * linux: do not return w/o OpenSSL support enabled (bsc#1216982 bsc#1226216) * linux: fix derive_psk_digest OpenSSL 1.1 version (bsc#1216982 bsc#1226216) * json: do not escape strings when printing the configuration (bsc#1216982 bsc#1226216) * tree: do no export tls keys when not provided by user (bsc#1216982 bsc#1226216) * linux: fixup PSK HMAC type '0' handling (bsc#1216982 bsc#1226216) * util: added error code for ENOKEY (bsc#1216982 bsc#1226216) * fabrics: fix map error level in __nvmf_add_ctrl (bsc#1216982 bsc#1226216) * fabrics: add ctrl connect interface (bsc#1216982 bsc#1226216) * fabrics: use hex numbers when generating command line options (bsc#1216982 bsc#1226216) * fabrics: rename first argument for argument macros (bsc#1216982 bsc#1226216) * linux: handle key import correctly (bsc#1216982 bsc#1226216) * linux: export keys to config (bsc#1216982 bsc#1226216) * tree: read tls_configured_key and tls_keyring from sysfs (bsc#1216982 bsc#1226216) * tree: move dhchap and tls sysfs parser into separate functions (bsc#1216982 bsc#1226216) * test: add pre-shared key json tests (bsc#1216982 bsc#1226216) * json: move keystore operations out of the JSON parser (bsc#1216982 bsc#1226216) * tree: add getter/setters for TLS PSK (bsc#1216982 bsc#1226216) * test: extend psk to test new 'versioned' API (bsc#1216982 bsc#1226216) * linux: add import/export function for TLS pre-shared keys (bsc#1216982 bsc#1226216) * test: add test case for importing/exporting PSKs (bsc#1216982 bsc#1226216) * test: make config-diff more flexible to use (bsc#1216982 bsc#1226216) * linux: only return the description of a key (bsc#1216982 bsc#1226216) * linux: use ssize_t as return type for nvme_identity_len (bsc#1216982 bsc#1226216) * linux: reorder variable declarations (bsc#1216982 bsc#1226216 (bsc#1216982 bsc#1226216) * util: Add string constant for ENVME_CONNECT_IGNORED * linux: Remove the use of OpenSSL Engine API- Update to version 1.8+50.g2b587d3: * types: add new fields added in TP4165 (bsc#1231668) * types: Changed the space into tap space (bsc#1231668) * types: add new field added in TP4090 (bsc#1231668) * ioctl: export nvme_submit_passthru{64} as weak symbol (bsc#1231668) * tree: fix segfault in nvme_free_tree() (bsc#1231668) * tree: fix tls key mem leak (bsc#1231668) * tree: fix dhchap_ctrl_key mem leak (bsc#1231668) * tree: fix dhchap_key mem leak (bsc#1231668)- Update to version 1.8+42.gdc0831f: * tree: handle no address phy slot dirs (bsc#1229193)- Update to version 1.8+41.g6e8e2d7: * linux: Correct error handling for derive_psk_digest (bsc#1228376) * tree: Add NVM subsystem controller identifier (bsc#1224024)- Update to version 1.8+39.ge289971: * linux: update TLS version 1 PSK derivation (bsc#1228376) * test: add hostnqn lookup test (bsc#1226216) * tree: add helper to lookup hostnqn/hostid (bsc#1226216) * fabrics: extend hostnqn/hostid variable inject interface (bsc#1226216) * test: add config-pcie-with-tcp-config test case (bsc#1226216) * test: add config dump test (bsc#1226216) * test: revamp sysfs tree dump test (bsc#1226216) * json: filter out pcie transport (bsc#1226216) * tree: preserve parsing order of a config file (bsc#1226216) * test: use diff to compare sysfs output (bsc#1226216) * libnvme: Introduce functions to generate host identifier and host NQN (bsc#1226216) * linux: add nvme_revoke_tls_key (bsc#1226197) * libnvme: add missing symbol nvme_scan_tls_keys (bsc#1226197) - refresh 0001-build-disable-sysfs-test.patch- Update to version 1.8+26.gc96fbe8: * fabrics: keyring is a long (bsc#1216982) * config-schema.json.in: tls keys and keyrings are strings (bsc#1216982) * linux: Add nvme_scan_tls_keys() (bsc#1216982) * json: dump TLS key data in PSK interchange format (bsc#1216982) * json: import TLS key from PSK interchange format (bsc#1216982) * json: export TLS key in PSK interchange format (bsc#1216982) * tree: read TLS key in nvme_configure_ctrl() (bsc#1216982) * linux: rework nvme_insert_tls_key_versioned() (bsc#1216982) * linux: add nvme_import_tls_key() (bsc#1216982) * linux: add nvme_export_tls_key() (bsc#1216982) * crc32: Add CRC32 algorithm (bsc#1216982) * linux: add nvme_update_key() (bsc#1216982) * linux: add nvme_read_key() (bsc#1216982) * linux: allow for NULL argument in nvme_lookup_keyring() (bsc#1216982) * tree: use strtou32 to read lba_size * tree: fix lba_count size calculation * libnvme : record the nvme pci adapter physical slot (bsc#1223208) * tree: fix mem leak in nvme_ns_init() (bsc#1223331)- Update to version 1.8+8.g8c9685f: (bsc#1222026) * nbft: Whitespace fixes * tests: Add complex NBFT table from Dell R660 * tests: Adapt to added NBFT SSNS flags * nbft: Add SSNS 'discovered' flag * nbft: Add SSNS 'unavailable' flag * doc: Document the NBFT API * log: Respect DEFAULT_LOGLEVEL on uninitialized logging * log: Introduce nvme_get_logging_level()- Update to version 1.8+0.gbff7dda: * linux: Explicitly initialize auto-cleanup variables * example: fix mi identify failed with error cntid * tree: do not issue an error when subsys lookup fails during scanning * types: Add controller properties CMBEBS, CMBSWTP and NSSD * tests: Add sample NBFT table from Dell PowerEdge R660 * tests: Add sample NBFT table from Dell PowerEdge R760 * tests: Fix diffs output for duplicate HFI entries * nbft: avoid duplicate entries in ssns->hfis * nbft: Fix (struct nbft_info_subsystem_ns).num_hfis off-by-one * test: read and dump sysfs tar file * nvme: allow to overwrite hostnqn and hostid * nvme: allow to overwrite base sysfs path * json: dump the output to the user selected filedescriptor * libnvme: export nvme_dump_tree * fabrics: add 'concat' option * mi: set correct rc and errno when crc mismatch * tree: use logical block size for lba * json-schema: add keyring and tls_key details (bsc#1219086) * build: checkout full repo for checkpatch * linux: avoid segfault in check-tls-key due to null hostnqn/subsysnqn (bsc#1219086) * meson.build: fixup 'join' syntax * util: Explicitly initialize auto-cleanup variables * tree: Explicitly initialize auto-cleanup variables * linux: Explicitly initialize auto-cleanup variables * fabrics: Explicitly initialize auto-cleanup variables * util: Added function to find specific UUID in UUID list. * build: fix release python tag match - Disable new unit test which is not running stable in OSB * add 0001-build-disable-sysfs-test.patch- Update to version 1.7.1+0.g13ba383: * tree: do no free ns on error in nvme_ns_init- Update to version 1.7+0.gf38b1d7: * tree: do not open blk device on default * tree: read all attributes from sysfs when available * ioctl: set data length when retrieving LBA status * types: fix regression for vendor-specific field in nvme_id_ns * util: use cleanup functions * linux: use cleanup functions * json: use cleanup functions * fabrics: use cleanup functions * tree: use cleanup functions * cleanup: add cleanup functions * tree: fix incorrect return value * tree: Fix clearing application strings * libnvme: reshuffle nvme_generate_tls_key_identity() * libnvme: fixup error codes * libnvme: Implement 'nvme_generate_tls_key_identity()' * libnvme: support NVMe TLS identities version 1 (bsc#1219086) * libnvme: Add base64 functions * libnvme: separate out 'gen_tls_identity' and reshuffle 'derive_nvme_keys' * libnvme: separate out a function 'select_hmac' * libnvme: fix a memory leak when calling read_ssns() * libnvme: fix a memory leak in read_discovery() * fabrics: avoid redundant args in nvme_discovery_log() * fabrics: have nvmf_get_discovery_log() call nvmf_get_discovery_wargs() * fabrics: fetch smaller Discovery Log Page header * fabrics: avoid redundant Get Log Page on retry * fabrics: clear RAE for discovery log page commands * json-schema: add keyring and tls_key details (bsc#1219086) * types: add Host Behavior Support field definitions * mi: Cast values to u32 if shift overflows int * types: Cast values to u32 if shift overflows int * test: Avoid unaligned pointer dereferences * nbft: Avoid unaligned pointer dereferences * types: add cross-namespace copy formats, status codes, ONCS bits * nvme: Add length field to Hkdf-Expand-Label computation * ioctl: use lsp arg in nvme_get_log_boot_partition * fabrics: use SECTYPE to determine whether to use TLS (bsc#1219086) * fabrics: Allocate aligned payloads for id_ctrl and discovery log calls * linux: Allocate aligned payloads for id_ctrl and id_ns calls * ioctl: MSB variable-size storage/reference tags- Update to version 1.6+5.g68c6ffb: * avoid stack corruption by unaligned DMA to user space buffers (bsc#1216344, gh#linux-nvme/libnvme#727)- Add missing jsc# tracking references to changelog- Use glob for python3-libnvme file listening. Workaround pycache_only problems for SLE/Leap builds. - Drop usused libuuid dependency- Enable tests during build - Set git version tag - Drop unused make dependency- Drop unencessary minimum version depedency on meson. - Re-enable libdbus feature. Upstream defaults changed.- Update to version 1.6: (jsc#PED-3610 jsc#PED-4879 jsc#PED-5061) * docs: Fix Read-the-Docs configuration (deprecated config param) * mi-mctp: Fix free() in error path of mi_open_mctp * types: Use NVME_SET for status type mask to get status value * types: Define FLBAS MASK and SHIFT to use NVME_GET * types: Support Phy Rx Eye Opening Measurement Log * log: Add nvme root global variable to set for default output * types: Add support for the OAQD ID controller field * test: use non deprecated API * test: add tests for Get/Set Features functions * ioctl: implement nvme_set_features_lba_range() * ioctl: pass NSID in Get/Set Features commands that use it * ioctl: fix swapped parameters in nvme_set_features_host_id() * ioctl: export nvme_{g,s}et_features_iocs_profile() * ioctl: pass ENDGID in nvme_get_features_endurance_event_cfg() * ioctl: don't set SAVE bit on unsaveable features * ioctl: avoid sending uninitialized timestamp * ioctl: pass data for Get/Set Features commands * ioctl: set correct bits in Set Features commands * ioctl: correct feature IDs in Get/Set Features commands * tree: Add 2 new public functions to lookup existing controllers * ioctl: Add debugging feature to show command outputs * Fix incorrect article 'an' as 'a' to use for a description * linux: Added functions to enable faster telemetry data retrieval. Moved telemetry data area support detection into separate function. Added possibility to modify data transfer chunk size. Enable telemetry extraction up to specified data area. Removed some printf() and perror(). * test: account for discovery log page entry stripping * fabrics: unconditionally strip discovery entry strings * fabrics: only look for spaces in strchomp() * tree: Use early return instead of else statements * test: fix lookup test case * test: make all function static * test: add tests for new tcp controller matching algorithm * tree: Improve TCP controller matching algorithm * util: Add functions to parse the system's interfaces * types: Add support for EGFEAT, Domain Identifier, TEGCAP and UEGCAP * mi: remove nsid from nvme_mi_admin_identify_secondary_ctrl_list() * test: add tests for nvme_ctrl_get_src_addr() * tree: Add nvme_ctrl_get_src_addr() to get the controller's src_addr * util: Split _nvme_ipaddrs_eq() from nvme_ipaddrs_eq() * test: add tests for Identify functions * ioctl: use available Identify helper functions * test: pass a large enough buffer to nvme_identify_ns_descs() * ioctl: remove nsid from nvme_identify_secondary_ctrl_list() * meson: Don't hard-code path to "internal/config.h" * fabrics: Do not pass disable_sqflow if not supported * fabrics: Read the supported options lazy * test: add discovery log page tests * test: add infra for mocking passthru ioctls * tree: fix segfault in nvme_scan_subsystem() (bsc#1213993) * src/nvme/tree.c: make __nvme_scan_subsystem() returning bool (bsc#1213993) * doc: fix minor mistake in README.md about dependencies * nvme-tree: avoid warning in 'list-subsys' (bsc#1212598) * tree: Add getter for subsystem iopolicy (bsc#1124564) * fabrics: Consider also all hosts settings for context match * tree: Scan all subsystems (bsc#1212598) * doc: Fixing compile instruction in README * mi: allow non-4-byte-aligned responses * mi-mctp: use a linear response buffer * mi: implement length and offset alignment checks in admin_xfer() * tree: Don't open nvme devices until it's absolutely required (bsc#1213527 bsc#1213686) * tree: missing closedir() causes fd leak for "/sys/bus/pci/slots" * mi: don't return from mi_mctp_submit with a tag held * util: Provide empty nvme_ipaddrs_eq for static builds * fabrics: Relax match on well known disc ctrl lookup * tree: Ignore NULL address pointer for phy slot lookup * fabrics: Filter discovery ctrls out during application context check * util: Add ignored error code * json: Use memory block allocated by realloc() instead printbuf * util: Use HAVE_NETDB instead of HAVE_LIBNSS * tree: Add PCI physical slot number for controller * tree: Use nvme_ipaddrs_eq() to compare IP addresses * fabrics: Add EADDRNOTAVAIL error mapping * fabrics: filter out subsystems with non-matching application string * libnvme: add 'application' setting to nvme_root * libnvme: add 'application' setting to the subsystem * test: Add more code coverage for nvme_ipaddrs_eq() * util: rename ipaddrs_eq() to nvme_ipaddrs_eq() and make public. * util: Add ipaddrs_eq() to check whether two IP addresses are equal * test: Add unit test for ctrl lookups * ioctl: fix RAE bit on last Get Log Page command (bsc#1213618) * fabrics: check genctr after getting discovery entries (bsc#1213618) * fabrics: handle /dev/nvme-fabrics read failure * fabrics: fix potential invalid memory access in __nvmf_supported_option() * Python: Fix crash during garbage collection * python/swig: Check swig version to determine whether -py3 is needed * python/swig: Wrap swig-sensitive struct inside #ifwdef SWIG * mi: Add nvme_mi_ctrl_id to retrieve controller ID * Python: Suppress swig warnings about unnamed struct * examples: fix incorrect controller status in MI info output * ioctl: Explicitly initialize all members of struct nvme_ns_mgmt_args * Python: make NBFT data more pythonic * ioctl: io management send, receive args fix * python: Update test data * NBFT: Remove documentation from nbft.c since it's also in nbft.h * Python: Add NBFT support * nbft: Doc typo - Use nvme_nbft_free() instead of nbft_free() * nbft: Parse the {HOSTID,HOSTNQN}_CONFIGURED flags * nbft: Fix nbft_ssns_flags endianness test * nbft: Add a simple unit test * doc: Update README * build: Simple muon build configuration * build: Extend summary section * build: Make json-c dependency lookup not fail * nbft: Move added symbols to LIBNVME_1_5 * build: Update wrap mode defaults * build: Disable fallback on default * tree: Fix offset argument check in nvme_bytes_to_lba * nbft: add NBFT v1.0 table support (jsc#PED-1449) * types: Add IO command set specific field on nsmgmt * fabrics: Do not pass unsupported options to kernel * types: Add ns-mgmt host software specified fields * types.h: Add FDP related Status Code * tree: Fix argument check in nvme_bytes_to_lba- Fix build with meson 1.2.0- Update to version 1.4: (jsc#PED-553 jsc#PED-3884) * fabrics: Filter out invalid UUIDs from DMI * fabrics: Add define for DMI sysinfo * Print out correct TREQ strings for discovery * tree: fix generic device open failure * fabrics: add configuration option 'tls_key' * fabrics: add configuration option 'keyring' * linux: add key helper functions * nvme: add 'nvme_insert_tls_key()' function * linux: add nvme_lookup_keyring() * python: Change python option from combo to feature * types: add opcode field to error log page (TP4113) * python: Add setter property for controller DHCHAP Key * python: Remove redundant host.set_key() method * build, meson: Print option summary * Python: Add support for setting/getting Host DHCHAP key * Python: Add hostnqn_from_file() and hostid_from_file() * types: Update position of elbatm in struct nvme_copy_range{_f1} * doc: fix kernel-doc-check warning * python, meson: Assert that deps are present for -Dpython=true * python: Reformat SWIG input file * python test: Check there is no SIGSEGV during garbage collection * python: Return PyObject* from __str__() instead of a static char[] * python: Fix segmentation fault during garbage collection * build: Enable test in muon minimal build * build: Streamline workflows with nvme-cli * mi: Add nvme_mi_admin_get_log_page * ioctl: Set file descriptor in nvme_get_log_page() * fix endians * fabrics: Do not ignore one char whitespace when string sanitizing - Enabled unit test on s390x again (bsc#1207687, bsc#1207686) - Fix invalid string lenght calculcation for UUID (bsc#1209906) - Fix segmentation fault during garbage collection (bsc#1209905) - Always sanitize traddr and trsvcid entries (bsc#1207435) - Allow tracking unique discover controllers (bsc#1186689)- temporarily disable unit tests on s390x (bsc#1207687, bsc#1207686)- Update to version 1.3: * Support added for Flexible Data Placement (TP4146) * Fabrics: added support for Persistent Discovery Controllers. * libnvme-mi added a quirk framework to workaround special behavior of certain devices * The python binding behaves more friendly in a threading environment by release the GIL on blocking calls. * Replaced 3the libsystemd dependency with libdbus * A lot of small fixes everywhere (leaks, wrong ordering of arguments, ...) - Update spec file * Project depends on meson >= 0.50.0- Update to version 1.2: * Add more details for return code of MI admin cmds * Parse dhchap_host_key on controller level * Update json config schema for missing dhchap host key * fabrics: Add new TP8010 definitions * fabrics: Add nvmf_get_discovery_wargs() * fabrics: Duplicate strings when merging configs * fabrics: Filter out empty strings in add_argument() * fabrics: Use fallthrough statement * ioctl: Set log page offset for nvme_get_log_telemetry_host * json-schema: add dhchap_key details to host section * json: Enforce correctly formatted JSON config files * json: Verify JSON config file starts with an array * mi: Add Get Log Page helpers * mi: Add Identify function for secondary controller list * mi: Add Identify helper for ns-descs and primary-ctrl-caps * mi: Add firmware download and commit commands * mi: Add identify helper for nsid-capable Controller List * mi: Add identify helpers for namespace lists * mi: Add identify helpers for namespaces * mi: Allow Admin-message sized More Processing Required responses * mi: Distinguish MI status from NVMe (CDW3) status * mi: Fix C++ compiler errors * mi: Implement Format NVM command * mi: Implement Get & Set Features Admin commands * mi: Implement NS attach command and helpers * mi: Implement Namespace Management command and create/delete helpers * mi: Implement Sanitize command * mi: Init ctrl_id within xfer * mi: Introduce a helper for response status, unify values with ioctls * mi: Set log page offset for nvme_get_log_telemetry_host * mi: add nvme_mi_status_to_string() * mi: fix a memory leak in nvme_mi_open_mctp() * mi: fix get_log_page chunked offset check * nvme-tree: avoid segfault if auth keys are unavailable * python: Use nvmf_get_discovery_wargs() * tree: rename controller 'dhchap_key' to 'dhchap_ctrl_key' * types: Move enum nvme_data_tfr to types * util: Add LINE_MAX define * util: Add get feature length 2 API to support direction parameter * util: Add simple UUID type * util: Do not expose fallthrough defines - Make man page build conditiional. Install man page location has been fixed upstream. - Mark the Python directory own by the libnvme3-python package- Use fixed manpage build date (boo#1047218)- Fix installation of manual pages to make them accessible- Update to version 1.1: * Regenerate all documentation * json: fixup dhchap_ctrl_key definitions * fabrics: Fix build_options() return values * fabrics: sanitize dump-config output * Fix poll.h includes * build: Drop -nostdinc for LibreSSL header checks * ioctl: Honor rae in nvme_get_nsid_log * build: Add support to build against LibreSSL * rpmbuild: Enable 'make rpm' to build rpm pkgs #408 * mi: unify MI Get Log Page function with ioctl API * python: add missing ctrl attrs to Python bindings * mi-mctp: Add timeout support to MCTP transport * mi: Add maximum More Processing Required limit API * mi: Add endpoint get/set timeout API * tree: Factor lookup code for controller (bsc#1199503) * fabrics: Consider config from file when adding new controller (bsc#1199503) * fabrics: Lower log level in __nvmf_add_ctrl (bsc#1199994 bsc#1199503) * fabrics: Remove double connection error logging (bsc#1199994 bsc#1199503) * Fixes for controller authentication (bsc#1201501 bsc#1201700 bsc#1201701 bsc#1201717)- Update to version v1.1-rc0: * update/cleanup of documentation * various build fixes * various fixes reported by coverity * 64-bit Reference Tags and TP-4068 changes * libnvme-mi: Introduce NVMe Managament Interface library- Update to version 1.0: * tree: Remove default port setting for TCP and RDMA ports * tree: add 'f_args' argument to pass user data to the filter function * tree: remove 'ctrl_get_ana_state()' * tree: add namespace path iterators * tree: filter out namespaces * tree: update nvme_scan_filter_t usage- Update to version 1.0-rc8: * types: Add support for get log - MI Command Supported * types: Add new Identify constant * types: Update persistent event entry struct added new fields * types: Add Host Initiated Data Gen Number to telemetry log struct * tree: always allocate config file in nvme_read_config() * tree: rework nvme_scan_subsystem() * tree: make subsystem name mandatory in nvme_scan_ctrl() * tree: move nvme_init_subsystem() into nvme_lookup_subsystem() * tree: do not return error when filtering out subsystems * tree: add debugging messages during scanning * tree: Handle NULL subsysname in nvme_scan_ctrl() * tree: Fix subsystem initialization in nvme_scan_ctrl() * tree: Fix leaking 'name' in nvme_subsystem_lookup_namespace() * tree: Avoid dereferencing nvme_subsystem_t before its check for NULL * tree: Clarify NULL return values from nvme_get_attr() * fabrics: Invoke nvmf_dim() with provided tas argument * fabrics: add 'nvmf_update_config()' * fabrics: Avoid out of bounds string chomping * fabrics: Free old traddr in nvmf_add_ctrl * fabrics: update log level for write failures * fabrics: Streamlining documentation * fabrics: Fix leaking ctrl in nvmf_connect_disc_entry() * fabrics: Add missing break in a switch * ioctl: Remove attribute packed and alignedof for args structs * ioctl: Align arguments indentation with braces * json: fix endless loop scanning for controllers * Remove nvme_init_id_ns * Add lbstm support for create-ns * documentation updates- Update to version 1.0-rc7: * linux: fixup log page offset in nvme_get_log_page() * tree: Add support for default trsvcid for all controllers (bsc#1195858) * tree: fixup coredump during nvme discover- Update to version 1.0-rc6: * tree: add nvme_ctrl_get_ana_state() (bsc#1195938) * tree: link paths to namespaces in nvme_subsystem_scan_namespace() (bsc#1195938) * ioctl.h: ns list bug fix (wrong cns value) * types.h: Key Value Command Set Identifier added (NVME_CSI_KV) * types: fix status code type bug (wrong masking)- Update License information. The library is released under LGPL-2.1-or-later and not LGPL-2.1-only.- Update to version 1.0-rc5: * ioctl: Set lsp to action in nvme_get_log_persistent_event (bsc#1196121) * tree: Ignore traddr case in nvme_lookup_ctrl() (bsc#1194025) * fabrics: Do not swap bytes for system uuid (bsc#1196565) * documentation updates- Update to version 1.0-rc4: * fabrics: add default port number for NVMe/TCP I/O controllers * linux: Update size when telemetry controller initiated data is unavailable * add cdw13 for set_feature_args structure * Add support for TP8010 * Documentation cleanups- Update to version v1.0-rc3: * Properly create manuals/documentation * Fix memleaks in __nvme_free_ns() and nvme_scan_subsystem() * nvme: get log domain id included in Log Specific Identifier * nvme: Add nulbaf(Number of Unique Capability LBA Formats) field on nvmd_id_ns * ioctl: Add identify ioctl for CNS 09h, 0Ah * nvme: Add Enhanced Controller Meta Data(FID: 0x7D) * nvme: Add Supported Capacity Configuration List log page(LID: 0x11) * tree: do not set dhchap_key to 'none' * tree: restart controller lookup * tree: fixup memory leak in nvme_scan_ctrl() * Rename nvme_path_get_subsystem() * Remove nvme_reset_topology() - Use precompiled documentation instead regenerating it- Update to version 1.0~2: * Add fabrics config option 'tls' * Logging infrastructure reworked (API break) * Changed argument structs layout (API break) * Changed scan API (API break) * Fixed ctrl_loss_tmo handling concerning values of '-1' * Various build fixes- Remove Provide for python package. - Remove explicit tar file name for setup step.- Use osc_scm to manage upstream input source.- Fix Source URL- Initial package creation for libnvmes390zl37 1733497337  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR€€1.8+79.g69e7772-150600.3.12.21.8+79.g69e7772-150600.3.12.21.81.8libnvme-mi.hlibnvme.hnvmeapi-types.hfabrics.hfilters.hioctl.hlinux.hlog.hmi.hnbft.htree.htypes.hutil.hlibnvme-mi.solibnvme.solibnvme-mi.pclibnvme.pclibnvme-develREADME.mdnbft_control.2.gznbft_control_flags.2.gznbft_desc_type.2.gznbft_discovery.2.gznbft_discovery_flags.2.gznbft_header.2.gznbft_heap_obj.2.gznbft_hfi.2.gznbft_hfi_flags.2.gznbft_hfi_info_tcp.2.gznbft_hfi_info_tcp_flags.2.gznbft_host.2.gznbft_host_flags.2.gznbft_info.2.gznbft_info_discovery.2.gznbft_info_hfi.2.gznbft_info_hfi_info_tcp.2.gznbft_info_host.2.gznbft_info_nid_type.2.gznbft_info_primary_admin_host_flag.2.gznbft_info_security.2.gznbft_info_subsystem_ns.2.gznbft_security.2.gznbft_security_flags.2.gznbft_security_secret_type.2.gznbft_ssns.2.gznbft_ssns_ext_info.2.gznbft_ssns_ext_info_flags.2.gznbft_ssns_flags.2.gznbft_ssns_trflags.2.gznbft_trtype.2.gznvme_admin_opcode.2.gznvme_admin_passthru.2.gznvme_admin_passthru64.2.gznvme_ae_info_css_nvm.2.gznvme_ae_info_error.2.gznvme_ae_info_notice.2.gznvme_ae_info_smart.2.gznvme_ae_type.2.gznvme_aggregate_endurance_group_event.2.gznvme_aggregate_predictable_lat_event.2.gznvme_ana_group_desc.2.gznvme_ana_log.2.gznvme_ana_state.2.gznvme_apst_entry.2.gznvme_boot_partition.2.gznvme_capacity_config_desc.2.gznvme_capacity_mgmt.2.gznvme_change_ns_event.2.gznvme_channel_config_desc.2.gznvme_cmb_size.2.gznvme_cmd_effects.2.gznvme_cmd_effects_log.2.gznvme_cmd_format_mset.2.gznvme_cmd_format_pi.2.gznvme_cmd_format_pil.2.gznvme_cmd_format_ses.2.gznvme_cmd_get_log_lid.2.gznvme_cmd_get_log_telemetry_host_lsp.2.gznvme_compare.2.gznvme_connect_err.2.gznvme_constants.2.gznvme_copy.2.gznvme_copy_range.2.gznvme_copy_range_f1.2.gznvme_copy_range_f2.2.gznvme_copy_range_f3.2.gznvme_copy_range_sopt.2.gznvme_create_ctrl.2.gznvme_create_root.2.gznvme_csi.2.gznvme_ctrl_config_match.2.gznvme_ctrl_find.2.gznvme_ctrl_first_ns.2.gznvme_ctrl_first_path.2.gznvme_ctrl_for_each_ns.2.gznvme_ctrl_for_each_ns_safe.2.gznvme_ctrl_for_each_path.2.gznvme_ctrl_for_each_path_safe.2.gznvme_ctrl_get_address.2.gznvme_ctrl_get_config.2.gznvme_ctrl_get_dhchap_host_key.2.gznvme_ctrl_get_dhchap_key.2.gznvme_ctrl_get_fd.2.gznvme_ctrl_get_firmware.2.gznvme_ctrl_get_host_iface.2.gznvme_ctrl_get_host_traddr.2.gznvme_ctrl_get_model.2.gznvme_ctrl_get_name.2.gznvme_ctrl_get_numa_node.2.gznvme_ctrl_get_phy_slot.2.gznvme_ctrl_get_queue_count.2.gznvme_ctrl_get_serial.2.gznvme_ctrl_get_sqsize.2.gznvme_ctrl_get_src_addr.2.gznvme_ctrl_get_state.2.gznvme_ctrl_get_subsysnqn.2.gznvme_ctrl_get_subsystem.2.gznvme_ctrl_get_sysfs_dir.2.gznvme_ctrl_get_traddr.2.gznvme_ctrl_get_transport.2.gznvme_ctrl_get_trsvcid.2.gznvme_ctrl_identify.2.gznvme_ctrl_is_discovered.2.gznvme_ctrl_is_discovery_ctrl.2.gznvme_ctrl_is_persistent.2.gznvme_ctrl_is_unique_discovery_ctrl.2.gznvme_ctrl_list.2.gznvme_ctrl_metadata_type.2.gznvme_ctrl_next_ns.2.gznvme_ctrl_next_path.2.gznvme_ctrl_release_fd.2.gznvme_ctrl_reset.2.gznvme_ctrl_set_dhchap_host_key.2.gznvme_ctrl_set_dhchap_key.2.gznvme_ctrl_set_discovered.2.gznvme_ctrl_set_discovery_ctrl.2.gznvme_ctrl_set_persistent.2.gznvme_ctrl_set_unique_discovery_ctrl.2.gznvme_ctrls_filter.2.gznvme_data_tfr.2.gznvme_default_host.2.gznvme_describe_key_serial.2.gznvme_dev_self_test.2.gznvme_directive_dtype.2.gznvme_directive_receive_doper.2.gznvme_directive_recv.2.gznvme_directive_recv_identify_parameters.2.gznvme_directive_recv_stream_allocate.2.gznvme_directive_recv_stream_parameters.2.gznvme_directive_recv_stream_status.2.gznvme_directive_send.2.gznvme_directive_send_doper.2.gznvme_directive_send_id_endir.2.gznvme_directive_send_identify_endir.2.gznvme_directive_send_stream_release_identifier.2.gznvme_directive_send_stream_release_resource.2.gznvme_directive_types.2.gznvme_disconnect_ctrl.2.gznvme_dsm.2.gznvme_dsm_attributes.2.gznvme_dsm_range.2.gznvme_dst_stc.2.gznvme_dump_config.2.gznvme_dump_tree.2.gznvme_eg_critical_warning_flags.2.gznvme_eg_event_aggregate_log.2.gznvme_end_grp_chan_desc.2.gznvme_end_grp_config_desc.2.gznvme_endurance_group_log.2.gznvme_eom_lane_desc.2.gznvme_eom_optional_data.2.gznvme_errno_to_string.2.gznvme_error_log_page.2.gznvme_fabrics_config.2.gznvme_fctype.2.gznvme_fdp_config_desc.2.gznvme_fdp_config_fdpa.2.gznvme_fdp_config_log.2.gznvme_fdp_event.2.gznvme_fdp_event_flags.2.gznvme_fdp_event_realloc.2.gznvme_fdp_event_realloc_flags.2.gznvme_fdp_event_type.2.gznvme_fdp_events_log.2.gznvme_fdp_reclaim_unit_handle_status.2.gznvme_fdp_reclaim_unit_handle_update.2.gznvme_fdp_ruh_desc.2.gznvme_fdp_ruh_status.2.gznvme_fdp_ruh_status_desc.2.gznvme_fdp_ruh_type.2.gznvme_fdp_ruha.2.gznvme_fdp_ruhu_desc.2.gznvme_fdp_ruhu_log.2.gznvme_fdp_stats_log.2.gznvme_fdp_supported_event_attributes.2.gznvme_fdp_supported_event_desc.2.gznvme_feat.2.gznvme_feat_auto_pst.2.gznvme_feat_fdp_events_cdw11.2.gznvme_feat_host_behavior.2.gznvme_feat_nswpcfg_state.2.gznvme_feat_plm_window_select.2.gznvme_feat_resv_notify_flags.2.gznvme_feat_tmpthresh_thsel.2.gznvme_features_async_event_config_flags.2.gznvme_features_id.2.gznvme_fid_supported_effects.2.gznvme_fid_supported_effects_log.2.gznvme_firmware_slot.2.gznvme_first_host.2.gznvme_first_subsystem.2.gznvme_flush.2.gznvme_for_each_host.2.gznvme_for_each_host_safe.2.gznvme_for_each_subsystem.2.gznvme_for_each_subsystem_safe.2.gznvme_format_nvm.2.gznvme_format_nvm_compln_event.2.gznvme_format_nvm_start_event.2.gznvme_free_ctrl.2.gznvme_free_host.2.gznvme_free_ns.2.gznvme_free_subsystem.2.gznvme_free_tree.2.gznvme_fw_commit.2.gznvme_fw_commit_ca.2.gznvme_fw_commit_event.2.gznvme_fw_download.2.gznvme_fw_download_seq.2.gznvme_gen_dhchap_key.2.gznvme_generate_tls_key_identity.2.gznvme_get_ana_log_len.2.gznvme_get_attr.2.gznvme_get_ctrl_attr.2.gznvme_get_ctrl_telemetry.2.gznvme_get_directive_receive_length.2.gznvme_get_discovery_args.2.gznvme_get_feature_length.2.gznvme_get_feature_length2.2.gznvme_get_features.2.gznvme_get_features_arbitration.2.gznvme_get_features_async_event.2.gznvme_get_features_auto_pst.2.gznvme_get_features_data.2.gznvme_get_features_endurance_event_cfg.2.gznvme_get_features_err_recovery.2.gznvme_get_features_err_recovery2.2.gznvme_get_features_hctm.2.gznvme_get_features_host_behavior.2.gznvme_get_features_host_id.2.gznvme_get_features_host_mem_buf.2.gznvme_get_features_host_mem_buf2.2.gznvme_get_features_iocs_profile.2.gznvme_get_features_irq_coalesce.2.gznvme_get_features_irq_config.2.gznvme_get_features_kato.2.gznvme_get_features_lba_range.2.gznvme_get_features_lba_range2.2.gznvme_get_features_lba_sts_interval.2.gznvme_get_features_nopsc.2.gznvme_get_features_num_queues.2.gznvme_get_features_plm_config.2.gznvme_get_features_plm_window.2.gznvme_get_features_power_mgmt.2.gznvme_get_features_resv_mask.2.gznvme_get_features_resv_mask2.2.gznvme_get_features_resv_persist.2.gznvme_get_features_resv_persist2.2.gznvme_get_features_rrl.2.gznvme_get_features_sanitize.2.gznvme_get_features_sel.2.gznvme_get_features_simple.2.gznvme_get_features_sw_progress.2.gznvme_get_features_temp_thresh.2.gznvme_get_features_timestamp.2.gznvme_get_features_volatile_wc.2.gznvme_get_features_write_atomic.2.gznvme_get_features_write_protect.2.gznvme_get_host_telemetry.2.gznvme_get_lba_status.2.gznvme_get_lba_status_log.2.gznvme_get_log.2.gznvme_get_log_ana.2.gznvme_get_log_ana_groups.2.gznvme_get_log_boot_partition.2.gznvme_get_log_changed_ns_list.2.gznvme_get_log_cmd_effects.2.gznvme_get_log_create_telemetry_host.2.gznvme_get_log_device_self_test.2.gznvme_get_log_discovery.2.gznvme_get_log_endurance_group.2.gznvme_get_log_endurance_grp_evt.2.gznvme_get_log_error.2.gznvme_get_log_fdp_configurations.2.gznvme_get_log_fdp_events.2.gznvme_get_log_fdp_stats.2.gznvme_get_log_fid_supported_effects.2.gznvme_get_log_fw_slot.2.gznvme_get_log_lba_status.2.gznvme_get_log_media_unit_stat.2.gznvme_get_log_mi_cmd_supported_effects.2.gznvme_get_log_page.2.gznvme_get_log_persistent_event.2.gznvme_get_log_phy_rx_eom.2.gznvme_get_log_predictable_lat_event.2.gznvme_get_log_predictable_lat_nvmset.2.gznvme_get_log_reclaim_unit_handle_usage.2.gznvme_get_log_reservation.2.gznvme_get_log_sanitize.2.gznvme_get_log_smart.2.gznvme_get_log_support_cap_config_list.2.gznvme_get_log_supported_log_pages.2.gznvme_get_log_telemetry_ctrl.2.gznvme_get_log_telemetry_host.2.gznvme_get_log_zns_changed_zones.2.gznvme_get_logical_block_size.2.gznvme_get_new_host_telemetry.2.gznvme_get_ns_attr.2.gznvme_get_nsid.2.gznvme_get_path_attr.2.gznvme_get_property.2.gznvme_get_subsys_attr.2.gznvme_get_telemetry_log.2.gznvme_get_telemetry_max.2.gznvme_hmac_alg.2.gznvme_host_behavior_support.2.gznvme_host_get_dhchap_key.2.gznvme_host_get_hostid.2.gznvme_host_get_hostnqn.2.gznvme_host_get_hostsymname.2.gznvme_host_get_root.2.gznvme_host_is_pdc_enabled.2.gznvme_host_mem_buf_attrs.2.gznvme_host_metadata.2.gznvme_host_release_fds.2.gznvme_host_set_dhchap_key.2.gznvme_host_set_hostsymname.2.gznvme_host_set_pdc_enabled.2.gznvme_id_ctrl.2.gznvme_id_ctrl_anacap.2.gznvme_id_ctrl_apsta.2.gznvme_id_ctrl_avscc.2.gznvme_id_ctrl_cmic.2.gznvme_id_ctrl_cntrltype.2.gznvme_id_ctrl_cqes.2.gznvme_id_ctrl_ctratt.2.gznvme_id_ctrl_dctype.2.gznvme_id_ctrl_dsto.2.gznvme_id_ctrl_fcatt.2.gznvme_id_ctrl_fna.2.gznvme_id_ctrl_frmw.2.gznvme_id_ctrl_fuses.2.gznvme_id_ctrl_hctm.2.gznvme_id_ctrl_lpa.2.gznvme_id_ctrl_mec.2.gznvme_id_ctrl_nvm.2.gznvme_id_ctrl_nvmsr.2.gznvme_id_ctrl_nvscc.2.gznvme_id_ctrl_nwpc.2.gznvme_id_ctrl_oacs.2.gznvme_id_ctrl_oaes.2.gznvme_id_ctrl_ofcs.2.gznvme_id_ctrl_oncs.2.gznvme_id_ctrl_rpmbs.2.gznvme_id_ctrl_sanicap.2.gznvme_id_ctrl_sgls.2.gznvme_id_ctrl_sqes.2.gznvme_id_ctrl_vwc.2.gznvme_id_ctrl_vwci.2.gznvme_id_directives.2.gznvme_id_domain_attr.2.gznvme_id_domain_list.2.gznvme_id_endurance_group_list.2.gznvme_id_independent_id_ns.2.gznvme_id_iocs.2.gznvme_id_ns.2.gznvme_id_ns_attr.2.gznvme_id_ns_dlfeat.2.gznvme_id_ns_dpc.2.gznvme_id_ns_dps.2.gznvme_id_ns_flbas.2.gznvme_id_ns_granularity_desc.2.gznvme_id_ns_granularity_list.2.gznvme_id_ns_mc.2.gznvme_id_ns_nmic.2.gznvme_id_ns_rescap.2.gznvme_id_nsfeat.2.gznvme_id_nvmset_list.2.gznvme_id_psd.2.gznvme_id_uuid.2.gznvme_id_uuid_list.2.gznvme_id_uuid_list_entry.2.gznvme_identify.2.gznvme_identify_active_ns_list.2.gznvme_identify_active_ns_list_csi.2.gznvme_identify_allocated_ns.2.gznvme_identify_allocated_ns_list.2.gznvme_identify_allocated_ns_list_csi.2.gznvme_identify_cns.2.gznvme_identify_ctrl.2.gznvme_identify_ctrl_csi.2.gznvme_identify_ctrl_list.2.gznvme_identify_domain_list.2.gznvme_identify_endurance_group_list.2.gznvme_identify_independent_identify_ns.2.gznvme_identify_iocs.2.gznvme_identify_iocs_ns_csi_user_data_format.2.gznvme_identify_ns.2.gznvme_identify_ns_csi.2.gznvme_identify_ns_csi_user_data_format.2.gznvme_identify_ns_descs.2.gznvme_identify_ns_granularity.2.gznvme_identify_nsid_ctrl_list.2.gznvme_identify_nvmset_list.2.gznvme_identify_primary_ctrl.2.gznvme_identify_secondary_ctrl_list.2.gznvme_identify_uuid.2.gznvme_init_copy_range.2.gznvme_init_copy_range_f1.2.gznvme_init_copy_range_f2.2.gznvme_init_copy_range_f3.2.gznvme_init_ctrl.2.gznvme_init_ctrl_list.2.gznvme_init_dsm_range.2.gznvme_init_logging.2.gznvme_insert_tls_key.2.gznvme_insert_tls_key_versioned.2.gznvme_io.2.gznvme_io_control_flags.2.gznvme_io_dsm_flags.2.gznvme_io_mgmt_recv.2.gznvme_io_mgmt_recv_mo.2.gznvme_io_mgmt_send.2.gznvme_io_mgmt_send_mo.2.gznvme_io_opcode.2.gznvme_io_passthru.2.gznvme_io_passthru64.2.gznvme_is_64bit_reg.2.gznvme_lba_range_type.2.gznvme_lba_range_type_entry.2.gznvme_lba_rd.2.gznvme_lba_status.2.gznvme_lba_status_atype.2.gznvme_lba_status_desc.2.gznvme_lba_status_log.2.gznvme_lbaf.2.gznvme_lbaf_rp.2.gznvme_lbart.2.gznvme_lbas_ns_element.2.gznvme_lockdown.2.gznvme_log_ana_lsp.2.gznvme_log_phy_rx_eom_action.2.gznvme_log_phy_rx_eom_quality.2.gznvme_lookup_ctrl.2.gznvme_lookup_host.2.gznvme_lookup_key.2.gznvme_lookup_keyring.2.gznvme_lookup_subsystem.2.gznvme_media_unit_config_desc.2.gznvme_media_unit_stat_desc.2.gznvme_media_unit_stat_log.2.gznvme_metadata_element_desc.2.gznvme_mi_admin_admin_passthru.2.gznvme_mi_admin_format_nvm.2.gznvme_mi_admin_fw_commit.2.gznvme_mi_admin_fw_download.2.gznvme_mi_admin_get_features_data.2.gznvme_mi_admin_get_log.2.gznvme_mi_admin_get_log_ana.2.gznvme_mi_admin_get_log_ana_groups.2.gznvme_mi_admin_get_log_boot_partition.2.gznvme_mi_admin_get_log_changed_ns_list.2.gznvme_mi_admin_get_log_cmd_effects.2.gznvme_mi_admin_get_log_create_telemetry_host.2.gznvme_mi_admin_get_log_device_self_test.2.gznvme_mi_admin_get_log_discovery.2.gznvme_mi_admin_get_log_endurance_group.2.gznvme_mi_admin_get_log_endurance_grp_evt.2.gznvme_mi_admin_get_log_error.2.gznvme_mi_admin_get_log_fid_supported_effects.2.gznvme_mi_admin_get_log_fw_slot.2.gznvme_mi_admin_get_log_lba_status.2.gznvme_mi_admin_get_log_media_unit_stat.2.gznvme_mi_admin_get_log_mi_cmd_supported_effects.2.gznvme_mi_admin_get_log_page.2.gznvme_mi_admin_get_log_persistent_event.2.gznvme_mi_admin_get_log_phy_rx_eom.2.gznvme_mi_admin_get_log_predictable_lat_event.2.gznvme_mi_admin_get_log_predictable_lat_nvmset.2.gznvme_mi_admin_get_log_reservation.2.gznvme_mi_admin_get_log_sanitize.2.gznvme_mi_admin_get_log_simple.2.gznvme_mi_admin_get_log_smart.2.gznvme_mi_admin_get_log_support_cap_config_list.2.gznvme_mi_admin_get_log_supported_log_pages.2.gznvme_mi_admin_get_log_telemetry_ctrl.2.gznvme_mi_admin_get_log_telemetry_host.2.gznvme_mi_admin_get_log_zns_changed_zones.2.gznvme_mi_admin_get_nsid_log.2.gznvme_mi_admin_identify.2.gznvme_mi_admin_identify_active_ns_list.2.gznvme_mi_admin_identify_allocated_ns.2.gznvme_mi_admin_identify_allocated_ns_list.2.gznvme_mi_admin_identify_cns_nsid.2.gznvme_mi_admin_identify_ctrl.2.gznvme_mi_admin_identify_ctrl_list.2.gznvme_mi_admin_identify_ns.2.gznvme_mi_admin_identify_ns_descs.2.gznvme_mi_admin_identify_nsid_ctrl_list.2.gznvme_mi_admin_identify_partial.2.gznvme_mi_admin_identify_primary_ctrl.2.gznvme_mi_admin_identify_secondary_ctrl_list.2.gznvme_mi_admin_ns_attach.2.gznvme_mi_admin_ns_attach_ctrls.2.gznvme_mi_admin_ns_detach_ctrls.2.gznvme_mi_admin_req_hdr.2.gznvme_mi_admin_resp_hdr.2.gznvme_mi_admin_sanitize_nvm.2.gznvme_mi_admin_security_recv.2.gznvme_mi_admin_security_send.2.gznvme_mi_admin_xfer.2.gznvme_mi_ccs.2.gznvme_mi_close.2.gznvme_mi_close_ctrl.2.gznvme_mi_cmd_supported_effects.2.gznvme_mi_cmd_supported_effects_log.2.gznvme_mi_config_id.2.gznvme_mi_config_smbus_freq.2.gznvme_mi_create_root.2.gznvme_mi_csts.2.gznvme_mi_ctrl_health_status.2.gznvme_mi_ctrl_id.2.gznvme_mi_cwarn.2.gznvme_mi_dtyp.2.gznvme_mi_elem.2.gznvme_mi_free_root.2.gznvme_mi_init_ctrl.2.gznvme_mi_message_type.2.gznvme_mi_mi_opcode.2.gznvme_mi_mi_read_mi_data_ctrl.2.gznvme_mi_mi_read_mi_data_ctrl_list.2.gznvme_mi_mi_read_mi_data_port.2.gznvme_mi_mi_read_mi_data_subsys.2.gznvme_mi_mi_req_hdr.2.gznvme_mi_mi_resp_hdr.2.gznvme_mi_mi_subsystem_health_status_poll.2.gznvme_mi_msg_hdr.2.gznvme_mi_msg_resp.2.gznvme_mi_nvm_ss_health_status.2.gznvme_mi_open_mctp.2.gznvme_mi_osc.2.gznvme_mi_port_pcie.2.gznvme_mi_port_smb.2.gznvme_mi_read_ctrl_info.2.gznvme_mi_read_nvm_ss_info.2.gznvme_mi_read_port_info.2.gznvme_mi_read_sc_list.2.gznvme_mi_resp_status.2.gznvme_mi_set_probe_enabled.2.gznvme_mi_status_to_string.2.gznvme_mi_vpd_hdr.2.gznvme_mi_vpd_mr_common.2.gznvme_mi_vpd_mra.2.gznvme_mi_vpd_ppmra.2.gznvme_mi_vpd_telem.2.gznvme_mi_vpd_tra.2.gznvme_namespace_attach_ctrls.2.gznvme_namespace_detach_ctrls.2.gznvme_namespace_filter.2.gznvme_namespace_first_path.2.gznvme_namespace_for_each_path.2.gznvme_namespace_for_each_path_safe.2.gznvme_namespace_next_path.2.gznvme_nbft_free.2.gznvme_nbft_read.2.gznvme_nd_ns_fpi.2.gznvme_next_host.2.gznvme_next_subsystem.2.gznvme_ns_attach.2.gznvme_ns_attach_ctrls.2.gznvme_ns_attach_sel.2.gznvme_ns_compare.2.gznvme_ns_detach_ctrls.2.gznvme_ns_flush.2.gznvme_ns_get_csi.2.gznvme_ns_get_ctrl.2.gznvme_ns_get_eui64.2.gznvme_ns_get_fd.2.gznvme_ns_get_firmware.2.gznvme_ns_get_generic_name.2.gznvme_ns_get_lba_count.2.gznvme_ns_get_lba_size.2.gznvme_ns_get_lba_util.2.gznvme_ns_get_meta_size.2.gznvme_ns_get_model.2.gznvme_ns_get_name.2.gznvme_ns_get_nguid.2.gznvme_ns_get_nsid.2.gznvme_ns_get_serial.2.gznvme_ns_get_subsystem.2.gznvme_ns_get_sysfs_dir.2.gznvme_ns_get_uuid.2.gznvme_ns_id_desc.2.gznvme_ns_id_desc_nidt.2.gznvme_ns_identify.2.gznvme_ns_identify_descs.2.gznvme_ns_list.2.gznvme_ns_metadata_type.2.gznvme_ns_mgmt.2.gznvme_ns_mgmt_create.2.gznvme_ns_mgmt_delete.2.gznvme_ns_mgmt_host_sw_specified.2.gznvme_ns_mgmt_sel.2.gznvme_ns_read.2.gznvme_ns_release_fd.2.gznvme_ns_rescan.2.gznvme_ns_verify.2.gznvme_ns_write.2.gznvme_ns_write_protect_cfg.2.gznvme_ns_write_uncorrectable.2.gznvme_ns_write_zeros.2.gznvme_nss_hw_err_event.2.gznvme_nvm_id_ns.2.gznvme_nvm_id_ns_elbaf.2.gznvme_nvm_identify_ctrl.2.gznvme_nvmeset_pl_status.2.gznvme_nvmset_attr.2.gznvme_nvmset_pl_events.2.gznvme_nvmset_predictable_lat_log.2.gznvme_open.2.gznvme_passthru_cmd.2.gznvme_passthru_cmd64.2.gznvme_path_get_ana_state.2.gznvme_path_get_ctrl.2.gznvme_path_get_name.2.gznvme_path_get_ns.2.gznvme_path_get_sysfs_dir.2.gznvme_paths_filter.2.gznvme_persistent_event_entry.2.gznvme_persistent_event_log.2.gznvme_persistent_event_types.2.gznvme_pevent_log_action.2.gznvme_phy_rx_eom_log.2.gznvme_phy_rx_eom_progress.2.gznvme_plm_config.2.gznvme_pmr_size.2.gznvme_pmr_throughput.2.gznvme_power_on_reset_info_list.2.gznvme_primary_ctrl_cap.2.gznvme_psd_flags.2.gznvme_psd_power_scale.2.gznvme_psd_ps.2.gznvme_psd_workload.2.gznvme_read.2.gznvme_read_config.2.gznvme_refresh_topology.2.gznvme_register_offsets.2.gznvme_registered_ctrl.2.gznvme_registered_ctrl_ext.2.gznvme_rescan_ctrl.2.gznvme_resv_acquire.2.gznvme_resv_cptpl.2.gznvme_resv_notification_log.2.gznvme_resv_notify_rnlpt.2.gznvme_resv_racqa.2.gznvme_resv_register.2.gznvme_resv_release.2.gznvme_resv_report.2.gznvme_resv_rrega.2.gznvme_resv_rrela.2.gznvme_resv_rtype.2.gznvme_resv_status.2.gznvme_sanitize_compln_event.2.gznvme_sanitize_log_page.2.gznvme_sanitize_nvm.2.gznvme_sanitize_sanact.2.gznvme_sanitize_sstat.2.gznvme_sanitize_start_event.2.gznvme_scan.2.gznvme_scan_ctrl.2.gznvme_scan_ctrl_namespace_paths.2.gznvme_scan_ctrl_namespaces.2.gznvme_scan_ctrls.2.gznvme_scan_namespace.2.gznvme_scan_subsystem_namespaces.2.gznvme_scan_subsystems.2.gznvme_scan_topology.2.gznvme_secondary_ctrl.2.gznvme_secondary_ctrl_list.2.gznvme_security_receive.2.gznvme_security_send.2.gznvme_self_test_log.2.gznvme_set_feature_event.2.gznvme_set_features.2.gznvme_set_features_arbitration.2.gznvme_set_features_async_event.2.gznvme_set_features_auto_pst.2.gznvme_set_features_data.2.gznvme_set_features_endurance_evt_cfg.2.gznvme_set_features_err_recovery.2.gznvme_set_features_hctm.2.gznvme_set_features_host_behavior.2.gznvme_set_features_host_id.2.gznvme_set_features_iocs_profile.2.gznvme_set_features_irq_coalesce.2.gznvme_set_features_irq_config.2.gznvme_set_features_lba_range.2.gznvme_set_features_lba_sts_interval.2.gznvme_set_features_nopsc.2.gznvme_set_features_plm_config.2.gznvme_set_features_plm_window.2.gznvme_set_features_power_mgmt.2.gznvme_set_features_resv_mask.2.gznvme_set_features_resv_mask2.2.gznvme_set_features_resv_persist.2.gznvme_set_features_resv_persist2.2.gznvme_set_features_rrl.2.gznvme_set_features_sanitize.2.gznvme_set_features_simple.2.gznvme_set_features_sw_progress.2.gznvme_set_features_temp_thresh.2.gznvme_set_features_timestamp.2.gznvme_set_features_volatile_wc.2.gznvme_set_features_write_atomic.2.gznvme_set_features_write_protect.2.gznvme_set_features_write_protect2.2.gznvme_set_keyring.2.gznvme_set_property.2.gznvme_set_root.2.gznvme_smart_crit.2.gznvme_smart_egcw.2.gznvme_smart_log.2.gznvme_st_code.2.gznvme_st_curr_op.2.gznvme_st_result.2.gznvme_st_valid_diag_info.2.gznvme_status_code.2.gznvme_status_code_type.2.gznvme_status_equals.2.gznvme_status_field.2.gznvme_status_get_type.2.gznvme_status_get_value.2.gznvme_status_result.2.gznvme_status_to_errno.2.gznvme_status_to_string.2.gznvme_status_type.2.gznvme_streams_directive_params.2.gznvme_streams_directive_status.2.gznvme_submit_admin_passthru.2.gznvme_submit_admin_passthru64.2.gznvme_submit_io_passthru.2.gznvme_submit_io_passthru64.2.gznvme_subsys_filter.2.gznvme_subsys_type.2.gznvme_subsystem_first_ctrl.2.gznvme_subsystem_first_ns.2.gznvme_subsystem_for_each_ctrl.2.gznvme_subsystem_for_each_ctrl_safe.2.gznvme_subsystem_for_each_ns.2.gznvme_subsystem_for_each_ns_safe.2.gznvme_subsystem_get_application.2.gznvme_subsystem_get_host.2.gznvme_subsystem_get_iopolicy.2.gznvme_subsystem_get_name.2.gznvme_subsystem_get_nqn.2.gznvme_subsystem_get_sysfs_dir.2.gznvme_subsystem_get_type.2.gznvme_subsystem_lookup_namespace.2.gznvme_subsystem_next_ctrl.2.gznvme_subsystem_next_ns.2.gznvme_subsystem_release_fds.2.gznvme_subsystem_reset.2.gznvme_subsystem_set_application.2.gznvme_supported_cap_config_list_log.2.gznvme_supported_log_pages.2.gznvme_telemetry_da.2.gznvme_telemetry_log.2.gznvme_thermal_exc_event.2.gznvme_time_stamp_change_event.2.gznvme_timestamp.2.gznvme_unlink_ctrl.2.gznvme_update_config.2.gznvme_uring_cmd.2.gznvme_verify.2.gznvme_version.2.gznvme_virt_mgmt_act.2.gznvme_virt_mgmt_rt.2.gznvme_virtual_mgmt.2.gznvme_write.2.gznvme_write_uncorrectable.2.gznvme_write_zeros.2.gznvme_zns_append.2.gznvme_zns_changed_zone_log.2.gznvme_zns_desc.2.gznvme_zns_id_ctrl.2.gznvme_zns_id_ns.2.gznvme_zns_identify_ctrl.2.gznvme_zns_identify_ns.2.gznvme_zns_lbafe.2.gznvme_zns_mgmt_recv.2.gznvme_zns_mgmt_send.2.gznvme_zns_recv_action.2.gznvme_zns_report_options.2.gznvme_zns_report_zones.2.gznvme_zns_send_action.2.gznvme_zns_za.2.gznvme_zns_zs.2.gznvme_zns_zt.2.gznvme_zone_report.2.gznvmf_add_ctrl.2.gznvmf_addr_family.2.gznvmf_adrfam_str.2.gznvmf_cms_str.2.gznvmf_connect_data.2.gznvmf_connect_disc_entry.2.gznvmf_default_config.2.gznvmf_dim_data.2.gznvmf_dim_entfmt.2.gznvmf_dim_etype.2.gznvmf_dim_tas.2.gznvmf_disc_eflags.2.gznvmf_disc_log_entry.2.gznvmf_discovery_log.2.gznvmf_eflags_str.2.gznvmf_exat_len.2.gznvmf_exattype.2.gznvmf_ext_attr.2.gznvmf_ext_die.2.gznvmf_get_discovery_log.2.gznvmf_get_discovery_wargs.2.gznvmf_hostid_from_file.2.gznvmf_hostnqn_from_file.2.gznvmf_hostnqn_generate.2.gznvmf_log_discovery_lid_support.2.gznvmf_log_discovery_lsp.2.gznvmf_prtype_str.2.gznvmf_qptype_str.2.gznvmf_rdma_cms.2.gznvmf_rdma_prtype.2.gznvmf_rdma_qptype.2.gznvmf_register_ctrl.2.gznvmf_sectype_str.2.gznvmf_subtype_str.2.gznvmf_tcp_sectype.2.gznvmf_treq.2.gznvmf_treq_str.2.gznvmf_trtype.2.gznvmf_trtype_str.2.gznvmf_update_config.2.gz/usr/include//usr/include/nvme//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libnvme-devel//usr/share/man/man2/-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.suse.de/SUSE:Maintenance:36715/SUSE_SLE-15-SP6_Update/8e943849b893d8ff9e90c09052f8828f-libnvme.SUSE_SLE-15-SP6_Updatedrpmxz5s390x-suse-linuxC source, ASCII textdirectoryC source, UTF-8 Unicode textpkgconfig fileASCII text, with very long linestroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)C source, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)PRRPRRRRk*Ņ²é£Gś<åŌĶ”zZĻutf-823d07460e7d87f58519bafc1fdea5bb632ddefb09e3a43e3c49de7c708ade302?’’ü ż7zXZ įū ”!t/å£ą7Ä°]"ĢkĄ%²PėÖÄu×"œ±4Ī99Jī-å‰K¶??Ō®³įdÕē„š/šJāF”ß@’«{„ķEw=m÷¶_*·J‡„oš/§\ōeõ|½÷łWĄƒ/ĖĘ©).irŗńŽa/¹įŚ]RÆEjEę?™_£¬ē;#ésshdŽ–ępŲ_p5Än±Yņ‹b—\Ķ±«€æ@¤ŁŸ'ĄƒoiVł5e[~dÓN*Ē£ē0Ép¹ÜK*Æ@#-x1wÕ¤Ā˜WkÜēš«Œtē„ūą‰žb‚0³¾‡ā yŚ“(7Ģ u铁]~žOx &Lµc„P­”ó•Šh ņ(}’UōøĖH²{QZ½&°Ä[3kāHpķHĻH·IܾXoåø)å·EĖźŽ4¼¼ßb„ :ÖŽ5JČ&»BģŠRyh‰! ÓÜŒbŅ¾ÄŖÆ Čā½ĪųVĶ<ÄāÅĶ}Ļ“Ž‚ˆm4łÓŖÜĮ0*Ō@,ó’)vš†0)g”­×‡\Åēœ—öv²ė ¹eRĄKźc…rsŠ³•mqzF¬H’yż’v³<¬{q5Īe©‰ŽõSi¦śs#¬°øjM&§¹2¶LÖVĆvū ĄīĻß„/ņG}ĄX_ī”Š¬²²ĶÜ«ęQÖ³6Ÿ‹”¾‘ž ša„}•ŖŚ•¢~$‡ug ¬ŹäLŽ9Ģ»¹£g×qõD‹§½ó>öø·Ź‹>T\Ģ»‰¶Ž€T S«2®łC†J (N±ō‘…NŽT„óÓZ–°“Ą¤'Ż]—wt…Ž’łĄŌLŹ ןJ& Kõ¾ŃP’ƒ(Īæ ŽĻD3¼Ķ±-!°ģ7<ńŻż9]«C>>Ņk'O €“ß;×fEŹ˜ęƘӊ»3Ś*½ń*«^܆”Nµó’—NT-™giNHåéŚęĄpEædB ’ä}„Š–š„æŽŌa¶Ņ$ĶG„jÉ&~¶»æ6D–›-ץųā cPY©żĖ‹IŚ‡©ųüŚ–3-‚5ė1Į4ĘI‘)éšq=‰Ia|*~}ŲÄüK±°Ż7P*wŠ~4ś 6†ƒA5HčRŌ!©f®€‚ģoƒ`éĢö“D*#õ}ēÅÜiÖ£Ęl™ ÖBņī²žJ+2TģG]JłŠyO]Ø|Gg†ĘS€v,“ž§>><ęĖ„~ !‹ąģg§Żā½<į<„ü„ŌP Oa8®5DŌNNžŠz©`b©žĻ·BQŌlVĮĪ¢ -]©£ßŃ³ł ŚĄs% ²1m£Å4­ø±y‘ū&ŗ ė÷>—*/äęLmņĆķ… ÖŹGŻ¦źk1<ųJ6ńpkŖÅ9öX¢:åŽiIcō.Ö©„¶Ÿć^ŠJÆȃUÜkN~.žZn»ńÄmŌkzP Öt?Hoˆ–~¬Bwö"’Ü‚¶_cfŹŪŻ¼²%bŽŪĪĶĆ£KBū‚Æ«_ńāJĘcĮńapUŠ$žI€āÓ×»*uĢK =ÓŻ w€€>Į²&™(Ē{Q²®Q–¤×+œ UyĖhŠĒäŹ½ąĀ\R@vØRFÖZ+¤/ C)ųįŸLR°ĘhHt),Ä'Ü'D »l‘„²=b¬ō—ŽméÉ,U„Ėf×8ļŖXOŽŖø’ɛšĪm˜²X+q×!ÆĀfÆ“åŽ>G=*j”h‡ōī˜§&†"ķeśŒv$V•)ˆüÜŅ6ØŖÅŚÖłoĘą×=#b*ļĶ©‘’³o)»Y5Ż¼oÅå’vEd胃(h‹ā¹·&qŽäÄi;Õ:ĀɈĮk iü<4įļ£))wÜm\jõk936±?ŹĀY×ųų^Ž¤ņ“„Œ öa”7›Ÿļ>ā€•pŽį"S§Y• õ’HY‡-Ū©ėuŒ<żLŠ™ŠUi^Ńm—6äĆ·©„j["§u‡č4·² ±Ä5/ƜĻŸ^µC¶m .Ɏ )tIŒĒ=ĆĒ1ł”CP„ż“ä$v6ŲąÕH 9E#ņ¹)¼\ĒWw’õ­1„»AĻŁ“ż‹v€­žŌQa@šēI^Īz!Ģw‰“ź2‰r<Ą‚žŠ¹õ}6>}eõ×%©¦ŲIg””‚ƒ”_l‡-[÷ė„”žo„~ĖmO­4ģ°®/bXßx—"wTŹdķ˜R2Qł ]°łĮ!Gɋ­^„Gjoff>‘ā@Ń”‡iR{qE€ĄEtĄ¾H–Ź7Ē¢6M£.µ±±ąä÷³L1-HĶæaØakg|]ä;Ö©.¢' w!šZż!af‰"Õdł½WŁ ©¤) Ŗrļ¶!ŪÕż9•‹Ļ=ŽrčOżæP[ŃR#‹&¶¦>š•’®7,yŲˆÜĢvŒJ{s…ŚœÓžƒéČ9N¬6ÕyąRįš.Vźūp¼ˆA{”ÜĶ˜ŗ£q.ŹDĘ!_ĘUttpuÓoE#Ę«é¼ÜWź; ś¤>‰DŒ ÄĻCONoĶĖżA=B~z‚2Œ‡–1ŽĢÕÆŖg…ōŻ]+ z^ń©ov¼,qŚī^šõpÖ^-l€/XNYö."šŸ[īz.éZŗś3•QöĪ§,«'@ćf¾S§Ł7¼d!cA•üĪĀ£ ܱŪlf©ƒ‡e*€†£woB`”USŁ¼Ø„nÉŃtQ "óųĶĢR_ŲÖ,»V†”Č¾!O v+¹Ā©W—Ÿóv+sČ¾ßmsć¾›\Ŗ… 7CŲžXb„ŚdĶ<lĢ+}J5»jˆ?^SfˆśB#ēq?›Ōéś b°öŲ$ AŠ“…YQyłœ…%+@g0&Aąšv")žŁø!ØW;½ī’&J $š(z‹›„ędĒa×@Ź+łA•>³nQ׋A ŻŻE\œX«f$i·ņųV‰N-Ś{H¾ µ±Ī¬qu}M“Ā£vć›mQ‹l*Ż"Œ¶T¢’žŹ8‰1“ėŚ/–Ēūźä˜µ ‚ßsŅŠdŠ:OŞ.€t˜†¾o·¢÷©ĪY1BvééXĪėÆp2¹·Į^TW»€·AšäØĶ" Xīõ›“y¾TÕ[SŽÖN­³f»ŌŻˆąöšõłdZ:‰$'MQEŠi `;Šų·¼ļ[ƒ¹ā<šQ`>W+ģł śĒ[XO`īä¹w5Dw Ÿ„5ģŚ{SQ{At±Ņ}u'ŪOLvó­€9R;±&l%öæē1ę¹q`‰Y&ć#+mĶ›79‡k†=Ś¾7D*iŁ7M,8fb‘†|ÕŲ-4·P RŌ> Øęł½EņŖŽ,ūĘ )7n=Ćlw—exčĆņ%›žŖNqĻ„Ö+śĖKŚž/Ą ˆBQĆļH#«2©•’ķŖÖ+ŹUW+­Iƒ#M“’‘Y5*xźeNłÉ[¢Mń®éäy‚xU%ņĻŠąÓdąt4ŲÕd3Ū­LŠČGh£ņ''žćY’²SLäNµ2æ×ŹO#z®nuXĀ©„ˆJ:©£0åɾž,_ā‰Zń6G0ÓĶœčLZłø =ÉV'xµ2ŸüČ[žQœĪżį”Į_©–dõy>=Ž.ąŠš0Y¢zzėüsĒH0 ±v¤'G2¶ķK7e–CÆL/`Į¾x?–\ĄCæ[²˜ÕfnJöŠ…Yf#ųꤕż~0h7„EŚs~“ŽV¾—ƒXż¢)ˆ>“D9}V17aš āi¬ylĖeĖś¹ėZ”ķ”PŸ ŗ>õ©Ū3Še»ł@ 6¬źcŖ <ÆĢ¬¤Ÿdņg4ą {Y!š«&xŸpūrJ[¾łFX•Æ¾Sęģ„@;õ”!īą“Ķ[£¶jHhļd˜Čī¢łd~¶ž¢<:hœ-8^žŚ)Z«ŗdŗ‡×™“'éžGšƒ¹;–(G0 J­Gč8ŪZMlą*ómēį±Č”i4‹ųņD‡d 7™=ż •ŽP¶FpļxŽ"Iķ Źa}¬:ólVćĶŅś1å.> œÄt¦"Ubž€~h²eÄłŻ8š ĶE³G×āmåžr?æIŌ˜Č½XQ*˜±bÖ%żķZ™d“ ‰‘#ó!bŃ ‚² Öāé­XøķEź«äźėÜąĪEē1éķWą©0…Ɛs"š<‡ø½:& .YčŗŲ°ÅĢ)xđT’v±­RŠžåÆt?^Šźé œ‹“‰R.…ƒ—Rƒ±bf‡ļėÕ£cšażć¬bŪŚDŻĶ¹]õ:ūŲec hśÕī”óWŗ¼HōŃ,ē#S ’Ģ\ \q•”Ļ$ŪM$,ü‹ŹPµ]Jæn’AČŒĶ,m=‰št&o“nŖ6”ūŻlÕ»ŽĪŗD”‹°c}ż_ü1[˜Ę{’Ք³ĖYk/(öN9Ćż§rźŌüM`4²źéKł× ź‰¾žš #’A7½}Ń96Ćf„Ö5Zyõ³1brH°pś nKJ––eĒ?®9Æw?A’p ś°3|$åS‹Nó5™Z ˜…¹)WÓ Å$HR3]\%Rɜ˜kI=· &īž’Ėo’&_’ādēüSLØqœŠ5gŽšˆåvƗ¶õ˜e„‘Ā”©ŗ&nR‘ÉōŻ:”A›pĒA»ōrŸ?.ą„I”PäuYšØM4~ę«}'¹ņJi³±©C/:³ūZZó$‹“ŲVJ 5Ģ•4ār{ņ'5äŻ$r fŚ0 2{©“ŲĻ×ķĢ@U0ōöĮBZtNś—C ķŠ­īVÆØīé­öÉć$E»Cēač‹&«[]ŠÉE¼Ī¾%E ÅżĄ:Éż¤¹ė,3śŽ«* ŸZī i©ŸĶNŻXb†ĶC¶Į3jĒ7)M uÆ¢Z¦æīĶŚįTéÕ.³ŁŒ/Ż[>ć­CSibPZ8˜īž"ņWLįŪ–$°Õˆy¾ņ$‰#«MCīe~'%9æV\? ¬0Xæʘƒ-ӏ_.ŌŹķ4ń'Ļ˜ŽķļN—UhŗŸ°›XétćI&–>fÜbć]ćuį<8I:Įą°üt†;Dų³,p¤'ž[š ˆ[-<ßo„3Aa³–„Č]CźF”Lā59ē£ƒRBWŹĖ`’[J1÷>ĶE<‰€č²„oČū 5ęSžZ©p;1æt+` yRśˆŌEŲŠ<ÓósŒ·˜¾  ×nWčhA‡~9éė-ąwjчvX¾Ņ/žlč°(’€Ŗ"×įķsģ…Ę12żÄ‚ēģ¤ut©Štæ.i…^ŗŻ«ümmY]<Ņ ’Ł‡ś—ü˜»øŻæ9³Š¢3'²”µ ÷H›R3¾Ō‚®;įÅŗmŽvœ°²)øM© p“PKųXG *X4gq±üōŽēČ~ā0ž ē<”w=@”ó9…¤”sóCŅ “3 aäւms’™¬h˜)\ŲOŅ9hä÷ƒ gHćw}@\b”ī{-ė=.%mń ęōöIžST•‡aķJR”šĒ xcŻŹŻÜ“±3†ø Ļ¬¼ĒĪ¢IųׂI/(6aķōivœäĆߕĮožK“źĪqŹ‡Ī\QĢ¦Õu.Õæ†öhAßą?Ž“Ąl¤™ßq+Ś=[aŠyj‡g€¤TBįŌ +‰£į7āßHZÉ yķēZd\»ö\ŗ80ŠŠœ93łŁ•ĶD_Nu łu ŲĒEĄżšøōSS¤Āuu/ćŁcsCŪ’Ū„”¤OÉ. 1ß5–ÕO³"’8 ‚åķų™ÕDöĻŁ~F U‡w6°R0·Ē唂‰Ķåčņ6Sķ Ō’“Šļ„Ł–uŖn^½°€ƒ±é„eŖ¦žl”üUū™žłØĆõėOb1k·ā¢_oØs!²Ó@WZRŚļāžFŌ¾‘n”»ģkž-¬<ē¦m‚ĮĘŚčĒÉāNļnó/Q¢Œ:p%ĢuƒÖĪ“ĀŪŸjČ<;¾Ńˆhd5-ƒjģ Ł] +5ņ`Gw\ Ėóƒ˜y…ˆDä1ÅoVŽŁŠ¶éß YZ