xorg-x11-server-source-1.19.6-lp150.7.10.2<>,j\*-/=„J{)r؆+iJ nO)]V,b^4eESqPqYb˃!XhT77[12K>Z,{@D-@X+`6I6УZ}@_0SlyF¬4w:bHgIlPz|λ_ u+k<%&\ļS#'W>$>A?Ad  - I   H / ? ^ . 6`U|Tt (*84Y9ɘY:JYFG HHI:XBTYB\\B]a^Cb+cdleqftlvu܈v+wlx!y@zA0A@ADAJACxorg-x11-server-source1.19.6lp150.7.10.2Source code of X.Org serverThis package contains patched sources of X.Org Server.\*-cloud132IopenSUSE Leap 15.0openSUSEMIThttp://bugs.opensuse.orgDevelopment/Sourceshttp://xorg.freedesktop.org/linuxx86_64r?e/=w< h"r IW  s*v > KO W(7c [5bOBu'`YNE#hn Yh {} #o; a;H  @a*eXeo?boUUd1t5a<mPeWZSRg 9.u {h3**o{~ ><SQ7.n f!6ToRie;4#AoaX,Fu<AxEX3B7P~eR xmZR\)S M]<~= 9c/ l|'td|SeY{0.YLdH"%b_j ~O;wVS_~bF nk 9 +r etr- /i5_N$&PP bhg<^>S  cD^ %"h < ; /"i/{ 9= A,*un "C@ W l0s85RA!U^U(@*=ig Uo)rS &!FT.#@driY0>!9s% ,`w H#wP, it-j | 0_<A J5tue6X|NTT1vy)c n# l+ 8 9+M @tGr }j<$/?.C8 C-K84BXg J !gs x x EFFUU''-%13BB) M|Y<N 6   H'ޗ6G5z3 St6#0 6{1=e(?|cC%wTW51 d+ 2$ 7 -)# vou5K V_t  93} (y*v DnD k2:t/8FSXw\  b{55nis| `(r$j+GyhF7|&, 8g[?if[>:2 vD/~ 7:g zq)  r ^ ah1O0P%_A5 n^ (8V/~ S% p98g~  \~ " C2@H? ?Q nj6dON]?!!^b4k1/p'  5+ L]ZzbF#$r <7 mn- JPM  0^A-} o*3 !G^+?!JyP4x*> *4@ Ch [5  (,m0F82R:g$h( 6 N,B>g>PmJY8 /S"~}R,f@ J| khO 35* suibP#pX= @'4bzJ F  QMa[! 6qQV$ca + + T?#. %v- -PeA 4 $ ]7;" ". .!+51 5&IGauD!tX#9O# *yKt0?jt3$ie0;ir!Cv<hJ s8 ( ey'BO:n1M+&l J] B7CI=*xFn t9g8ok^af5 I21Yۿt)L e)Yv\WNfGhPEduJ^x"nC/(SKrv`ETRv]yyMrd \Z X9V7KgIZY(`sY-s;g#* |P @ v;vk| O qOi7'\,Z1]  &* E Pk+* 3 N*l) nj: S)Z/E&>"K(9,P b%+9T`6/8 hWa2`yJjD "& '=DGM]H y -2Ct^T3SIV %P@(OtFa fu# i[m uU{+&h*nP2gJ5. 7'TLT= gw#eE'')%'''%%%#$}9o `.x6>-! /:s%?/h "UU0w!?EpDa !)g'e@5uOZt1&B#/%/[A{ZT7FVF% 4xeb1$q,'BKJ 8%?KQ H{kQ!Z% ܶ'= H52vQN X #dc}ygw-$ (#fLw^ &z*gIx) z=AGsHn8oYn9^Z7!=RD5IA큤A큤A큤A큤A큤큤큤A큤A큤큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤A큤A큤A큤A큤큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)\)4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f62253be9b4fc769b3b1828157f7b39f93f44140757926b119926bf2c7931da14d00570f8f04c29f749fd9f9d4d06ec8eb483b810398a23fdb6e97d01836b4bff08ff914c49e14c3ca08b0221635e14bb603c70687810ed8a69b9fa48c03a271f6b04a91f781c0b962daf837ed2b2883af5d3c467c09ef2d41601536819e0ec07edbc031b8aa33383ba9c626f3c55d7d26491a403bc625fe365c153ce0dd95935bd45e42b7f5546dea20a274ac1ed0e0fa23111531894aea2b586e718b2768ddfd481a1eea9f2f0357f9dbf3737d1c8e04df898cdbf115d275adad5160d3d08fffcac0ceb07d8d598bf81c204cbf0942e43b88a7c97139da591b64173bd9d12c9052f80984c2356c4210f4431acd44debe3cebd57e79d18263bd55006d3e7455bfc686c477ae2c83b973a9d323d929050896f739b52c1bf3ba4e43a11a1ba586b96ed18ba724026e967bd6839a50274dbd5d4b758d447419a1447e865661b2bb3d4a2b4017e78c02b994ffac4b557df3b93afda6cd147c84758d6c821684a37a6f903de41e25a6cb3b0d824dc04930e703ca6f639695048cfe526a0b937a3d2687cfefe7063ac9cbe51215c6595c60c6ba9de465b4a0835d696d6f9a742401dd21ba7569d71c67c95bc019967213ce923bf39042b66ca2791e6552991d466561d28c6faf854cce4d40bcb4eeb3fe8a12034b3543f747c538e350d1529ff4d8ac9e238882a8bfdee34da7b6c9a13911c19e68e35c174517a77294241dd8e854ba92e0f1e9440662cfd655333491b94aeb529d6902b4789f3ab37394c20370964617ec3c007b9825910220723d4664a8a24cd1b5d47c8f56f7f930f9965985b460b36fbb9987fd3a35dc23b95521085e4e3be59b563e3a46caa377e9db0ea172064aa758d10d07e2eb3b9eb2c96cb22348510348b8a8a25b6e584204a012049d4006560b6806b66f5093295f1e564352e734336ac422a72edf25bd599e249920d28026b84b53d5258056df541ae013f5f69c8d68563104fb474f1e7fcc1e8d908bc9b1ad372e33020249136f83d021ce01a53de1e046187221ee448b5395d68f6327acad7bb20b437d98ec9363d0cc22454983c7a1559ed0275cd743c655281c5d9497c6dd9e8145880d5f617b82fdbb287f15a10ef24ff6e52debf63f4fb202fd658a83237c2c2d8ad47b14da64652c4660479c3c26c0fd76c3c03ce6fd60415ea1adc978a3df9f8d86795f6d1cc472d386cbf59364e8ca56fc1f8f3c4818da7ecd995f9c0ed42666188651bdb26fe565c1f505cc8155104753d902e147489eb0fb2179762982a6fdcfeacc41ed44b469bd7e049ca0ba139eba5c902b7231ed409d861a08eeba49f4ca0927261ec10cbacbd6c4ce6e1111d0a947b1a5ff013acf7de509e285b0da72d5400fd845eaafbff650dae38acd739cacd31e76fb09a7b4b06649ce31bc83e4b1ea498cd4ccb2365bf8f777f6b6bb06d87f507a5fac623d225f8c6cb36ea4c0e8cebd54515689097960fb21ee3a07a22b76f0d5adaba2fc83329f15f17a85ec4f216722cddb1266f81c4ad8bec0f27776c1848d2d82f8174992e131b36e7a0cc12608b91fc408be9d76a9ee8cc2233a5bed8afa5616b5105ffd6a7a3faf5cd72cd9b6a0fc1aa2a4b2bd3c9a0d6889d343e15be4a1173d22f4f6724322b37321b918f45221ca1f2b4b24dda8e9edd4f190a9333dfb43f966d888827e2202535ba75cc64219ceea80a0cad515d922d4e29ca59bf8876036fa72020ca39fddb37000b4893914043b8aa6f1c9540d4e4b774537b26d712941338f49cc12048061b2ee71e6a5b0e82da28ce40f10fc2c7c0bfa7b2c2597c8bd602e7d37ad9a40d10d58497f15cd6138f208cfc81a07157b25ff8b257b748f7d9f67699a838a9faeb7db51c4f94009679977da7b9ee3e4b1b02e34dbdca9d0cc0d2b56df24ec1998548b5bd25903ac69399b19b6b952f1b0861e849747e6a3441cde08237a93fd9374c2f8a011ef9a6234cff154b8b50e0612b3e69e780369cb8de72709178d751843fd193d7146d940d921a487fa57e04319f90814f601965903521b265d67b81a464d8dc390ca5d3db25a3bb77751340fa5645e4567e77f07f1822e2002f70a09d6bfff65302015c1f5ced1d89c2f16c7d539e47b5751a479a539ec34e903846977daae4577efcd8472dec48650e485b9ac59439787b865455d801aabfd9485cff2a61d56a6a45269b309c8f817079d2d053d236ddcf63071eba587f55557f842af56eb7a2e5faad0144f9f8e0403b29dac4dfefdb3f294bd29ccfe03a3e6578bd838c75441dd7a547187dc4229d31ddc3c5bb6fb4b7793600da0d2177a8f193f357c792c831ac01d32cf67014d424654b089ab636dac6011e61d50b4100a823375c898dfee5a51449f7bb5d78fdd328b01bdb5e48681467fededd643594ff2fe414bb012a4fd0c6392cf6728525b6b79fd1f305b80029cb2074f9cf16976cd97f505bd0b4af4f2bd51c39e55fd7f7083961de8ce22c901bd476692bc5002bd11e8c01a1652110f45684de97a7ec5ed1a8d050a018da62bc982697bce133eac3b3ba8a6954b9f074b9c070acda3164a1de5bb6c0734d195c4556ee23429453954ed6e95bec6783b2e36297647b668e9333f4bfd492c28949410bcf01168e1748e46a00acbb261b0317402ba3f5f70967b84f77d41306ba162e800f93c7444824002307cd4299e0c35daa7bc27951c31db99840e599f5d876034e6e0ac0ebde810b80f0828f90d1d2861131bab783b9f439735e968fef1d04fce280998122d819c8ab59ca3120bb8edceae9b97467e9b758638c1573d0b0fa647be4b66502837e14b3cc036ad5d0742ff7202f7a3a54af1d7d229cb4c6928a0ac035209906acf7bb6029a52bdb469f53528459cfd49b5d08908f878b19ef2a12b8a846c8203360ef42a1c5d08959314babfe61fa83c9226f3eaa911d4162cb4aeeba4054f8dbeb8edd9fa26da891ed7cd0badb525010e8bc091992846ea5282d72b9ae2c4c09655dd530fa96652a503a064d2bd43b4c20a3a4de516d17f65162b3cf109affedea929f616f17882411a3bae44135054a3f247932daec59bdc55eef98743504cabe07914745eac9703023102153a5e47d27806131840bb699e0fad845d1769eb114e4f1a1ff3834c5a63fa1a8250597bfd8bfb573f721043bb34f75825880356d177c9df581439f21d4043f2798c54e93bd30922cd057839a50ececc843fce1a498192fb1ec6d6307b365c29434662b1d9cc17e99a74503d333b921df3c018877dcaa47d58ac2a778677db39befab5c83d67586b1c61de7b26cdd8a6217777107a56611e7e433cdf716b36e74cfb99b415f7fb89f0ec36be4360ad396305d0b68b4aad6a2a5d71b3df337ede9794ec5f0636a0a386a49b0f37d906fcc149404675884be22825471fd6fd3acad3235b4e5e0f4ec6e1559d4818c1bfa016eb498427f5e4858a4dd859237441e31a64b90b3386b960d0b49c1805fa3287ccc56edb20b572278b7f9a80dc183143d6b21913c65cdedea31970ff708c78f37d587114830d214731fb1760f304fafe08f619f75b4cf75f1a93806ef29558f54de20354af62ab2ae280ed6434770339fbc41cea83a04fd1c85f456650e3a20b467420f2b9324e04c6a284bdcd0f530932a1e172240b843aac445fa61221492e82ec6c0e3ca4dedee0af2c69eebaa15929d40f80d0eb0746f44b0f8dcafcb3ed7a22ad40cb916fac3fdb8da3909962f6afa08b15acb624d3d994e247ac3633b886c167b2c71243644a9663e1a364ae3b85289dd9e1fea6b6713c176d9d1ba20c83e2b147626991181c686b41eb303c87628a69ec1a43eb3e91475dd35a22128f6efb58c5d35ab6f2ac39b5ee41d2a52b7a0e4774da0006385a2faa3afb3d1654fe10028570610e3f5a3b2e992111a8eb5c875baa323935b474a54ddc730a98db5c265e63a029ac983f7034135b27f3c6ffe096469aabaf890c52df9673c96eb90e66896418e55bbfee5f91be2f39d80aa1007f7511fcb95615852944251a7a74a058e952d282a9db29a2a5c90e171dc2e863950fb48f99fa5fdfbed63a686c35c9e89c0cf6a99ecc30882af0a05a635ac8a5299bfe01648849734c7968a2018cf4d6f5290fee2d6e4e81abf16b34fe55c3bde89c664ced40fd39611ac6fd732d2fda707524a70e3a31347b05ca66abbf357b6f70752855151638d4ac09bb8bf0282b51556f3de96321a7ea68c2d424e29dbbff83d26839591db2d17bb9e580d62ce6071344397d51374e722b05fce5aba03c3f44d7fe76b759c628eb35c9f8008e80b111a4c883433a8763ac62c8c26c2696e931507dc995a74232dc8f186cc1efcca6ef7c2e6019a7cab47b29b1d30e05b471b86cc88169dda335a530538c91fd0a987849f51903fa02302fb28a66c707508b6299739818bf63759fd1be6286bfc940177f097fb7d84d544dc4cd71cb4a27764b55c58bac9ef4463347d33d29a9bc29149ca563823659df1c686a9e1ef83dcbbe2f8cc359c530037024afe7cfd07d3000b3c7306feed1e524d171757be27395f1e121044543ac476cdc6b32007cec94e8a228eec0f4d6dc9281c4537d0560353753b9a0e51e31ad570d502c503a0d8f73ad5706846c740dbc7b5cc4acccdafbc85682071ee9f5eff393a88b0421d5a4152c6e039c390823568bbf7cacdf4988c9c48302293b067be83a8894f533201240b1aec702dea9c2bfa9335904e80691b2672e5d9cdfbc6f817ae4c8ce42eccd8717e2f7d744b5b44e7f7c741f9af2aed0288d955406aa217746328c8f863188bbfaf14f43332fc772009d0634f45fad73c458bf5b033192f8dfad40ee606591424b0f4907ef017df64e504628fb539b75bae0e91abc47181ba6de76c6d8d2fbbed40d054a626b68030078971e54df3738f801ce85cbd788a5401bf27f3817cd509b302d84a723f706d04b0b32300e8bd70ea2c4c603aacb72b2e3a79f92a71e43a8cc69b184152e4ea4e7b035a25ffd4b6772bc5657afd6646acf7d3073e2d7fedb1686829a10939258e05420a497d45c31ac469f6ff86548b6a48d90f60b23c540dd0a3164a8fe7c022905e177c4e91a6a56cbbbd288baeab826d3bebfffa8d02d9f4a187ee08f2c586b69af85e8d2654b43e399737ad84e4dd5f5e880a5e66c17cd47b982b22d525d4bf85ce6f214efeac07d0ed5ad3f6fd88ab800ef3914edf853e296be9d060f40489a3f2af822daa59bba37cd117bb7457ea2ad62c353563bf666aad356bca375fbde0346b92088e52053ebae3949023d726bd9daa2762d77d00da34451b29a696a088cb196c825df4fce306fd0011c0e919bf22f5617b402c7d3aee384be8e13c0e53209f3b64e47ce551f3e0f2d6e1a46d58aa5a1843f4aa1aaaef2516deede00a890678d798622e42664bc9abc9d3b317de15a069898012e49072ad9a32296ba06031eb7c16d1a028dc4acfe30f03d8693682e573235eeca2b6b213b272bf435e6f50f5584f1dc1af0923a530687cebe4452d0bea8f376599c3f2c4b024cc3e73075f42d5f743f634f558e0de50b934a2948ec8146a2e65981ddd9e3218c50343713461b63d1afc06228c29966cbd99be03a6a51cf9ead60c24f6a9186a431b2c72dde7df73302e64151b83ba77672eae7128be9101c195540fa8178a292434a3b586a0161964fa5b496093abddbd372aca294827687e3e519847c37de0613a40e42aa27112d8a0ce55ffa9054e0486d090e48fcfd1a7e2660d95dd32eb51bb337157f9c3f2527a53b1252397b575593a7d0e45abe2a236c77feff593e47358c3ae6a1856b9b684c2462caa53c89f40f7cdd8ce0d68df6d6c67384563f9938e85ad6e033b3d62cb908909f750cca81bdc2d16fb9e50d800d327efe8a1661258bdfe81846f21f243effa282edb9712c83c279fdfa2538f9dc50f9e430cf93e049aba39539de7933e3a793da3d56c2b0084382997469c91d6a2310591cd3b7db1be537efd547f298d59effecd04c2cc49681ef624f2237f3dc60996886bbdd6814afc6ddad90afe79e4e295c852e63a35d474eb05854b53ac4706d58353a43e8eab08ecf6f6beafffc90bc3a733a05d9ced296af147676a6bb684a4c586d38b344dca4fd1c8568481c71b021f28def5c01710789b87c74861e2c56c2f37a12b77277b0124cad23d93ce375a302c742089ae6449a2e65f15262080971d05d457dc4e405f73e0c366d9f7a70dfc0a4b1c5b1b1c952727f3f5ab424957d79651d43ff70ab75adf3b4c425797e764c0223762092520d21f6bc8558bbcb07087df65da924d437a7e8acf5c13b0b547e7e095af643999eeaadc2c9ad58beedb489ed2f1711796b8a3592365de97364ca4a578235aaefddf0d6f42616895999d685aed292818f587ce115517fadc653f5fc63d74db7359b1f8ca8434ec30b93457e3f8a0e7eb13455c635411c5a11e7ecfe5643d913ad0599b317b7f842861f020107da7447bb60f2f0ba6e6dd73e427c8f05725fd276de47bf6a3bffff40ddce1f306fdae9f697e57850bf6f585dd0c431fda14c76ca573dab9e1ceb2ca19529bb6527b555515168ecd7641b73cb51af99d0d4932e3013d0900991f3e71debba3cbf5c6107fc0a84997b70323f3a14da669d3f92c85f1187096f6ea7547bd84ac06ed396b5874b2fea46bb43513ae299fe8974dcd5d18b0e500121ba9000d593e2d0d525724da6988fdb0ec49696dbaa6bb8bda41488d315d07530df906664ef2a8c1bd807901c56147cdbc9fb4a40d754931e44627051b94fb6b3e02d668855451103bbe4bbc77acd78a5459ecffe170c95e667038d83b853222c19a85f8cece3f8a471fe6c306dd86d2a6bcab385eafb8dff5c8ca269c65de2841a27749a902b3a0b9bb4692098bbb660fd7f85964d69e647154e76eee387f74bfbcdebdb918aacb885102ad2852259ca41aadbe3f126b5a87fea5b87d6a2c413a63792cfe6b4b4a46e9b0dbce7526dbc992a5513322223e91aec92e75f856f4db67de7b13d50338b4b0f9305eb544dc151544b1a64f200e5dafa9baaecd31b1834ad61bba9c43107ede7a56a89ab825e83075ee6fa289c6ad59e98e7a0cd8086b0a25e973d02a3a399fae6dff7ea55e73b2e0242d1f49ab039a1006e8e406ad474f81afb67c20cc73994e2154c7c6a7e6539911548208b8b68752169c595c19800355d3a6961d3c3b98d97330941aadc7a80791363031d571a5e42dd0914838c05c6094e2d2348607f5d8fcdce7dafed37d19344adcc4aaca7a5bb6cc9ce0b191202cd57bb2b1457c484c30a2de92bd9f665411b73a4661b174164d3c18a7c2c96b3d8d86251723e4d4b94d7c2d37b2df3400ab2d914e0b5314d1ca5617590c090f9c538a1a148192a6ba589b7215a76e78f2211e40a8b11191ecb352453f320d8d21ecc4bd5b19d6192d408cbaf0cd478d95f7081741391c64a9a9b1d05e89d6f99e7621e3c870e575097d6b681ea664ee10e88c26313c6ba9eb92f3e67ad45cc2b868ec49bda157a596c033821614de24329ae707d9cfd3f25099db69a730168b26a723cfc6ec4fa5d861919c750d9f9bd07f9d3597758976439eaa6c2832ba19489bb917d7c548d236b49d9aaf20b3f933ec2e58c4af4083c6e774f054f2d24b1a9aebb3bb6343384a359a06f7cb0d280ae4f2442a31dea93ea703e0482aa012c54188dbc3fb8ce2f7dc0ad53d3691fa724273aa10a3c4e41e26d3682f7f0dfa42a2048ed1edf7cdb0a6e474def35f6da0bacd0193993bf8877378f5d9f3f64871388009290fcb044835113b436a54cfc1510eedb4ada945de1a7fb3b24542f4bbf5973ee78c0b246bd667cadede0805cabeeaba26487bdd1ee11e2e23acd6c7286a4c1daf57935fd9d356c5c28065e1ac72ff9c61d5932f7eb8d0d38d1f873a66033fdf16aef6b51c0a67b539146e11f82d4089015e58c1a2aaf8a6d1c44951d2eef663be29ed054b11c1e71adea2a32c6e82caab3605548f6dfff909d31de920aca6bcebf9404a2b8a5e9301f006cc23950c2cb1862cec87d637079fd92f298d5cab7ddc7c9ddc153419255472130885c6f9bbfb1bc40fd93ead8772c0756dcbf6324d567c065f860bf40aa2ad958e67274bde52c3694ded25541d1fd2d78c388d8e55cf2e48e8115bfb32d65933028305beb7cd4a90c77ec058c4d972d92d77d5303f7a3bc52eb648688787fb474fd81ca5992fdb624b59369dfcd0cbaf6cbb46d7afadec35f2097cccb08ebae168f7cbdc8d3247145ea8bfcde84ad7cae4883cebe142533505c3f74bf68c40b718cdac1d0b4c3415c44e638e1b7f257770df79227c23a2d3b4dc1e330f8b432d54e223308d12d95b2331fd76fc225550aad8ce53cb860233a37bda3c3a9ff06a3358e7bc42a56f30162505ecb3262ac49d8da883357452ce868752db673b522b1d40507cdcf50e7a0f026bc52818e00b8a92c08861bb9f46b8c66f669845489fec8aeaceae027487f4f026f8ef3a477517c691121f0aa48b265fcdf2d2c8b8174b2b0d0fc6085988381a0d283a5d14ff795ec1133f73c7257e116e2b961e93558946de4550575805ed09238e7d2297eb960624cd8d85836098a122a641b578e1720470eeb9086d2d37a9181d07930093973296e0aa940fed57740c3b0350924e63d52d0f455b700eb513a42233f3a523b39c53551d2c6bd19ee4d37fdc6e015e57fb51d9606617b2ff2ac4592f1195af196b2eafdc33d6f88af028e63251b99928a015fd7d192ac24f44ddbdd59e7e0bcba7c3feb46a962daa3469afa728a68f63c8c6a6c77531688470534cc0f4c4bfc8f2c5a674741e46abfcc033776a011c3d5bc48cad7d0394ef9164d7e46c8614c6261be9c28ac72b0ab4482c80815b86521faab2b1be326966ebc27d561dcf7a6b1c69a80a3c4620d2ab2c5108df1f82222d1db5428214ac7117a0595d15ebbc3de7544b767f69cf1f77a9571849d5d221770700dd974bef6a941b3dd7fbba0b5db65610642d536f52e02717bc938285ba273e40e8bde0795c667be5c444cbbec5aad57929dbc02552844ad440ec61c4ce2a1882b05d0262452dc9df245639742dd597c38d630becc5b9274d16c317417fe6fb26c7ba2208a4c223cee1fa8ba2382378c856591706b95ca6a59374a9cb92f8703aeec9f6f1afed3f392c8b8ba1788bf7a68dfc8b57f102a6fe3ed3d52461bfb832af08afcce7db67e42c3575e87263ff66b796c8795497d2e5f797c060b8c4c1df0aa57b836e318061c3c791818fff97ed96c391db429f236fd95b67462a04a7bbf3ffd9d8c0b9b464d62322b81ac3e24b9677da56e030f107a2fb19ac605a9e3dd15dc19067cf153a0bc26d481edbd54f30c84af8f7eb986cee857e999e8e82f5230804b87af4af3c550de822ea81bd542250b3974ad5612ee4c0cab7ba776654b303d5caa98ded25c5295060aad8ad4042468bd0a0213b3c692499a2630c2426337fae9550bc196c1196cb67a92343dcf9b1eadf67daddbdf1542335bb1dc3699aa25aa5522731834db099fc74926774e73211c649018f7dccfdd0543178170711f95efee0a6e0f383c6b602ab162ca54b21f38a58a61ec3cbc8fcc56fb3616fb0c4c7ed4a4a19e5f8fdc5d4a48495c39b50a5002d8b1210232e72ab6ec18b50af753b12bad5e4548ae52621d5be733e036df903e8c3920a2f3c0fb56a3bb6aff8cb3d0acbe716d21f9a63d0ed379119173db11b2472ff6812c90b233a684d364ef125ed22b6e5ed9ebbba7bf772667fbb5fcb5c72bba0088006ff1f02630837f00abb863dc4f92ef24bdf21339e0c90bd5d0ee34f4a74e9c4fadd04874b7b6eccd3af462af8fb77694f0ac5f2e881d4392c6c29cedd0515ce881ab7d09b9b7b7a9fc48bfe50ea4bd777d7ba2ed07b88e3a4cb0f7e042b419cf1c23e8e35fb8bf4d6e3eb14b07855e7a8bbfd37e263df5360c3713cffa0f874305d53c276992ca0e422a2e187360a0322069ed82f86d35d586aa8c6843f3dff646e7c7c668b6a7d205caf5cfd185d208aaeb6a3ec0e17b4e2e89749b2b2bc3f2887d06857f86b9c23b2a353491f240cd04c50d2e634e9bd0793825e0411b34a9bde23c7632f89b2a2d56b61565733cc999f6521e95a7c3b1886cd4c37dabf5396caf5ea8a7556d133b9b44627118b58dfed58ff39b2b187f88a9921522adad865b91b22b552b54bf2aa5f2d099502f535c36d011485665305a9acb259769312f83a088cd3e5252fec45e35801660d96c5c8985da435d2c7d903d6b44c220d7701fc75d098daabfd9ebc06022526975b8acc1ffd79632aa0a1f28c4eaa37a8b451b61e39fbf9103cb0e15be5d79f7f56e11143167764b8911197e84e0bd61a19d4f9dab87f874d188b7f5154c6d60474a754816375c7f9ea3ffaf4c80f6fd3d710149c4bc9e980d0be8f8f37acc34369a50d0b3e30e4b9f48ad309bd01ff9a241fe1fccbf2e3eed0d3389f91a3eb2282bf26d67020db2995ca608010769d63f935bd18a2292bbec9c227ed0d8a0cce3db51d3144961c563c9f9ac1c591c1260138019180410b4617feab75d954a779f173a16b950bcb4006e0aeded36b53525c399072d68d206027d0320fd493ac7c906e4b7bd2f4a8bf563086c28b67a27e30944a9d648682ed2d64b93944fee6c5ca87e24eba92e998f88abc9b86861a87915beb9a2e07447a23ad5f292f2879e8207a34d90413aa9eda9d70d87aa1f3ff51310f682e43b9d39e676bb69a0cf0654fa11994a1a5c64f0e4a30d0d66bb126bffd89885ad411999fdfd9154d85397d2b807fa1a70b37874b6755d2dc4194d651a942c874e1ba025ce4239d9ec8cfb713a4adc635d3590cc6ad5fcff1c495d35124a37dfa325441ac5286840b718dafccf99b72633fbbd38debdcbb507d310458b9bc15a9d05418291df391abfeea96f4da076f9f607d50d1c00677b9a5759eb168f589ded95bfaa43131b92965cc096aabb4d7993a4c9947ca6245089752339176374ce3b24625332001b986700db7b0603429b1503279c622102dd89baa62d961bb50412cea2dbcc2220f41101db6f0090bdbf35a176c0321abbea636d98b91d1bdc5a8a86b23ba7f84b7d6eb38754d1954346ac85f35a408f12facbc53cfe729c49169e2b4d532db1f03b4b4289a56b9c87b26a92aca0f07ec18be34bbb39af7229792de255acdf478a2d1896f8ef8cfcbc04f3983759a6231bdcf6ce098f7716eb37c7fd6d8fee1360c3771c5542fb117f4714b507e5576ab253b0c2c9e5d43eb6565a0293df6a4982fdcd89e334bfd3d6d48af58d29caf7f931b6c8f6979e98747040ea5bf64ebb923f72fa4b29d035c0b79f30be52a7c0b92b3836e9668a7a3e9d3d94c0527ad91fe127c22088c3c1f05eeedce1e2b775ed9a0f88a87cc5f226392667dfae0c6765ccea59b117f36c9174b437be7817009508539289598daeaf9972c10cbea4cd02771a8a74810edd4f91eeaacdf559026df6f22c46faad90a8bb1882384cfa711fe366fc6b76177248fa40898dea56a766342b2f37e973511449c20ca3d1a0bd3551fbf5e00b721de9533b629f8a747ac342764cb7a4c628db1c54101888ab698a6a6634b401a25e4370e0f08a8f6ea8e66ed698ad456e67b3414bdc4f3ec8cd0ee19f805c286ec64e11fa50b5f85bc82e373120ce8ff78db6ca7848c8be7d7de14de4d4d0f742ed9f87b10ad4c692941144d0d3457974ff73a686bb9479cfebaae8cc8a1ca774c8173b090eb546f7d10680b077399cae5918c41f12a9d68138e121ea9ffc397f448743ab4dde8006f555d0da3e79efe8a6bd88012099254bc6b1784e0f52593e9de9b811455a86298e5e1116082cc6db346abb8d89c0f758e52f18f7c671a98fe3d6bfe893e6ad2d789c32944b0a3cc0f4c556195cff7357966b6beeeb56427084ea742875890ef7a752bec4e1060aaace1b379e49828e574dfdb0c91ede83756a0021c132de58e8c0414565ce8b1d156647dc3a288cfc9d6842141a6dd36130ed3eb2454d9a80cd5319e1fc106e79d6938f6dc9f16f5d37b15e39c326076a60a4a4d81be3055f8569e6a00f6a2e3c38832d8a633613c2bc9325f40601db64846b853d930d3dd7ed931f6652b4e3b3e0b0eeb2ce0a4fd379f6d8c829c1979bf7be6625fc08ff6d834bd0c14b536dd8bcb15601f36374661e25a75b19085ebaffd1114be5156b9ec22f6ec15db57caf10e3d12daa802f2b2a3afd73b98cb8dd17b39bca4ec3903a531eb9f19f4f6110e4065a55c8069b493f936e042ef32750abe0e0eed528ce5563328dbb802f5937b147a042b84b0b919326d9b44a3b1a1043cb122813a344dd1f5537c417941b565a31a3b263e1116272ef94f2892f421d26b7332989d199013c79f0ee73c3f767edb83ea618e6fd52fad20c0751bd284eaa03b91a550a58a9b426a3ba7440fd5c3d40c7ab5e30e251f5cb88fafe240577eb0bad9380aeae7168e393859f3aa3235c083b28b312133a57517e40b551f28e521f34cdb8afdc3c8dde35287080b78e3758ce141e791b11757c3cd66869ce4c43185c65a15d4009fd1d39a9bfc0a2c8d87863e8f0dbb437739ea35932cfa9209c6f46ed8aa910b34a19724a29539e6847acbf4246afc5214ed6ad42900131c902c8322651befb66316449800a295766cc1f8b9de3a4b1c59365213eb03149a2d36e317e324db31654c5b6cf730381d79d6bfe818c7424dd744d879bc08c4ea1179f0798a73b2129fb9394b78e0d8960dd794268630b0fa19938d5c6749ef06f455981ec03267b24c4223ed3303d3cd9357d820864afb257cc86623418c8db6250756634e663aae630bcc70a8740595f71ee542080374310fbd5b21f2548a5e63b41834f0a31a63c3945481184a5a2241c9bd51d99d1a6babcd5f8683b955d67bc1e4e8b39cd15966ccb963dc563dfa652ad4eabbc3737d53e43cfe386a00a79fb90b0517690d58e3daae7110e5d5e429aecaed7bfa5eec81bdd1d2e119453d4e8fe42217e6dbd3a20141a13a0a0665174c148b6d5e8cc6250d0807bf2af36549a106d6a3d4d99cc7713e8612aec3e6d096d4f539451db6791fc1614e37804b9dabdb8555b83596af824b201a71c45811f75c6a0451021e56b3a922b437cf512bc3fe18df9524b41b158f8229db00ec8b9c06c904f9674053468fcc7de5b3f2bab6aaf2f3d04789c3fbfffe4c91c84af47ec8e6322f0a2a2a645134f732f6a722fa75023c47ca2a663f0b195d4816743aac05ff2e9961207eb4817958e5f824e16ad34d382adca03d471bf6ba2a95cd68a182675f17175a15e88a8755be622e08b6af8dd95dcb9215ff357d5e26d153dd601b3250a770c6361c6a61721328b96675a4966535bbb3e32f6e15359d08458a9cf1786e646d1ad8053ea922cb0c7796802874fb7d096066523e76b029dbb12a31e6470ccc9262a5cc1cdf77672b13f1b5fbf995d4d3bf367d0013073b0ae6f82e373dc9a385d20d82f9164d34ff365062b8ae65f4b2deaa511a5a937832fee1167b2c1e880bf9e92eb633f952fb319a3d8b794ebd290c2e9ba852264dffa040c4167498beabe3baa767dc3a80ad180692767ee436bda4feeb0b7797b0b0698e0205fecd8a5eb9bb4a2d020346487e54a9df76abe4a9ced1f6098b52e069ba433c4c411c0ba5a72ac3952525fc17f76932c8ef897ac27e20ca4f8d7cd6e3f29950854d118afa8ee4dc06e31a19323456885596ba821cafb48085326f1e7b06d4b751d96f0bb136a540cd7859010f60a6c755c4375545ba1f1389e5313d0fbfdec22518469df37396835491bbdee0816c9b7453e24fac3e4c463938bafbec0486dbf3a439ab86ec6a3c59879c4896d6f772f19fd0aee9512bed715d4afcede24c23a6e5bafa1b558478d83dac6d573bd01fc46b7453952f26b67e5af5a34434556d8d8f7f6c16e3ee64a73bafdb18c67534713f1a79a3d0f5801e167afb1c9563778c5ea3bf0d67d631b40bf80dc134d06257109e95bf628901b1b3695599d3177c107503dbde73edc029f7caf80044d4dd68a89ed597ce08e72ec88a640e5593fb7841ddd31be8b01aa2cc241c418d5bdefbe1bea9e49317632304dcea65674f670995c73a51c2111fd2aa2f6087c10c05dccad6632b8c2fa83d9481f7e89d738057929c1e0563a628c56ee0fb55eedb8151026e7fb3f5ee0c56673bbd27a37ab1fb3910a6fbe5adac86651d6eec44fb08c22ffa892d59a47934d6f309b5ec733e99a17cd3a9885b3f5134a762bad1ab3a9cc7a249ad7638285649cda57703d826c5743e312acbd1cc732b542e9204d60a70ab92c914f9993ef52d6ff030dab74499ad9f4518e3f72d83b9c08fbf4522f32e7a0608b1d2ec17eb85bcdcc23ea443af465bc5c05504cb10f36254f604198bcddb012a3dc92ce6a3fcc0ad67b71c3de440e656f5b67998421460c79f8beb40545ad9f881aa7a49c8dc6a65cbd0ad72ef2310e62ac787650838d0d3a2fd72f6700cbbe7eed0b364b691ec3c663f01d302bd3c0873de572c3f7d16b7e940cf260d1a6b6bc6d3e9da209ed4d56f840fff07816fdae9945de35c082adf44144e1f1177e7298999f4cb53a8bc51f8b6a171f1ee1e7169c8fd3807bdfcb9db1c97e0539df341b60358c9e64c56369a88aa3b22ef531baf03a6b7614e2689ff4a6649f51c35354b9616bad6db5abdd1d9e9b88207cd16c29cdbc4f7d4f99c75fc4d0e470c6de7e0c2e3783ca9b3251dd035af50b73d22c3dc71e0b5805b36396fce8efcd6014f241e93e06b4b58fa3ec801410831d96753911d1fd03bc89e80142eae8b9dfddcb8e5686c25480eb45f4ee8314d158c8481210917143de18dc52f21c517e589a76d094a2f7f00757fa03b38fe9517fe9b104ae6e2c5b301b5316bf3e05c3e055877c78eed9e7f96b3a3c00935ae782fe3636b5cf4d532e2758b66704cad0ed0df50e0a27d4f9cf8f265e0b2ab0b777853f9ba3070fd488e562dc775d258d5cb406183d4c2d2c12397b05fa9484b821329416415313391180af82b561085daf0fd1eefbf3c20c364fe6da10978a72dd6026a593e6c7d12e3a8c09522fb6c45c0be70afe7f0300ef51e5146502adafa132b4b6ef8890c41a441516e3d4f65a22726c98d7fbbc02a2ddb37e287b71253519151d130d20d53d3e57ecded7f5c2d5e09c173ad3f953d446fba775ac590b2ed7690c31d85f7c284ad498c77837080127550012a65d348f36eae14986356e9c82662a1461f715ebd9f09a9dc5a289a65c42f85f6f8f9f34e19d64d35355448a0ec11061cfc5b62b5a0c7c3d0741181695b689a012152664499fe7245c3a60cf67abff9ab77633eb1d542f94faf0915b5f4fe2d1e7b7f45967753516eea0505e1e723f53bf0508e235bbdd8f6ba93fdfcd51934695493bd9e7855bb229dc46145bb8c75b1d013b472caacf9594ed9f22ea290b854a7d2a287129678229710cc42284729d35e8289772a36efcf03e20c66f0c9dccf26e870b0e9925c3d232e78189e8a2e5899f91198f45b7ae063153ee36e94cd2603f31126c28f18e6f7e3fcdc510dc06255eec41932c6e58ed1d25a7196f29b6e667e56a1f2ca3cbd0beb8bdf7e8523c3d0c4f6886012f1ffee50f21d14ec8345ca33f91655c91181a7fb2595c83d25f1406846dd8585271954770a4bd2d116113835fd31f7b0804e7bae4eafbb10b0f53cf581e9e514f876acd2608e1424c90d37efffe132dfa4afb8db1fd6b05f8e112921445657019a71f81f1ea39066dbe232abf4b500c815a279607d2872d502e252d2fb5e71a9ab3e32fc8d3ec3a07aec09878a340357a9d2d1d9edabaecb1132eb9d9adc45736a3744fa26fb260feb54c3a1f8b345fb65dc69e7ac257233410e75006a3dff62545c303af53db37eff44fd44aaf00beb9b47d328acb6f1f4a36a9892e4817a86b0b5291fe923cdf478f2dc606e2e83d81ecc5f5248620ca03ebfc135fdfbc7c91eaeab07589d3d7e6cf4fc0cce2af72f6dca28b7fb1bec7230ab0713d97aad5e6aa93b6099136c5a6ee56406e9f6c504b353c8d1606fede81b9193a33a041f39954744abb40b1ee83d2def6d281592b8c75e8047b76289b18c342c5c5e692571041053317e12e2f5c2e9a68661547e8f6c3ee90c6df943d583e02973946de3b44ee39f18e21db1178e134cb0435c301c1fd4b55a0de691167a45eae529ffdd0168b81da0091c7ca88b65c92e37ebf74334fe5404c6e664d7bcbbfd635b4f13c08b66934910a08cbdf1106a8c08aca07831ecda6a2ee6a2aff47868f35b43cb3876c5ed5f2acc8d2feda86c8b3c0674a2413cc5666bd1465d0abdb5f5f311fde5b81a63fc652b1d1245a3269866a0da52251f8d780ac174adf658f0b644d53eb5cfc037f4d279e426cf38d0dc32c8ad477c38bcf8370b8122dfab5c439176308dcbc84b46fd2a762624abab35653ff59dd5f4eb01b51d6b59077a42f702cfa8a7a4306c209defeb13de8b70b4b751eb7d98ea5c6ba8e84f84aee17b6bdc5939e6af21a61f34d9331b03261cef170e4eeb3707a890a9738a36c48d6fe2a100122c9392495ac04ca86659727b1d4b07d6bf63da4aedb35373f5f4baf8b95df4f5ebb4ec67cddff73c3723064f1cf2c1c1d1377adf3c36e489f677661ed590727eb1e3e6728ac3a53cf2bd4f2a1a8a0ce4d35ff9ce93542b3e750d9718faecef2d0a30d88b9f08fdcf0980425bf51aac24914e85200cc0cb361bf0f575287ac39eddd23362ed1ca5e00847f1232227411eda7bc9815b855bb2cccfa9a67f528a0706816e040f3bcd9bf8e13d1ad28aec0521fe528f8eadd595b0453bfb8b3611cc0ed0b09081557de8e6affa375636b7bbea40d57f27b61f4d2f518f88a7bb6cb5c9154e13770421249c67c2d29ae4c91167cff52c8d5a97fe4d82669ba134b4b23e7dc60e3a9bfd83f016dcc54271605d84feddf7193083971e9f2471bcaca3eb17f8c0dd3e6770a39d0972a0e6296e28f49ae9c83c1408d37a8127a03e792385b5fe899e9e1e401680bf884c038072ca1b00901a1f41d71b3b2c55c9dbbbf2eb642ae08d974d3eab47b0c46bafcb6c2a44e1d037f0fd241e815bd8592e4aef05ef0314c75a1fec51e62e35ee392a9964351d05baf9676eaba0567c0a36cb055f6de156f8925ee2ba656721bcfc14b2f26c7b1385952ff660fec8b14767ba15a164c66929eba5898de3df4b1bafccc7e0a8daf177396d1844e6fab2e91a5c0f948279180562e84c96614ccac966657e7c188626fc608dd72925b32ddb8231711b8ca123a3c74f7221423827ce6cbe99d0702be92df9f880143242324905b6b4fb0ae58e329ec54aecf39b712c2f37807add8397a8de0d3686aee6d35abcae8c75cd20cdc2f134b0444bc975c44075fc336a4f55062bab23e83254526806d0af8a38c7e379b246dee00c13849bb0c9e58a6aa9b7b8dd906674c9c471974569cbde7158afa0bf1d21dee7407110e0c541db15f60d087cfb0ddc8d41d073593ce8a1a69326987819cec25b3b352af1cfc1b1e1801a95654c3a2fa2a8473bba3b9a58df39100bd2d9677a4eb92e677b8ec0f928fd6f4926171cd5f4324de4ecef2788b89ba553135b59fb0daaa9351e13e84ff5bbc463b914706bea4409096e08a52ae34535008aa3dd0ec9bb952c6016ee7f05384c56d00edea62a62972b88345c5c82a0cf5fcf67ec63d8e7a6047d6ad32b72830f5fcbe189e59d609f0f121a965b6dbbaf5b388a363054851aa4de3599a0c08ee1f1fbf9702a9e13ad089ae825b397be730d3e593205a128878cf833fe61b6974c4561e04b66f29e9a9a53e76966c0bbf9bf0e012c555df88bb60008140e27aa93c9492192cce6b6b3bfad1b95a683c5b04ead15f307131c81c6f1f36d362a59b441d7c21e3529c4930536066205c90ca8bb4e285a5c92abfb8a315f04af3a9566f717bc0932373aead0985adcb6f96e27abab15db302eade4322b0d50d936c59921cdc6def6a7fd8f6bcccb2abecc0afb3cb25de22a0871b55d2f4c52697e708c769f20efc1820f7d80f65740b829040f4ff510fd6d1959e59c7b48851c104c17757876dfbf96ec109fcc4431165ce4d91813cec643b07cc2b5863fdec67b257f2a7f53c65875392fa3b65a1140a94fab3ef0e12394682de5ed8e557e8456ddc227ead41ccd3f6f5a2cb264c91ad55efb78581f0d21d9a5b558b1612cba9fd093b4dc66ba1ea62a797ca154d348a8f49903c06660775c66197e4564e807127c4a2496dbede5f742d13b98cb109f2b025eaa3284be0df5d8a7adeba70f56ca64d285369c23baebdea74bc932af50280bc52c84a29beb6c111ba5d55736616a72778f8120ca6b950e85920524a44c835aa1f325b861f450e227d0a788994f10b7e6b68c36e3116bb66162f49eac335d68a4aa382b742e4dabb019e7bd18c27eb94dee459fb701996212252048317ed00ac97548193a7958e375cfb14adeb0872da8095a8aedaba4ac9f687f20c6bed4766ee03125cbf7f96a1702b9a90d3d88a82cbd07103cf43bb88d5ec20ac6fc6488eac97133cc28ec84bc448d5f049383ba9001d32eabeda6639cdafe93106d08d01e051132db7075022c1c978ae1657b2ebfbd177cdc363e8736d1ddc74b178a796b0ceb5b52136a98d2e4148b13ec46691f8ad272adc04f5bca9020ebbe3aa69bf68ead5b4f2cd965b1f52b3aab35bda6134a687ded05c4ce825927f9312266dcb180174f3ff5ef4babc5471b02d41b092b2e0c2c445d188b63fe4f4b9a25b9e8ae122ff9ac4e0428bc829d4a36b59a4b1029278999da2f8363b9284c32a0e58afd897a5631cd85ff7b790e9233940993cd9691f9f0bbe89215baf721a99c5b5bd640b06ed657012371febf2a394e536902cf172114484075875fa0df67c399b4ddd8b8a6befe4e28bb8048c90c4019015a1a430431d5a1452ecd7b9020b09adc39a6c03dcc14d81fe3a242aa0f0f3c914eed1756effa042ed3e8f27bc31deecdacc8ff6575e97728c793ce5d4458f6c9f94098ae1cbe4dcb76b63151b63109347ebc2d06636b7abc831a5c41d0267dacba13f806903caad910d766004f180cb6058b9c89ff0e322ebf0eed82b8f25081aeb8e3a5eaaed3063f66f311bd5b268cf20b50b7f31b5ad3258a33acd221adb57d78f3b271badb2f56ebbeeb63902cd4ecc0c452e243331d26ab5a36c9a9a57ce7b80f50f31ddd6427c61b6acaa64a2843a4be719dc83a289051cdf6e7bda9019829566315a7a22e987ed29dd5add56a8071e905afbad3a20d5258ee1fa532dd6de7dae8d0f4687ed95f24ce490e1e85980aefb0627ddcc57101f28cb7a57f5bbddfc1c43574f7e4d3add4dbb7ff037cd95bf6cd6231f8ecf276d2426758ca1339ad39c0c8e92a61d674aa04ad573f1efb15e7ab032bf447bab338165b205e9fb2024531f74f11f5c8cc1e11f92d356efd0b94d4a2493585e3539f02c2da95201ae2b29cb20f22180714251b9f1f06a8b43044f5c581d3d8cef4515c8cc0547ce033a451669a36fe9f277b9f1a745da4eb222a929c6ef7d2a56b6a9c614aeac230d1269ce5988c3ff39d0d298a9f9cdafb59e7422847d748166f5a14d926f47102d8a45c485271866022d92a5236529e4609592d5986d7c9fbcce1e1970a961af604b6c0d6cd09cc5ff173b44461834ec6618ea71d9875ff6b99e1e9e945a5e477c218fe52196fcedbee21a9cdb0f097b5f4f46cda2da21b954c9ff4097e1e14ae7064ecdee2c2cec2d3c1f08e6be52fa95208fd0a9668b3a27355e4c85af82f24ef63fff1bb2766ed4841bb8cc64e2f9102dc8fe6b214df8a3b6a128d1a014ab0d76f3f34c23583b3e3693292624e2f9102dc8fe6b214df8a3b6a128d1a014ab0d76f3f34c23583b3e369329262a34cb965bee81316652df452e3c5d9a6457d2e543d3594603369e41349a09d3072a9b37d81134952b55b519f6c13908d999eaf3ec485e8c6f21c9885af31750436c1631ff99aa4cab8b603b124060338be3af55eec9471247928c7f49d1d3f10eb95c59bda6adbe5de99519581a89eb04bd2e7a6376986ae661f3a07e0d48597ca5dc5c170e26d9ceea8403b8d4d5903c6b7ca3a91c4547b951fdf6a24b374bdeb95c59bda6adbe5de99519581a89eb04bd2e7a6376986ae661f3a07e0d485970959f71a70e7bbb10cc93fb02511ffc4793fe965dc5f9136cc9b1c6dfed08abed7a51911f9ebba14c4028e452e813d2c9465a0f9fec4d397e76662188395faf6875da28a40dd929eeba04172b1dd14413865521b0f128b312a7179b857b61258875da28a40dd929eeba04172b1dd14413865521b0f128b312a7179b857b61258a59a38cabc8f436d4094bd571ab80095d6aca46a9c5f979c2566624415237154a59a38cabc8f436d4094bd571ab80095d6aca46a9c5f979c2566624415237154be1e51b03f155fc7886a5ffc30eb60cf7fa20905be10e17ab4f914b1125625dbbe1e51b03f155fc7886a5ffc30eb60cf7fa20905be10e17ab4f914b1125625dbdf97539a132d963e7a5f3c03b2814f80cf5fbc94e4cfb7417adde39fc90daa409214b04eebdb714d6e3d29754df122b3f534e8b5866e3febd3bcbe91f6bd7fe33717ad6a705d69eb11d52fa4f1bf63e225cb0b768e5fdb488faff58d9c7cebcce0b674b8760f392cb6c8b0cf4aee9b9a0e2b242e765fea7cf437d3491236c0a287b3945e911d85fb24767aed053500122d1a5b80959e58d3e9fea620b83cdebd87b3945e911d85fb24767aed053500122d1a5b80959e58d3e9fea620b83cdebdda94392cf9570de8c612d5a5d7a63078056f754a278316629c354aaa53d55ca2c5f84bba6188fe6affe13abf45108dde1a7eb670e7c2947d375c508cd18e18d37db95051f394d44c17f46780a229cc83be3bf66a11bf95765541b2a3becc73cea3564eeac7e4a9b082aebc8bdd0c41adc93cf0c7bc92f675441bcb2c5ac1a20a2c7236426ef56c4892ca87067c9c5054bfcfed9e1ccc22ff286847a3b90e8ee7bdbaf8fcdc48ae93dea3d12925853e73f5651e9e1f1419b76b91c3922a2ef5e56e8bb40ddecf8df05b88962106315e77320d8478fa855994948cc04b66673854b2a797120298377e3404c71265c785df40c812eaf6255b74593a92d8cd38e65050af9158edacb178deece030eac8105a968cd6ce815dadae1d53681164d5f78588a752087401e48302f86f79ebf41b3a82c34905df2f5dc3a36f6412ff490a02c9239e6239ca715570ad6a3217489e1859f3915fbc01dc7e9ac857b32d2b7abbf781435916b7d595b86093a4fc954bc0025f50010b75ff79df5fc064492da0f92f6c8e90954dfa57c9f71f17a1368f67716562edcdf203c201650279800fbce00c31f9a37febd607fdd2f4caab277a8faba7b5521c6e8c6c0f8caae73707573c14df1eaf487b2227087ba31be384bde40872933ab06cc11a855fa479e17253e7083562404f0bcbda35519141e08dd2969ca2fafc6260ff46eed5d106cc167e5d1d92ebfc29abce1a637e594801d43b980cdcfdbe063c71389282b3fec743b5821bc9b4960eb03ad59efb0b5a5353e18f7816b193bb5a5e8da34ec06816c9449bd580672e693d91cb25c14138edefe13c7c87f926e09f31c6c9d74af349bdda433cac8b8661cc41dce8c5e91e1a97456746506b40408af9905997b274ed7418ef739ffebadc0fa733ec4496aa9dedc2fbd9f8f43161438d620449ebb88a5369f2deafb628659b5238748296c4151490b1c99d63529cbe386ff89028f75518e0ed956b106f5ebb2eb7922d9ebc2d0720ffb90ec147bbdac185df4e29436615d0fd723b6fbdb51446bbdd41a72af6a4abc1f5fe2fbeb3163fecaedb2b50c58af45934e559ee5a8ff0415ec158ea779e233e61e7b9b2f08c0a832121609a295eb358f6739ae930e2f089cca5225ab839b8cce887a563a4af2fefaa66941e7d61aee77b199c61bc0868fd09d4c1810102c63b42c6e2bfb182819f53116a8b7a45b88733ff38f16cba668f0afe9555e8d83038991219ebed9fa9a1322dc6c666194cd262ac2c4b85b744555778e275ee4472d076af4718e6559f5c655ff99e7e90b400730eb452c40c02b4c946fbe90731e3e1ecb60cd93578124b0bc23bec803bb7da92bb8a1cbde52148f1082af08ab21962a9b55316a487e19ec91bad5af1d5fbeb204f491b9f9e8eb595f474974072dba7ba5593c61084e9088e639d9b80186d03edcd3b1a042cae0b5116700bb997bd28d9099a29a51db7d653bd9ef17eb63e169320845836e7065e6a6adf238e4afec65b8bdc00e99d3b6616d97373b980e448a3db9e2760ddc275004a93d6cd4ef5f1d1feadaf1c5930debb598e3b8861ce878323968d3a7a20ef2c1915feb7e75cb3ca073cd8b840053af45b08b755e06a5a38bf8fd3769981ff17568ce5cd05634c3d694df49ac3e9517c03d39ce7cd3d4344d0b0139d62a0eff9d56e215260276ab8868714e88bcd7cf986cebec171a87784b011e2fd2c937ddb3124d2449e688b2ef7867a8187cd54b00d7668d244466d07a31454c49c93b92c4815d7059433e60bcb69db842e0e84e8c1a5e029cfa165e0d2cfadb3fb95d0e678b24f45c102a21b7759a697a7bdb5402db7c7cd681ccc9d01624aa1b65d6cac3b47e4873fe8ecfce8a337d20362f78d0d346712974e79b5c69b65ec8951322a2758e623935125195ace7b6dd9d8e7ec9ac4e96bf9bd3b6340e61695343a555846933dd30e6b907b71a9b93c3f82159d755ca8d59d48c57ae3a044d8255ac897df8aa7be950e83b902c36b449b29a7b9efc86fa83fb5e62090d599abeb4f3073e3e4a7f40e5a4a66232006be7dccef56dac5add853026451f2d93acbfa75bb653e88d8ca6bcc20233534dce1b3d07c42b9de6a0131e16f87306cba95b810551ab8ae3646f4653eea9bd1406e66935a44328698075fa3ac1c56482b137ae1b53382c2b38ecf2046c8445fd6746519f7d24cd274cc506d3d28ba3f40eee50eaaad132f95de98b9f1b8a04ad1efb2ad0a6419d8a6b2d932b2cd7c84c16cdefd2ac6b75fe9cc847e02f81b09fa9b6eedee83d74695245a2774771f33c16a7eda3464459e718fd389f814d77b1a651bea31df5008061015dad71675735339157516fa225c1356479df892687539ec2bdbcce5d00c2dc25aa9963eb46336affc63c67854f18853fb0da00967eb6002e0ed71ec962752d3ace1488a44dda8c26602ec31037c82aab4eec4d2ecfe61305461c5e21b2099c5f72597dee714bb103ed31782f700a8901317d793a4a14dc2b931c11d2b8d508a3c427a0cadbcb936c99448eb88830d5b70c76437d0dde26ee2f3cb5ad50e5ba7770c5056f1259eb5a8e3a20939b56660019a99fc282d0a2e3e593af6e5c7c41c79c60bcb5a810f39d3cff978e4175b021a1138141e889730c467374bfbe6af7f8ae170060a8d0fbf16f7888b491ae99b437a50508566382d00e1b041e5914982904c8e9dd57c528a4b52bdba29ef9ff3ba54b8bdbf5da7469e4c7b3afa19a508e86faf4af7b77e4cb0d232ff3b92e3f3eef286375b25ec183a2da7efdc8a690ed2552d074db96efd28e40c844e47438171b957cc5ae4268d2aea767052495e5d3df4ded74a3095d43efcd2e572f09efb8a56aa0863ae9cb8cea3ad3b3c86822fefc5e924dddb0bdae5d3d94776382999cba41751ff8b389b21dfcf94798669e2438bacbe7169c0efc15f30e58a8acab8905084813e1a7011f3126800d43cae1d484444774c7c0b9be1c1e3bb958ed8bf5f081c146fb3cc618bc5c93276db63873e93789e5005ef0f448ee23985332bcc8b0802c26d9708aff17ceaabe1338a4beea69c4a7c98654ddd5a2fb2f7cb07e31401c34443f41cb0d4f1cde69ac3cff738346ed321104134585468889ddbded45db61c1243ab2c54b90d13557c8e1e4e50d7b8f40693f1033dac86183da37e7533ca0eb2430751153521a42f94a9e86637b2c10614c757d07f316cbac855e530e3d8ebca873715c4dc7d4404e3ee676b42b97ea0cffa0ea76762fb26baf874cb9270c3855c5f914936e025c8f97deaf167e94d9f78b847aeb10e0db09f719d67da993c020ac10aa3e90458785eb739405c3303ef2248f32718b62aa97f8624d307a568addf605a96e9d1704b417e944d812eb89145dee69852b288b7dc0f7aede770794b105e505bfff0bc978f657374f69518a5f379fcd13ff54c59ae7f1119d47fdaf81fc1e2e2451e2cd1328049998fba62b8ef2d421c4930e6b6f0bb2464b2a86a7386410ea90f0d17fc2b652c0fc82462578183ef60b01f04df29b06b0ed74e323616631b89ce03691f07429eb0bfe4803deb029c5a4b04c3756a7f63a3346787933e60f18241e123af840002b63a24f0e86a045ba9db49162c432813cfbb75506127db2d078a47698d31f60761b091c0be9d2798280d57f86acc71efabbc2404b4135953686b3bcb73e406e67810b1b7477564cb631d2d8ff7c976840e7a3e1241dca2f8784fe773f5b2dd3984c20104adc4cd4f5d76bdee2c878e47d8805a167ce2b3ea2ca19055765a1efc1394a4ee6d380b9c0b4705c5ee6c08a61bdf907f8ef53ff9417aaec68cd747a7cf50f199bd1febfb36e86534e81fe0ce83bb16ca1e2e0db79a26307151cd3fbef86aa3df1c34fbb2b05d47a51896dc3971796d3831008471004a45544b9d1f0081c2c941a084d487fcd8b7a7229c6c7fa3332413cbd8b11130d69a7068eb5d7eefd8b0bcffb25f904e8804b8e4c620a195753e3c097a2fa276d5381d2f9a78d54608838b33bba50997d02246892cbc48a7410bd6196715d926c150b75697df050eba083af149e66e7a9cda3a60317e4998332ec9ee3859f1ab15c16c6b7bdfeba7882225e4cfaa3002281af9d8e714d6bb2db92bfa39e8f9f07b89d2d7d0714aa80a9a7a161f264fde219393f4dbf0270dc1bb6ff1b8bc7f46cca85bb498c129b39459083ff49f67d86b2f479fed9711829b17f153938ac2c7c0a07b7d9db55afbb414b3eabde8a253bb505c161ac3a767bafefacedfb048756e45afd493a5a6510059ed246ceece9667710fa7322719789254aa1e0c475d45c32bd8f66c600bf1be1bfa2bb4223ebebdf0ac5cf4981b35e24d4899c93b13b97c6bdae903ba06ba35457b0a8192692e5f27b89ab32e876e5df53cd35c8f807b9e68c4b90fb6b7882508a8a22b0bf4df9a79fb1aacfddf1208fb818cbde33a067fa951df86d5d1339be9fa2c901aa3831832119dbd64b1d149f283b33890c93472bdf9ea8dcfbdf0a5dadaff87aac09776f709d57a45b3069bf7be98be1ae2258b00fb259f0f45bc67d9a8d8b87ff949ecaef57f0f3756653335ef08f6a05935d57d6b6e0337bf12680f43a98f8253be61398b0e1e1b6e9f122fad1e42807767c36f58ed8c8019e7d61818ee15c463b48f43d71d528a16296a16bd40f1efc80f0150c9a9f35fde7d8e4ad01c836b63bfe83394d5344aa89691f4e8d974979d6959f36721413edcab1d2b8600c631bc51a7399805902a1f56dfe0a1cc642942cb9be260cc711b2602b9ec7f3b0eab54b37ef936aa2fd6107cb09171c06dbad489e7f1b6f9cfbd9a296cb81bb8bd224233feb0f9316ae186bdb6bf13cb4cec7209ed52baa9fd17dc768d66c4b6f36709f45f248148bfce1566eebe6d2e5281ca1affea2091767a60d9dfe6697ec2d7d066ada904230407088cca291c70be0761ff36ee22f64058c5cb4987932a5352a11cc5babe93cb10427c65d0e52b1bde4954d01a6f654387c1daa00c10de52f0f8a9bea3de3c237f94815dd28a75c87904df6f53cbb992a154f566ce4bdb7c8f6c235282b93d82a074847c7fac58e69bc18ab4df107d980d6d434859b3d72814161b341bdb1e803ccc74f89a57b59990226f097babcf5a2954f5003f173ba74631cad1961dcf4d082a74a583a5fe4ce70fbc1c104a251c1652d090d569caf829bb4863b984fde0bc6bfe62d999e7f86e8105ca696e2c7e4a526d139a5b5de073f052655dd89c019b34b89f8a82fb0c5b33ff2605f7205832501949009df698d3ec7251d6bf9e07d33ff12ba5de1de14c8ccc78712d770e5c2b64dfd986c527d585071c5d8477267177ec2fa5bab06caba1be32f80e90e35ed9b72aeb1f7d058d5357c3e2a5e9f4765b8ace57bcf4056e43399ac7a83d9fb08e8e70509423e10cc86320f10fc4fe68c3794233b85bb9237e53315cf66733955c2c367db92f9a9b68ee83f225a31a1ff0e26fcae71c3a2bfe7a81e0b8e5a1eb9a7226a353eca24a7b97c4f9ddd11ed25f292316a2cb27d284625927868e65db7fc4bcacfe76cd3fdde5fb039ef2b1ce197d0616364e95f159038b0da8caee0963d27f68afa7fbe7514db9e0a0231995c9226ebd52425aa66fa245e9d6f122088bca66d9d0fbf437ff044f3d0f7d322c0afcc61bfcc6c6eeb99c028980ffca7907c57a0dfc0ac34307772628a4f19dae574416328ccc74c56b662ef84eb73b25ba7898fdaa25595ff7ba2285e32fb48588231b46eb344e9d33b0eb0a30ec47aeea2f846ca4a3eba54eec56da5ed2aca4c9a369dfebc53318573ca1f1a4fd5a150420adb683db92e697e83dc794d8ba65a8db52a8a78c5b2d59fafa487be2abd30ed8a13976896584daa9c9f6838537efc8d3d9a2e007ce3e0eb7e182602144cbd8fe006c38e09687f4faf18f2252bf1fef8ec2dc1e5d374f8621120b4990277446513562a2673603f90c7f8c07106f5ed82b4d0772c39d9c0e9f975f8e723d000fb1d4df5a12d59f76c7155be167c7dd6477e9e8ef8c1014abf1ea311f9b76136660343bf24933a732d2c763ea45894f61e37a17377778d92de8322f1360d4ec40d52540c055c35d7181deb70e9a060d46965790f9f018221d720cca740ac8cbefb71838b7a4e3eb65aed06802448fdfe2dbce011819fa6cdd58371ef04fb82bde4e76bf4b0a777c39ed02bceec2ac2ba7b397ca97a4629226f4f657f60e18dfd08c7294854ceb67b2edaf4f3236d8c04605dc16219599586fd5047433636103068bec76bea3a2820454d454184e8612688773e687b2336286904933ca432e19ce183fe708cb0cc55c53a533fede287bd871f8fb912f3b902ef66f8774fe768699fbc096b74f314dc95f5e318b2a7f5f36339a5d1b5a43d58cd94d7f0552fef20f64d4d2616f38f6d168c87914f7143e229139abc827b0ed60b044582b5ce5f959059467b1589766bdd17594634969cd25d7dd75985bb3d717bc6fe0fb8743361b060734b493629834ad3c85b77aa6fc45fed8b7466d711482dddb56ea68f7bedafe2c3b0d5c5993a83006bea347697f8447d335446df36f862bcfee0a5f5ac62653a4174cb1b58d316659189d9814d1bdf026f58bbb08f1a5c495109a2627bab5dc0448e285a03406494be33fa96622c27c73ae6b84723c7111cedb23a10d4f03954caf0fbb1b552d3c2ed7e8d2496304959dddc678851c483a95adbfc4ee65882ea2de073a2aed3ac593656796e9d46459982cbb6b30bfc401808f10880bd69fdddb8f25824fddb7f42d406db66cf5c61f6bc0c1f71483bb608325685d8f83c853907698cc77e06e52ece17280a416b0d207b97fb19c0dfbb636384a89a8c3944e98789907c661b8bcf67ac59e1143b375116d2fc10e8a7262faaf88cd4249c7b72206dd3cb8aa0ca15f6577ec66e495cc7fe273266131ecca9ae136e306ada42fd46d403aaa140c39cd16bd995b3050ad0910ebbf18fdca6de837a626242f2009813f060097e9e9bab13d8e106fb520a5327a849078a09c37c1f3fde5d3e868f3edf22136e78d5836005a26fba68d4beb54891cc7bd68774d37217be2729367a60714be8baec2e318c50cd4785d6419908f2afc3d69ddeb3448e8d50123d9c1d61f127b7fa72c2f85bd7ba88dedfe2ac6503a14e97cad7b9b0a61473a524150667d75be584f3dfc5a8d7dafa5742a6c3db903a2b338407742a83b3405f333e3fe75ccf49935f1310b266bff1d545121348faf4e042ff3262f021611ce01aae9f7f9932fa79de53e8d4bc5741f513cd9fa98ba0ee7976cfbbb2bd4ce66daf84d1aa53325e4682649a5c3408a08af5ecb83655a052416b41d279ae15298c826ea812ab499172fd7bc51e0fc12d1e42505a0ac921d67656e4c182eac95729ae49089a8e41e9929160dc76929846e2cbd75743b1be221e4f3a5f689eb7724141785f8b64e0ab6e6e5d13b2a691a9c7d5b2b715147db99fe3731e52a50ad795beb10fc030a9d5cb5630662093fdd506c47e2574f57448aac330d7a42658e7dc6aaee66fe5c978c136257edc946c8d50a67e7024a8db40dfac86e7c0b82c1a323e089a90fa61ff700d95f5c7abc441b03b481558eab50c69fdce60cbe704be2b18f3c86183f0613853ab83e2aecdadfed44c80973e530585134fb1c3a24ac8760ba9af7f6100ce864d5655d64fe2f6967a4d72005faf1e3fc8cff287c2f1ec8e1285856850ba12c2b3f8c17f8c0f75989ae0637f9a4025053e5855fd511d80ebc2b54f8400d57ea05ea5dc23f4f66d2f8fc9634745df4b13826f09f74cb361cac5c940d7501017c084b73733e824f3e3514be2d9068aeb8708609732fdfd3b42b5f0baeeb54a741504c6ccd148720d0de1dc905cadb38f99c140a6da785d3f600c5eab2b5e451352a16308536ce0191a7d54ead5e30365cf7fcb1f0cdeab7e44582e70db2a9ae513ab83120ffc161dfa636b369f307ac842bf6228b94641d2f529118e775349d2575b71b0d8780db5c9ad8775e9ca17e438735eebf277b2ec2d90c1ecfa7d468bfad7f0e243b68352ac898bbde62c8cac4cbdb78a260d1b12bce57b046993343617faf477009ecf1705f1a1ec907ab70befd43438913566d3f34a822ebfadb638723edebb959d4ddd1a0d4b7eacc6e19c857fbd8850a36c2ad31f4f002d558bc8c63fe038d016018fd316a8dda14bc710d28639a1f9e18a577e2426d7c4c7b5d0eee94f469010aac845d8a5928c300a13db735c30c2acab67ca809be4b77a25c8959c1df83cf8e41e3daf00e4a5bce9ccfe7e28476df25143f2e8f51c229b274ac4046b0387d0af1ffe0780b61312fef1b233de385ae48b832c3546b4796c8fe4bc0657f47370ae968184bb0aeb6db988dc07ea52496648fba983fca3d5a8805517d8f2a57844675d0c3df2a6085aa4e05910150a64a93e2ce970ee14701bf2a6cf673979fcfef49897e51e6b09758a2766633ac68bc842ce11666812f969d414750971ec0956cfc17584aef128d1ff9117d52f3c2344a8fc4bfbc1662025e47a4a9688ba4e35af2f8354e8642c0264dede54b8d3e5017f26158122cee20020dc609bfc80674537d53abf172fe8fe1ed3b0f7f2dfccafbec1c712a0994dd7070ef38fd3d2cdbda771817accf631b0cc9b52fb816dff424bd158d6213051c9adb746a29caf258a6316bd8daa36a95546bf2c1506968ef0fbdf69491492e898c231dbffd15066aae3433231e0591630644276cba88073dace7c42b424c16283c0769882f02f4ad67e0e734d9c99ce2d3b265f175ae1dd4303de81c8305b03f551ae2d41d2d6003f9ead400ea3995c5dfdf234c252abc28378dc7693553f8ce15abb79b611375b26b23a6fee7096c72ee8a19075c83561ef9a27acb92d211ad7cd5e4233e2f04c9e35725690177feda5ea187aa841aa78ef1fc176826d5c7d08db3537a07803ed8278686b938d627626321c9c1d80c2989528a2f083e7541c460bf92bfe2dc8e599f4a9970021def7414eecb4fc9741d6494e8e187885e465a0c0b73527ebf521bdbb8f713a0c9c71342d863ee8c41fb7fabd6967eb2e6e880ef341fd04a83515266457e18898636b9ba623ac33b7130b8a0330efcecb9bb541f39805928cd874a3fc3a7efb25a5eda1fdda0b9ec4905d1835a032c797bbc98578e18906cffdead68a99b443e300cffb24f2df53e6f21f2ed5fae5c77b928363eb095529b560d81f6667517eabe95a3a72a57af96878ded5e0c710785df4d562a207164a67d664cc9471745bf56982de9f7079bdf4f3bf64d24a57d8f87ad148bd0ce04261bef5703b3665624d44959b59319179203708b9edb501eb6be72a990c8f7f5a5f68e8d92c34418a9f6ae5928fe88af651529d16ce9835b8a74f5e8848c0573a84fd715cf93ab86da8df142813e074b5a9ccf48d037ed32eaa0491e00c432f9e5c43f5415e395be58035bf62310fc79fbe910cf731ca7c425d29feba61b09977cec4dd72b9e7079367d1a2c710ab9454b6557357a82b927661ae7a33d42966988def616371234cf0c2cb05b45ae1136db38058f1fadf99ff677566c2619c95eeb0cc99098dcb6977090ee7a26715ef98d0400909fe1ace10f398e4288210c296857736d3699fef93e2c2c501fd0c90da07171cc7fafd08fff86d33b2b22eb09e460739ffed830afe5be7727c860b730e4807c928a37ab01b7b502e055586863da5beb1cfc20a6b77532060364c595dd8197989eaa19af362905657b524bbed759313a1a7112ae56901ee120b1fb36cfcb8611021f598ca61be1b170166d2fd1e21a9d1ecbe9f1420d64faa1bf512d124084ca3e725f03b58f4e347e6985460dbdeb2c1517d48fb37b2d80ba88d4388678b8dca82cee02a21508e914e7a447f317fe1b7afa2f8a9847b0760a50b54c33a6a47a87771218b60510327bc57f7994a94fb440723ecdadc302e7dd220806a50b80905f9517a3111692ae63dbcc27a98044f58f6cd514c4d96ad77a36a4b24dcfb80e0b36cb009ccdbca07f1a397fe66edd96987f5017d214de623e982760443d459fdf434ac604c65d9996d075621b3efac894c422858d49bde2eb317b04b54bf19edb3d3b002916b3e9c64328f22e73654ea62013e6de98f6703a922f4c629b27c75e171040150a07590eb88b96b069f7d0ebdaa3f7c4e18401cc42c478a2119f2ce8bfca7d6eb8eee6dbb989b985c862d6d1ba2c9d203f1959657cb96c429a1dd0f7b3170fe3ce2c1d1eb3d660a95ec734f7c1d0a9e05961d0ba1679b495d2f8cad63230456a01f79a51ba2ec74801beab0bf75bad729e39b32a41763c677ee4b7290e6ae9d45fd5151bc894d64e9a45ae758a6c83bbcbb29b1805ca8fd5dc8486538c2e25ff07abac4b9a07bf484f5633a031796fbda231cab7b661ef8b772044880494e6ea247ee1346428d7cda5eb2051dc4904a80f67652eac09b44d13da516e2ebe7d8998ddebacbf68e359f793ff57bb686134227a999b40de0e7c4177f4d0e8ef4256be3afdf8fb23c7c25ed6f3c41afa72d0101f090b0e47ce298655583ecc968327e84cc35c622dc0a185167ed3762fc09754e76a405aba453622f660fe292b543470448b94424b1d984ee23fcba62984044a1807db0d02eef35837ed919f6724dda3be819df9ae8408e6ae57e371cda9d6e943c64c72fe54a02fd407624ebcaccbe65d6c274b924880be113f6cff8857b52a95b2428f7b1a71dd6148dbfbdc5adaa1097ea2c811b5a74f13f4248917feed932f4cc5b030034e9120d380de93c43272f8fd0bd311435b78cee9609844a88140eb591ba82c81343a92312ea664265560f76d32c1b727489d0257d2aa5764a581d5ce4212001b6d95cd285eaa74212e36fe77fe1f0ad610e973acd8d0c45111bd425f65ff117ca8884d8bd5b38864c17930344e01d920878f0a01c3f6f3566790abe4d072a962ce1a7472e6cef5ff6399056abd243f0fb9e38242dae5131fc8d5c94f80b5813aa50a00dad16ad6cf3e14e7fe00fcceb0293b2caa5574025d6d8d446ff86314cbb3c0868530634d1c3a675c33590a5813829aa300668b149c2835e81900351db5b2173e991b8c3be9e675117834e82fc98f473c29ed13abdc98c11baae3e253899cc106adbf88f22276f39eb762814b46f13077bcf68a79a059a300363fe3b30a3d58c6f617557eaaa1f4c826750a723ccc423e7a00e65a9c4659ef45f7f8d4a5de33752409d180f6c1b69915e0c93409eb58cf20d63b7d69d3b0d8dbb6d455836da0c00b1bad69b55ca4fd74ecff605a6cbe583c50ccce4c9fdde6d99931520d632482905c86aaab89f6a12e91da0df816e78997940cac212a2d133a77967d74d217a7079e127001b147288e60da4672f46fea2d345cb37cd629ed17048a84cd92065c08d68741969844954621f25d4a3c5d32d07684e13cccf80269c051e1a5366784a23bdabd3278ebac35e828d18f2eb519253cffffae7786d404bf1d5cda5187cb1ee025668a595189cf26ae496eef20b4a92c114fd73913d62ccfacec8c321b71f813f14cbc755dcb58f4cf8073dcbe689737c36be5aff44da4f964af89592e5c365683050878e61d84e4f4130229b1adddd6d789235ffd96008d5fe028cfe52a982bcd6014844af2f63c78b7bdc345b548c9166563426c67a1be332faa260a52c5669c5766dea0bc2b0f73dd62420a8ad377214a9b3cfde7b8fe0aec5f36d53d18a7c865f22eee72e65f2d850e1eb46e07444c4065c6b63fea0f46e92a0bdc3ebdd9e11ec482f60893feb7a9b826344fe2c1f095ec60d00cced9955ee47b32fa8cc922ce85f55d37ee925b7720e67daa91c9444e7ae597ad4019c8c242b1700f68ae616230450f3b4e9613339f60c2fac2c20a7610e9decec9d120b8898b1af93bba92a69802365f5e97a48500936af844dd1dcb713b3fc0318f110b7d54f488d0f421338256ad611200a5c437a8665b0614f65339a87387615059526c2fa34d150eb5d54c9d9654529f33b20a5fb952a5af755b4b6ebb676e3a75157a40bcf959646ab02f3d636dad867f718220a3c19df365501392c3fe11f9922d64af750dd335b80edb461ce6227d470b0613ab96f12ed0dc315bc81a06976fde2cea3888291ae8dd84305573054782704d141cfd1403d78ea6f39e91435ee7671fccf9dbd1bdc9a9bde9b10695956232bdc353df1a1138f650a55f925126230c20f41391f5b43a1223c73d841ab06cff597fe3c1fd496c19e826230a6e62b71751ad5229ddb01f9ac2dafe64ae1b197e15a84fb599b31934cb8feaf01dd3bb233a4f9a5d8c878645380a275ea81bc7e3d8672e1cb47e48a9d85ca64f2813b414960874fb80632b246aef958922d1c1322d6887c3c1cb035e294f39739b484cd3eabbc0399f705c691a7f6398ee9a1e4e4c9b808875608938c2b6dbaa55a1b788587799a8c09e0424b6273e6d6e9e78754c89e7d28df304eb5bc60573d39092b464835e4113774c194fdc52428918e81bee6d8086e9618f2ec386e55e3949ea128cdbfc5c43d28ad8b222cdd85de1961adb0b8316e77ab604d50aa5d75381b9b1a6fd44bd7f57173e75568aa12c6d73367d0561a8a5b3170c55f540d59fcb30dfd71aa34e5fc8c86ec82a73aae4bb0cb2d653a7efefbdb2e566bad5bac0174dadd1f95bfc03f0f90e97f50570dd4344550b36104b6124d747dc79803ecdb8956bf07d27f26c5a99d8c8b7a1c567493d0cc36f57cb019ff9f82750d65b6f358e6be644c88fe3b9d9d0fcc24fe1e57f9eded7c511865ad49b645f34563eeb10692fcaa9c99a993764177f9630a916cfc67aba63eb5087478514c3a400777c019026535640f4eb96a22d652333733a199140a39857745089f08309969c2979f61a1961df2e87d691098b6a601051e4997e78fe1c89849abbfa38f2e3a2fe9272b9ddbcca9e8525d34bca4df1553f175628dfc03ae9710deecfd06a8a0306d335cb50e406a1cef82530526c042245f9aa504c100c01085c439321d720ad83c71be064b2ed9f25da91e63470471a9a0740fac15cb432518d99bb535148af9db97d14a4705d519f750194cf29726482a849e99141c3020a2cef0fcea93f54616dfc331db2fb4cb63cd765ebb5b8172efd478843edaaa2b9483ecd2e7848f1e760e5cd0e99b8bb2d6a98ceb3867e8d5a5abf9aab91ab82b84faf5bd7caa97c0433aec94ff87f59da64ccbbbca567391f67c88e76e8aef681a2a3e3d0e26b84061bbf1b3ba26e8432c03b4b8db5f3468da2a68534c7eaf4e729eb15a0014dd4faf811e28eace8c5c5acbb34294338c8d92bd3d03497755e89471f9ebb944bdaa6cc9e68709d7c5bc346c9727e5a185f017448f2368215cd1c6dbafea6e6c11d89511289b64579b63b1c21313ab4ba159c276038dc6b73a7bda45df13175425f34b99621e271590a1448dd603f8203c050a4f489ebb9ef975f95de9440f36dd1d7f820c31f9dd70ca229806235e5ee118911285f682edc988af8192e5cae28807e720450f0d89c748e0e48a28564d54f2cc0226d693017f98bd65cb76c8c53eec81feb6c58fad2301041395d0a3ffd99a5a8036f07ab8b136966e8300bfef360e89cfc2d3155c3d0f45add295a4fa4532816991a79502b2d3e7624255f5ccdfcb89e049fc212505bf20ead181e63b0b7cf716cda58a846c9a8ce68498a226e9b5f7c7365d0bce1c87f9e46e8fce287a94027cf160625ae1459c59a6a46ddaf4844e72dd269fcb32ccd1848e44c282b32e7fa9799469ac9806f123d7caa5abc0c399234b7b0770c04a0efd2ca9f24984f770bd4cda33244466a9209ecf4e1438463a4293301a9768ea66aeaee916e5ceff6c9f82dad7eb80576b88e21d9bebe497451141303550ea772dfe77664fa14367d49e2672cfd76c60a44ff67f9f0e0b8ce9a510e35d652bea7a9c638c862d39980861f7a449ac3158e2b4299f2135b88dbfba2af6441b5137cd138d242ac9c9a526e520bbda3dbe2cc6c74c66c7a5e10f3d2223e791f931c46dcf1bac70b138c01349e74c3f95635ea7a10e5ef64dbad500c455d325c41fdd6cf1477f9d36b3a9a66a32a7703e83a73157293166851ed27b8f3735df28d2ace2c2f593f049cabf40b4ec699a97b54d5f2a45532b82dd55fe02d628f579abad6cb9e6aabccafaf115977d7fca972f24c741ef2c2292b9d5786c929dad168d29206c1fd025c68c14231fc7f22bbe6d6a87e40ef8ed16e21dfeee77bef9039ff039a4537d0ac29b6bae4691a90e42b5d78882119c6b7f139a44a1649484fdf22451eb04be92bedad9aaf19346d9de9e8890cb7866e71bb216ed257c521d75c1690a9c2c9ccfa34d6dbdc038190c13e03f7e217bc79e757b9c4cefc1f8999a369bfd02aa28023bf53df3230a3374e2e92a8b495c6d66f6c6e3189e5ec56bc05769a85e6170a87638be5cc9281e0bdb01e52b27160e9edc088c1978d25af8d0457112d3d1f342b577be72e36c472b0b9d2e8f33704e6e8ef1e408c45ae38f665c788a315d2e2a23f9f5a83f1caf013a54f92f34e9a63c1646cf2343e6cb2a639f573fe6b825ec243b04b67ea0039af593227d90c491dcd9045afed82ba09d3bef9714db03b5d3979977969240c8bf756e7c0a418ac546c316ce01b09351c0564b34bb4f6d6dc7711b4d59f1f852cb85269237d97f2b3a7d366a540d1a8540b909820b7721c0a45bdd23df50ae7a59bb3e0e8b295801c4c8496e5ca94a53b350df8a96366b1ecf4c1894d3a4a78d63817b6b011e1a157c4cac754fc0d2054be278d7bf94a18c772a82d06d03b7180160128aab6498fe4fe42b406ce3c3f1c6f76e6e41292a1f964b11c5dfa913f463dbdf72b508c87f59c7d4df1463df4f734a58c793ee002f8bda4ff1134a130148ffd71d700285923a428beccdb017ce9d3111cab99789728cb790718a5725d1a613d398d322c3f09600753c6d07668254f60f02c30d14e043a99de2f251f58d8350eae4299a29101c0a4192823c2ca2576b32012667fcb698a20b703a7562eef7b1c22d4c0b377503af8de0f108fa1b54d29890153b51decf12afec51493603af0d0715e1d5891879f5b03d6fc1cd4c86fc697bad6e7b266b4e1c431c029c2fc523a75c65ffae53bb4f69cc0ee5ea937a100f93da902305dbecf1f312ca98c0ab5fa0dbe1637dfbc2855019313726f0e7bbe6043adc4339ab84979a3f3bd33392c08fdd34cfefbf70ff9475d513b4f06125ece2c72eea56c88aafa76d54cdeaf5152fb96861a406ee9826325e1618514b25737a53ba84573d5f1141219c1adfaac5bc6478c333c87a8474f7861cad121faa0672323a3fbf8ba2fc0ec7b7ed7399a1daa422813c99297122f3a4f49197779bd5129b42f4ed231a69c570aa4a9a0a712f7a27c3f8d7fe454819a2a5e0f96955af3a9f962dedf9bfdf8f44ebdc0b9e0038cb956f8131aed7d2dbe8b14d16e60e8aa91401ce3180d6cc0d686e99e8ce107ab912162a4f5ab3d2dbda13f65e6f0777bd1d7654b165e81ce8dbca38810593144082c060f1f5ec2f4b3428b7bfde936c4ff141e145117deacc6f1312d4167cd36a6852b242b566ba6524e2a5c7562125e318839298ec07f1352d695719d413d3f29941bf5b1ed81d539621966afa5e2699083d5450723e3ff8f07b15a545f154cf0795f8a78dad0d7a5a392b3552e02cd4fc9eb1b8942dc28bcfd29e7c712aa7a87a07aaa231062d7c146d97b7719a2c22fdd29db56cb979682bbd783adccc2644120d1b5290f567b3bbc7dab67b281d066f16445e1c6cf123b40bf74ad73c6aba957539887f00a560c948350c375c185ae75227809de46f3debad79085c973327bb795ebafcb631a0f646781ed693829667dfe1253e35db373c71cde96e970fe712ba48c54ef287d0abce8b8ae9d38fafe723281ffabdced7792bef8545ade3fb38be83321953bb3d0092e8c433442a51e0862736daaf3d35aa47dac3c7fc4985baf7682ccd09164298abf46afc1317e8cf39ed5c261745cc0e321e4c2b06f917eda09ee82efea80c179eeda233fb7549b77406b2b437297a4e4e53a34f38864c0ed1932c9b61d1180969e8ab1cfb27d259b16cbf48a2e925c5d2edb58272ecad02ebc4f7d501a5bb0fe751a2908fda2c42a5c11a6852381eec6b2776d976dfe63d18796e77717ce6ff954ef534b089d364c734197f04cfcc0561469d57eb6cbbfba9791fcdae4869eb48a2b46ffa74121890c76e995af944a6f8a6dde600ef58a2668bfaae86e01820e478cb6a8349cbe00e09d7464107523b00152cd1ab0ea4633483f219636535a40121fa0c50756f08ac4a8b95f271ebe7139dea39e112258a422561d36446de8dc2ebd3baa07e339190dfddafc2fadb8bef0dfa03b49f543c55fd840d5346165ffd36af7cf61478b2f32544552c9d2ea124932ffcbba6abb769e951b738bbeb223c867079e74e54d5eb6d14cde840d00be438d44d3ae7b02eeab3c8b73085190fa86f9edd3d4f92507b23279d4ba190c9ae811fb1fe5dd5e39087ba48233a16ade68448f38ed999a0f7d46a963b2aa831bf5f6030f1e5b1e3a491ae8e7eb6c314c34ae857fa62fe55b8685cad9ec6ab4cedf5b51443d33b0e5f421d1d853787a1d0677236ce97e05cec62ece96b6f299dda7795ceb71dd5241bcc2426a3af3a886fb274e97c8fe31267e360b80b0a95c48f234ddf55148d3e3c27af7f797a83e4625d185896f1c9dde27ba18f64c10fd2fa7aea09a5e93845c0db1daa9651bdb91bdf93cf60c375fc3b97b2f83b1123dc53f22d301938062f61500c025024406aa7800ded9b829c8ce8e878c7ea5e614b6859c59f81aba655860af84e76fe4a9a79784ec42a97c928361885ec0e81c3b888370b280182f34cd161ac6aab64a2a1b10cb58fb85638159c158b26cb37c4f5e8e93d884f96797982c704730b4c2c7abf202410dcb63e9c4f6bb0a029ef3739ccaa0dbf105f8010ae54f6a7ccd2066ebf913cc25dcadd5b779dd0b048d5f74a8768efdbf1f010417eef70c8caf05effecaa1dd5e6e7353a556f474406e13d37abd410b2d19575a920245da68b026d23f7d56f930bb4a2ab1825ced32eeedf69a6f7b4fd2b5ed77d28de4dfa8131f5b0635b981282a10e6659ba0ba4ce4debd034e3178a3419c362ceedcb5b45dd109936a7827535faff717dd376b1cfbf9f831be6015ac38afc2cd884dc51d8a31d9ead32063e3dbba8e227e87378a1a65c8aa0ea9176cffc137aef926dc532a62441282d41d6ec0d2689427817f3c9ab82d138d854a29b93200e7a5365a822c562da8b593cf22cf93a5ec49a6885984c0fc0616491a85465143d3c1233f453483d144f726f741ef2a1586b9b85b6303c583f24373ae6b186664852a03829952384a18c5030866bb301e526079b4eec1343c4a95d41e4068cf9f7b85774c3d5bd2785228599867a999fbcd54715fec77e7041c9051c431f2d07819dde6a0ccc2fb95bfbaa7169167c4e006835aaa49caa8569f6fe744a3b0bf55b2fc3d4e228bde62fc6d9937a13c37ebe535237b6a104d90cbfdfee0cead92cc17145e955799569986a2d129c7bc39899ec8f7e83d15f11755594037906ec6e0e0a7070fdab775dc8bcb5c47ac14f0c79361bb747af171ea04ef356c21d391039d0d342e9e9e2c8623d7320093de12de90191d457025ae957d845436f12f7217ce7d6d0d9039aea138d7da0ad3af3f7876ee52fab3ce1fd9496a732fddc789ae8a29f91798ca7a83c9b9ee7597a284681fb8901700a111b8de8b22cc9ce1ebd6bce6e5b57512b53b01d3f286eecefe57b23a7ebead53e1b202334615bf8ff0ee6ca917c5f0dc2742d765fa7222670c51c26c3aa4b1f2169f2aca243fcbb8d7d9e1bfa0e345fc4c0b0eebba941ea26264c9f1b2b7b6d345c87a0b39cda51b2963b10ef027c73a5e407a908a360fb4bd0748e76447f0442b35eb64102e147fd95eb2d6b73836f273c0be67ca8223d2300c24661a175ab6c871f2b466be3ad98f2a1262b73892c36809a3ca31cf93c14712cc8027760b60f2a5858e52f6c2e4cf79f256b7d98ae08b16bfa84433117527611bc4da86317d4fcb4b7f791c1548d710b2a00dbadf2c17ead7d1b2a1b0f81831a0aa7d5f22f2468be502e159489063689e7b5190fdd244eb31752b958decbba925b9230002133601ca4872f8d14a836e8d64b8fa2e9a3b1ed26b48498972b95cbebe9a7d954f3f3b1c90a57eb9387b36a488fb2039b5149745ebd411aee445ed8c068012cf0dd3f632bc1adf3b0365aaba69d6ecd91caa0d308a25307b7e129b1247fecaa7ce069b50e23794fb150b731c8549d44079b77654bc1c51d996e8033191656e86c7369d4cd204702c46e2b0bb04e157b2ad3b859ed7b26e6e7c14b91ba3384a402447056b3f86a7e7691fdc50f0fb13ffa5414ce431cdf0838102b11cb8d2d353f37a24ba737dd2f8715b12dac422949ff383007fb0938cd0ab87568e22aac5526075e968bec0f052ab63b83e56e05693b70a9f55f9463736f77429dfdd433aedb20da7aa9983454b15e41e40fb52e4f40142b07cb9e0a110f06b6ab77b4b4cfb3bb3cba78aa13b296d83b8457b398d18e978dbc2e808b845a7b797e459fd014f5bc66c0827d38d87fc0771484631e86f8384ac18c271eba7f30e811cd0c2dc4e969e54cfcbc13b85598bd3f22dd90b7e3a1c93a3335263fad308e935cdecde204931d021faf547fcb717d6200b22a10dda68a3a579cf16903da40174777e03464ff6aab5dcd99cb08349edaa87feb63b4c93397f1c831089afa4b6d041734b42a79e41a82ce69a43d1d318d106b398ce6d7b7e8305fb2d6b249effd542f8f2fd36fdaaca953cee088664704e8ee069de69aca1228e392453583df16cf5d8e37a3896093cc0056d4dac343e5fa815d17c8f57475551db9bb30c6b614f655bfa29e4b66051c6bca6c91ee99853f7bdeaf0b53a8d3eb52412f2e14696f4f90cc316af8d7bbfb32b6ba455e44a9a307d57897b02084cd41c2474750763cfc3eddb1718fe1a344e39f4e8073bf12ba5bb46442737655a569d8de16af9d96bfba7a7fcdcb9073a3380ebd73fc57b5489cd08a6ed06a05187b57e3b6f29ebe4d960bbdbf6f1b5694272c9e98cc7dc94ebaea8d4f0f41c0d2a51e31829e21d6b99f3ddc34a968262db95dafeb0af9da63a67614d98d36eb03576d71624a371572b7702c3d13b8030f7e0772638b1a8969ba40ae8b0b025bc2e79bfafbe22d5cb5e614a042e9a39f61444a09aa1a7b222c038afacf47caa884ed796db1799b869486f7736e6adfa74ab14d9984e69efa7d87efc763f4ab37ee0c771fa359451ff3b7160d79ca3d7d8249d2b035c742fb58e941a337f6b445759b60cd7119a8a320b6c9e9bb72957280567d3200396bdffb057f45e7b4b5dd9eac384c7668d3d96145b841e1c4c2f79b27db399700a949b69840996fbfc9c4c97b8454a01cedd23915b6f4658326c91c948c3399fcb4ac0bcfd9ea599461890bc44e72bed1b14680e99d0b477c4c40060fca114a739f7bfc9cbd9f68a7023aed0a9c997d7f41313635559c3b1a77315a7f7129a24e7d5938a7e040413bd70c156e40f06ea4778db415c101c47b399247956709dfbdffb8c6e4c1cb6f66d7e6479588000f46a81c75f5187adb531a5b86da68d5a42263133bd319b102aee2a3111ee417abe931040dfbd00dcae2ebf4a59828147cba1c7220c66bf1af4c0c5ef97d9c6100a754aa8e92ba0756aaa8d708cb0c7aa408d6c945d0def5c129587df874d6e27017948cafc1eb1179e96e500c68c5f42155341e31cb21142ce76a0208c393932a9e7361107e498eb79a10ae8e227b310c289986038e2b00346cae4f109865df4a4d56b3ec980fc9756478e3fd49fb1ec1330c74dfe490e8af320dfc5d6d1095102925577b5367269700f0121933494888f30cb88843f17619c678ab3269f938a0aee7722108612729502f710a0225fa0d078197aed15b97b7c074cde36aaca5d963eccffd0774b8124161e039d7f03f8dbf589e704fd51f746a959ec7b3131e80f1678cab83b4064cb88b72af3b7bd9523c0236c16ce2883c730e7c3f1aaac1d6cbd426a6cca66aecd7c68b6a28819ae5c6f94918b50ba4f2aa9bd8c463bf6073a7eb6ca8d31c7c2f03c6d4611edc033659f0dc5015865164f967128447b2b25b5e59ca8a71ddcbc96b841f1ea37153bae2b4260f6278a73d7637434b9471678685c1ea137a0b632d33de50cb4f8054a6cfaed484c03d789e40b4415fe1ad5bae52a0381e6946e2c9609f53d297b4f0aa820fd55fa9eb7cbd6e156d977d16db41c4575b586d83ad5258e7c66e199bdfc3ed99f15da2c0b2c778320c071a07b4b8ed5eeb58f76f413f13f0fbd94a26575102465ca154b2d457bf9bd2bba6be5e477743ef4bee5894e92efd25287e12616101832e4decbac32ef62dcb210c6b9031fc1c2badbad197a3e1d79977acc3ba130ac99de6e9243a389d44cf41042abc84341735c30eec43c30fb44be0a406ef22b38dbdc0f8c20646bbc8585d3767784081192cf050178c92cf7309a264c4d977cce37f6a89fa188177965e9eef094be684f8c65f117321ce05987eee545812312cb41849bde93344005588be1fa129e21c62aa3a79dc4bd45f364f9e5246e379be8c7c6396e652de6efccdf38d3adf7fcc905e50ef24d1b7a4a35c27f6214033889a5318b808d580993db4ece69b894ce75aee932313cf70875767230bb0e357372acbfb404bdd385cc1a717143d703193ec4f7de2aafc9a050bdad60acdbf519097ec0c5b8f44cb59c5970da181b1a804f47531aa123f6fdea3116631d94dfd443e9a920feebf24dff9644a95aed68ab935ee43197cc0eee3b190b78d4edd43621d6b175fcc51a41bd9f3cc9c0d9352beeb87cfda354b028079b6838a1a092b18c01daca35b85bbacdf058adebf4986edb36bbf24abe0dedbb4d8de3ceacb6b3a19994fd4097364d696fbcee01691a53215a984ac3a45452784ef56edc8dce0cf9296148b558afc3f850f954f71dab3df9f43b1514bddbb2eed433ff839d61ecf0841b61837cd56fab023993db7d93ae21098da630325888ad1b622dfc851bcedd8b3d6d7a82414b53b63538903eeb7b88be0a283ec631750fb7a9b3b4ac438c6e619c9786ec1d6d592f7e44f53249288bb12e5bbb0ebb2b9230473a36088d9fb5b563e1607b4afb5605d3e3eb720e49a7064bc4eb2ff57024032465abb0be4e78057b69ff2db452dad35d9ececcb5928a068ca6508345193cb6cdca5bb624e5f8e2b71357f2b7e4054da70c9006aec63b5194b363ddd8b652bd0c766cd0a81fc509d45a7dc255a5b793a02e9f0e88ca0c5ec6c0771787d81f5a5e0088f339cef51e39a77df28b745eadd9c71741587df52ca3f80c5908d9a8c23e0ef44d13eeb37c747d45b0bcac0466fae1e31fb3ca30eac8d5984eccd5c3a8eda81490b784ff379711332ef9eeb6b7c01ee48cf667f57e80b619b62c2a4d62667154d2ffdecee5b53ebfbe4fd2373f6be403a8bd37ca771d69f01529bc4bc2e281a0250d37d521766055feefd4d649c05954c50a0cb3e5bb072c6de55260ca1d3cd940abe02a393b638a0460b8f16c868f6085015c32041df39efb7ff08d25e54bccdc433025e19042ec624604085d417d7408e69573cddc0286692d9675e9e4421d11b73f8fc427985aaae248d1d27bd50a81a047b606449168269f6adb8d398e78eee3ff90d0b19da6e1870003e1393aa4310c670d0ecae14ab48aa44f15b674353d7d31addd61363a515aee098fa9be0d584488a287f9bd9e55db25bb3da3f0e0db8268614d9a374b7dc36c81e0ec1b0c87007fd91e1062d18d46002a92c4ad2c9724ffba8f82a0b77d3334462bf3a5babb73f6734c811b6ef96a7542dfbe8d201223a9cb6e81487b51d3cb521b83abcda6a982c2b4de92f4e9e99f99eaa2d57ac3dcc407f898f7b3a567fc74219e882c27fbcb619fea6fc3bd227901f5c4f1838e29c88ac3dd802ec6cf28e253d44e3ad29bf3b3ffb4f9c21844d6a44e13f8238b39cfc097d2ce35775bf5a2f92c20ac4586cd710b1e0726608433c69a4d2256eef99a7a4fa6755582f4293d530f133c0f71f11f3831372844710941e99037ab9b07b27e2290d72c74d845b136a33a2213d5a34c77918c89821883d1c63a61069306c0a4817505719d0933ee4966e721b964ee24e475ed173e3b946c0cfa4fb026305ca2117ae46425026d581d3aba4f0b592996286be5575689684943ac4bd905ba8305458b0121d71aca9ad2312f990385bde49b591e9a4bf2d870aced70aa03edaa80f2eb12dc8d2da9b603125180ffd8d32378d90a95f738c5935af0a34664d9378a2e25bdb95fb2f141d6366feb4622372c16ca4a27713b96432bce9ed24e88a8ae9a4b9a8c7485f4895c7ad7a060df01f321216ea501a649a60c035da8f6940af456e7d3ae2ef28db6027280e81fe77108a6582ee1271a1798556c73e3046cf84ff3657f6f814ac6dfef5148bde064c787405eaed4a2eef8e922fc60f7ad57ee8d2bd0797d6786e26230034b7c6eafc185a7716564c322d8efd8f7d5455d45f025fc92f969b1d104a9e9042ad7c5c698c3dd9f7c931c5e5c0c4995164fbcf172c1b606d4162c99b80e8aef04fc4754107c94c8b9765370f1182006198f4e19dee485f76e763b8ca0e7908ba77310d2b3278b76633917e54ee22bec9eccc6464dee8ca749e7a7eea04f397e1a3edf11da4d417a050dc5da9267d888c0e02a04c4d274637c6976f11276ef35571eea278096e5baeea6b68bd9ce8a616749ef91f373c043f63163c30d28f5e328b4a1f6c1fc2e377c8a235d09903ba31f4d7603fc2c7afbd489a5e0d92a8d8b504990796aaac4f74fd217ca6d96d36a5f67ef68507fc7bdb8f823516d1eea670e7b2f5c348b314296a1c2a4f32d901f746f0bcd28492dfa8531a8144c5e77cbb548bde8a9269da1c27749b5d2e90ebd4e77394125e8081e2902222d7331bd80f4cdc709012c8adbcb8bc4d31b8b9c8525443756a98880f6f2fa1ce4f5ce588ac39e2fe8c89990a2a3e84e358eadf8bc3e2ce17d44e171a67052d299955b9654e6df0002003b16d6d455e99ac978bf7e101cb333f6dec723633ec7e69224b89cda49c1dfd0bfdd03ac287054d4cfcee22acf13ec992a600192215f9209ccd60e9d6aedd21b08c753e1b610cff5ffafc388ccf46c8378a13929ac62e05bef07f3cffa2d9c0797f661c8098562835192c3580331e3a42333788d13b2f7689f900e88a3fbec14977fa053b84556516f558cf4ae05be795d5f891e5a341dbd1bf44c0bd0cda182d89636a0af88873d2ab2961bd2d93d67e49b2b09128330a9d5614193d6cbee7518c59a91a1aec549eb8513cd1ac47b0627c61e22941d5f66faa3b7d188645a28ab181a3740d3e48fae1c80af1d6b80b835200b46c668b25f22f3931a4cfa3b011c307154966d7752a1340adf38566f7539836b4d7d42cfdffbbe720b2e11e23409fd6c316c8e1d30c0a4974c9b0648396212433a1e2e86f3a049ba0727ecf611062980b6d1dd051a0d6eac45f93e6326a132163cd77bea4d7306dfe40fb1db70e693bf13856e5f610169254764044abe7bd8580cd08e16fb8507e58877c45c3d6442f80f92a65db781b1e00be2dfe532ceef8f99b45e90375a48950320a228b6f4242e955c73cfb29ae1953413163ec0074c3926e5e3050c3a2b4640e9d068ad1148965e26573844dd64bce5cebf2a23f39b204181ef11c1fb3b53fbcb609696e0c0cc5e5e916f7dbfeb893b32a0b1cabb5bd352e5952da76314be57303b9c0d76787f04f17f1729cc0350fe3affa28345d4b8a51d74a4f29c9f130bdfd5cca9c484a1537fe163081a35f0510155f97f2d293b731230b056bd0e973a94bd122baf0804a7bb604ea4e5e384f3f23223db2af993ca0fc636c9e513752dda28bcc109833069feacbe499fa3a9ca893b04c6328c508bc4a01002878ef0780aa3fda6b9aee80a27603b624367d02d65ee3b11aea75cbadcefcb74d3f04e0ac1470e7af83f2d6eaba8f9018962ab24e04fc77d3aca1b7546d3d22404be2afab3d0a41cf951ed595eaf3ac7e4f01c64b2412fd7f2fce2ae118abe81f2a53d928756d85168e605fa95708481ebbe994bc427c5e7ffb1bc5233bc6e37f1901dc7dee4f87d4b0fd82a43a59ad815f3b80ebb236e063569261c0de7c3c625d7cab4b6fba7fd140097b5c885b1625595d10e33df081973df03eb861fe74e3f97ac7544cd36ec55d336b735cf401710480ae4dbb5218ebbd9bcbae11585ccf764d524063a92f2a854062ff09045f07f6c6027d2d5cc3ee3a32b06957aba7d80948d49764efb6f146a64c521def21f84c78db1c43c8f0ab3ff13403c67c1b3037850b4074bcb70826e002338021b540e5882ea8af12e1d7f9968c03d3c6c5089f935b8dcd6048a27ffb3594d8aefa7aa099d74f7bf10ac27916981d9fb134c33b59222bdaedd9076e6f18641c12ab7e24f5a2350349e72e0ade19df1bbc3d5ca86ffc602557280170d1db437fc2d717090fec6f5600559c55e386c57d01de2f76ca8707ab8879e00989bbeaaa1b416ce0433c96e40a76818f736fef81e0a2c68f5ab240841beb96545e2e3143d06d37dd94d5e0af0d9396151eea78b71b81fd49472ddfb0f4b4a1adcc8d99d8e26f6cb12d8760694374c16870bc22672546883b01e6f9472988f506a425a7df6eaf62b06f774c514edb84d4583fb3d1a7b396f55c367aaca99760d4834b07b4c2aeb8d0b76a26e05a808c86d8ce2dac8deab2a90419aebbe6481273789f353c0d7ea1a3ebd30b6ec88bbe4a403547ebfb8a34993b868abd942cf0caa42b3a64cdd51aea36b94a2c556a2285db3e9497a3fef0d8c0a3d7c767eb2d15240120e2c6716f5af316dc5e8c00938451c75d64ff3d039d44ad3692537d091ac0fe740ce6fd6193b357c7efb623b8945b93808f1764d51c2ba3bb0957b15f8b7f98cb34db32123054a82767b79e2710edd4e8f01c3a56cbfd6952d6bd8c549c04657a8f144b6bf8a87fd56464d8f6246a081c656cac87664244b41be1e10b1a5889b57f460eda6fb86a15ef24b53a949d123632f51d96909be3c6a1c3cc4f704c56fcea9dc7ecf3c7f549fce867e77aea99bf3e5d11f1238168acb589826c39b6c3fb997a1b791237aa207ad8790ec6258e61bb2343b8f0a743d12b1e32df03393c7c2a5b62664a641228e6b1db930c7a4f370212c4d7a9095251b24570e4d1238eaab715fe456e57309a15d48dcbc497e1d444096d9ed9facff9a1b42ed5c0171a418a135fed3857cfd352f52127248d426db22e6ff81427dd3e009b5e1bb913bae417bf6754edb72e34f33d242a73d76423f9b4a01ae04cd54826461ae78017ade68d098c5af17d8e2591c63fa7fad49253291f95a35df352a94f9f409404e39766d0d39dd31d6144a6b3a7992897b977aaa14a99162633bb7efdd459a08d207f09bb31abdc41c97847bab0e30645a003c689b07a6ba4949df299aef1ee0334b8026ad2c8ba5bf919ebe597cdc4bf44617d8ef6f989c02683ba8241e53ed678535a862fd82a90a4893f262bd77af319e9a1db487c22266b8620c7af8d6f64f0a7c37952e26c20e0a8e3af43cfa11714fbbb523cd05976ec0cca08e7ff100c3b46865b670f4b8b5a5a423bd5ff497bb1c64404c7dba6509a84b7c768f13ac70e9c9c12d63218a760ff29da5373d8b3416292a6328d5f48b412bfb238c9d8076868216b8f11b66f5812a1ab8229c579a801f5e8ee6352931d374fa21ffc9e7448cf67f40239e2f01b2031ea7c841605c9eb59df7877a502e5b031e2310003f93ef168a0925761326a906bef29b94e536444d28260c45f2c293e29b785f80785acc50346df69166031ddf7f7a8b7d974e7fa469b56828f53aef3bcd71f580ba56c82018d9fa43b13f1d51def6a364da7cc0b8de5e73ec64dab816453eb337217f7a78674caecc0c8aa25df7b6a951de4c2610f37576ae947c01bb5fbfc5ac4fb3409a2495921fb268b9dd7454f7df7eccdf88685fc0632be19b5ccda16191c8f27631cc9956aa33c157cfc09419fdc8a95b94b27577669ca9c3c36f36f1a3c54fb3ee90a066394560474935d72b9b5f3d0ab3285155395b923aea2b95d55c098d48a6e1d7082a0511679281b5a4cc97f845374f2417c6e491d6dac79434e8502da335f71a239f5efc3960f82805e00bea7f6ce301b361e76be9185d8d64182970cdc958ab59371f23f755a04ecc351b20f8a5b77b789c01d7af3f99629f7a0e927f601a2a05f09e81cdafa7c3b1ef4de6268744313a571aafad4352da3abd6f519cc331d9e1a693659644d811b58683d985f68a6c38b757996e7715fb6c2cb572021c6cbdf80d84d88ef31c6ccaaa820d19d9345ea7e75f78bc05fce6cfd7b40fd8e0998a05b7902e85c1c4ee408e2dc012e33259d951ab83eff71bd039ce88000fbdfdc01300f5c6a80c96765df938d76c4a9d7bbaa804c73504fed45c13712eebb8658ef4535e1de3216c2281bee3f9d6b43367906b0435ea7c4a4001c91c629057368195e6cf50969235d91306dabf652d9dc9a3893de48d2ede4d1dd1970467b1f216164e6334790faf0cb9c87820f221e561a42e7d539d79858ea5444d829811b69d81d4be88eee4e97b11177b4d900c2ce7171d1131016262766fbdb2bda1d37b7cedd2ef42637aec26122548fabb9fab4489f306ff9253da6af5bb9c4435d2f595726037f11940ad774c3dbb7f44a60dde245d81f6ee794fa3056a1e2c2779fbf7fb552cb9165fa14ab72803db60befda81405a6d9bc93253334e614acea58eb88920c76c5d3f0246dbef9b001780daf503eae188493f1b83574a4723d12675ef1b0fef9ef65d00efa393f354bcf3af2b5a610730342fda438c78892e521a1325f62bc90c1a5d26b54e2a809efe87e2da2e4229c742a5e193df54e06f61258b835771e532c91cfae4df4039eb817a465f02e40a1a812a8811778e47acdb125908d7a0a314f6aad5abcaa1ce65a4919abf1e4d2b6d8f60755b4040aef1e14c513686cf96a2a49942e1a05605e45e8952ac73e640605d4d62525d78fc6bd6a208ec180e58c655a3b000ba1225c04b5e6f689bc3f98eaf367ec7ca1470aa8e0ddb57f3b4f4405de163e9919eb3db4f9c3301d1b290b55eceb7d286601f007103d727bcce14dfcbed43ea3aefcd6164e8623aaaf86055f8f2f85e5dbb1e77efd91ac88f01618056568f8df11280666060ea857ed5b183eb72d71ae6523efa0c8745a00e01b82be37188a93cf5c80188ce421ba94bee257c0371b3b6d9eeda5ed937675d1408075d9bb8455bfde1306716fd8d20cedd0f29c91e5c46a0e425e3532616eb60ee2faad1046bcc1cdd55104c4d2264b9f9751a00529f0497104b6330af22c36cbb5d4ae37a3a7fa17ea563ac70730d031ca05775d03452351ebc5eed52df0c225dfdd7043e44302a543e8b7d1cc58be79f6577fa02e73d4dfc063ab317498971794435b7b05c627aac8634dd6648872f5c4afca11c1f262f19fdd1263f62d5e57508de0a3ca121c17ce5b752384527b3bb585700741bd501baf07a017b9a51b25f398d34ac53569a16555296b547250e45e4f70595010cd7f67e5c78ac93a1dafc62f66dfaa19b5bd82fc2ad78d59c34d3d73725e2e5915b7888539c3b66c3ff155d80b50a79916762d8539c69560a53be09dac38f3a683eda2152d8261cfdb75de125e3faa3c9be4d47f9db4e00d85abc96cf157cea0efff5aca3a360d6504f2e50f57ac50c251ec3b7e1b728381072cc47ba011527bf6cbd752bacf0f9521345c9fea5ecfaccf8502b862527f5b912864fd9082e8b902bb249967710bd92dbc497defd70c2861588b93c2564421ce4d6fd4a4cc4da1e6999af1313171dff2a6181d61dd3dad126e0bef1ece9ae2a1ca33bf12b1c9e6becd42ebda0f0cd8df0cc3c4ae997233234f9d396b2098ea4584f167d71e2c7d1b4686e6dffcd955ba53b794b83bd84295d59cb4305db301020512bd9a841f93d62e1f91fe8fb2d94290bed21d50394850b5cadfd324159014b1406a8c5a491d5a8600c5fbe82b202370ffcb6a5ac5e6ef4e827e811ad1b04f06444ade61fd2773f5bb87c9a0477f2bb7382427f052b03127b871ac77c497bae54d268fb076b13004c2c3561d17899ab2c971c9dd19c0576d4555908abc619245f66ccc27b7052b22d694aebd439a34a3d8abc3bf55710dcb543f3e507296af84114554d43bf77657c543e23acfbd9223f85598993c9d14dbf03ee81ee900c93fe9e6742672b069372adfc73312b78a294c47264e8960ab2c4d54637defbfca185f40124c60267247d0d5d3a942abcbb5c293e70ce5cc9503a470ee1f43871ea105d3363e0ef2b6ee030aa16b35f3725eca0fb00eb5489e6cd44f6dfc25e7eef6f35e67d9d0b497f5b2964bf30daad178d07358ae3f11f8f1ce6aed2eb890ce0e9aac2667c5d9892ff908b6eba39feaf2645fb7e4d24ca1e1e0c78c53492b9d626cc47b969daf3ffbf9fdde387b75ff7a35263cd75e406af36f217718daf559378c3b3ff6180da8b74d810b76383af2a3f295fe7344ea7fe44955164dffb909123f928bf87dd95f5ffc50b67b9fdb43467c8c3909a8918afeb47fbc91d94507c3fd29d0bc3bc9ff3a144e0f8a570cb76d299ff0e9cb29ffb7f5a5bb2866f1345f3916d3806ba1f0f1a959749f4d9a6bb62c9282fbee463712b2c35602e27a0ebfef813282c4beebe88143e4a73010225c8f5dc85ed233efb8cbdea04a2bdf24916b832874bf6ef15bfd0689d6e25623afad0cd00b771bdb8628e503386d432d0842de58d8561d2009214e65c990a9c22c18feed1a252f34132d948270a6ea84f36156a52536bf9e899119b5aa7e5afaca5c2af48d0eb152b18173f111e0b46d00773412ded5ebfe019654a15c44c7937bb90c384b017e99bd175ac3ceddfca311f27df71a7adf40ad20b2a4190b99500888c05decb621f7188af5e6f9c21e60a111584d4d6b0923be3c8d57e74a5bd3792c53e10a9b4bf2367c6e84f3c47fd3d3f54b912c766ca1b926908691690a04891c3f77e9fcacc4023dfc08a4d7518d8ee26301b05839b8c911b4c3bb953f29dd9e7612c061d74ea664ae873c570bd1ce21d77f4ef0cdae02c9f74cad62f6c480c2a9e2de324b4db5c04764e32f2292799a47e47d90a75fa2700ce9cb6f89a073dcd950ad5fa0fb0e07a6b5f032d34dbbcbf96bfb97b14e639fcd6f986018492028b4466b434df31c61269389adb92bd0ffe681e211562b451a63fc0ac07f618928b5c3d235f05b193a6b4dae0c61626ebc8f55b2d7687c7bf9a4a8c4a8e537b35d62d03bc18eaf92f6ceb72fbce0bfd0df9b1abe08c0e25f5fcb86dea673e207157e340dfea13ec141092e33f9fdc75790d5611425b413e21df0a0fb324047f77d5f366499456e5e01602977a0fa518ea42b10fbbd16e9ae2e6301265f565b41542c114f2ecf12501c7414b16f066c8a6f41b69de1d6d5167eb873a6588e6d905303ceb73c1f501af2ffa9a5df8fd5bc83d412d74c2245f7a5ec41e2c535dc57c2f1626a46226cdc53a0fa6b96de6d2da1c7235a613e1a5719f6b53d69f4d2d3641c024b9b52e4d836bc920d5765875809de328176ed45fa8a8f97846109162c1f587290b575bf284089996ff51b01f3bee987e5031df9d37830d839c52ed527d952d5dd659d4de11fb60eae36a42030c698f38b363ab22732c8ccd267b7ec0c278e467ccd51259db23629095ed4569c984c8680f74d745acf6aed2e28274f23b323aafc31558b5c7a5469fd41ea08fcae8041b55d927bedba3b851c8af0b0ba489431a65fbb73b2b1b3c6c2498a673c6c0216eaf368c8c821f0ab586f21615f4e5bd7ec9cb6863e364538dbfec68f3cd9d720a187595133a9039eabdf4ad79e6fc5f6c393454ec922a2c958796a5ef01b65ed94bc2663e8c0c948b8a6b52608aaddcb60ef8b46d5862202ddeb720c63eab13ee60e5b2c2dbeab78e372a2bc195934f77dcb273f74279bd62da26f3cd55c0c9d21ff39edd6d5012c2be804b56a1c6f1fdbc5a9c3af4246d878856588e56c0d141cea154f5e07b5ea2cddec1df4ebab505bd21e0d8044be5d05c67d516da2effb33bca32d8142621ad651f492bcc4aa6aa8622ab5161dc81d59a1ebbdd3a6b1d7e1960db00d069336f0a967c00872d199860110845699b669271ba7ce31dd17ebdde5a45e731c91f9804efffc3e11f362254e9d33428ae1b35791348f2be99970002e6d99663f57837cfdfcab4c410fc7c94401a6a84777f2a4129983d3f569a9b97efd5a425f09d29707f51d499defb869d32a5598146ae837a53b1cd3aee733d5a92ae598f1c5fc3860350b51582d7c0f80a1711132e1d022e75d8899fc3796ea3a444b9f86de664dc996a39355673fb1139993b0b10096eeeab9814444291f2024f553df9f4938835c72678cd3eae8de4937a103aed1878f407c6b7885b56a53f7f3efd49b781806d01bca5493297be5dc736a11e61576b06f3aeb0984abdb577262b97a44a651970e79d2f25ee2396993a5fc4fbe1f43553ca4e819304041cadfa4476b1262fe8db056c0f018322a65d7df9e111d41b3e892d0ce1964ffbd80dbea69f854df326a5aa2427ca14470626270d968e8f94da64ba67ed762c5ad17874f9a5bb172f23c9b35d39b163852764e124837a708ebb1825cbaa3b9b3f6bf9e4f05fce80287eb7b80a9c578e1e6306bd12266717c7cb7a35de7e1dbf96a6e4c8bdbde55961957c8b1a1a93bd2b8aa410c2c3ba11e44c96440287d9fb4f6b970a55cc573f056fad9c0675f06776ee6dae7d41735ae8b55fadba2947fbfdd8c8307608bbff034999712e63d2b9cf6cc54496f67469f255d45f8a13e8f7a64ad9e00f74c0534ccdc1fcbd30338debae72aaf9daeaf54381bd33bf8dfe0b5fb54943cbb820b55ea59951e87dac7f2865b413d35e959d8a1fbe809db3de293dcf08ecc05224fb1811aacca44b46bf8015d639cdb7db8ae6280fc636a4921d55bdea25e804d7f69a4b923d92e42303fb732fdeea3a768c8d4114169b887d4b2380a34bcc151d74c01eff8e7200c638f7933d127791f47d64f521e462e5142fa36b40612b47d6429c79199b517e3099960ce9f4ff25b922c5ff9d73e9837301965c4e317a5ad56be439423506600dd8face39aa6b6164ec2007aa8f4b871e7a4be33ae63b587f312d0b0057ea4fc4c1409a39f5ea34747ef6f5a1a2155544202663961b586b051a005e8c6163f41dc5b378c95aa4b7e4b1d8b39705193303f469abb41622b1bdffda86ff829251f23767d682ec44420910be70607528d0a7803ec2b1821cbf8b488b0599d653fd80efdcf8d4cb6695d032bd5010ef9776e7ca178e3f08fd1ac2344946d1a5c639089c86c225e6b1f5353393ba111515791780d05612484bd85609171370292d8a1844e657feb3c1f0286c07f438309d542bae00a74a7f9b2a19490f049c877cc4177507fe883d60fc37ed45855b4f91da215b98259da834f164d66e5605adede49cb4cac64dda1c8796dc900e6168ced9bb3b97affa7692096fd3bcc5e2486208825d63fae8eeb3d1ac07324b4f913d1c1e825361b11cbe878ee499dce5a79e541151fb581df368a077d929857c1ef2619eb374287c72e3aa11546184aed65386ce7f2e43beb4421d9b8d0707c966af904fc48e0cf2fab0ad4a558afd5ff5887a54186df9de5d41512031448677f210b00ef290c2b9e72bd9f73dee7ce2032d655dc8bcbf60e2d516727e00a595c65a61bcf8fbfe72cc517c8f45d695e6c7523002d38f8e66d03e39f85462b1a6ee9ca1e4fafa2cfa2b24eedacd3b3d5d4e02554394262dbdc121b8841df96c426eafdf1cefd6808d9de37460ffd676e7302fe2efae792997c413aa7ac46b23ec4eea9edff8a39fa9d0f0f806f9f091d5eadfed7767ed66c8a23a773941f31cfb08f1e817a11545e4a1eff26bde240187b200c220d0720c3c8047d7baaa2a945a0073eaee92261fc31c581434c4fbfc1f5fc3add35e38cfa9f4f75f4645782fbdb295539cf400ea885623dc4a27a15145dc7f23fe1d695cd6c7c213924b7c79fe41d0070f1503b9e4e907602c28fa6c45284eae6af827dfa88020e5ad8761a99c3d1f6e4c8749ef3c7e876e6c77bf7892589888d7f99771655e5b8e3c0471b6cba8228c9e590823cda08f7f7145c4e64e8a24afdf22946e7b46385f18de9548c949c68687813f7f672b50fa895a1b78cef40b68c9e850ef18d066c6fd2f3e6b4ca389c21ebbf8ef013d579db8d86f1c68859984e846280d8459b568138c427da41dc35d89514946522ad0e727645af350e99f08829a861427fb7817d51cbfa9c58c98fa7f2bdf52c3fbc30e187c7839ab43d0d8f180d3d2c410b79cd57158c957fdff306b5bc94a1f09630ea0441d32006b31ea356e23c5be7ac244fc6277f39a21c9a17375ce1de621034b93bd40aa04b660424d0520b926da63b7941a6ccb85df5b07cea0e240436b91a289f07d0f487c89ec3549f930952aaaf4d36edcfc5c14f370719263ba67fda2c3c3d6cb7363016ef6fc67fa4fcedd58f98e3d4e54bd06296648fe453264ae9f359e6a9004cafa9937178c445601d2e2ae79123217ee8d5ce07afd51931ca7d55172929ae171d08fb51cb71a4e31e4ef767241397f89770b0ec72ac4bae5969c205b4a3c758748927b3ddca8af43ab9b582200414e5e512b9b0deff39aaa6a4a4900a8361db64a8e1cc53256d36ab42a9f7046b9add259d057daf1369db6c3d16c95f3390ab0b7d47be9a44f4ae0b1129343da3e5244e63b10809decc3dde79a13c9d374ecaabf4ae5e82969d4f549c01246e3e4f115c19baa6b51c52aed7609ff54af49d2184553281e9432e0a9f09b320885ca9fa8408df51100b534e62cf12ed635f492d1f5fe49d6c8cc36e8c5549948598f95855598f10780189ccd2725e5f5fa590f821029848a0026fd17c097eba3d81b9bad57c529c15724cc03cb7e6a1a1272e14c42967b203be02bb092080c3ffbc947a4b3748592e8e682e689eaed9778b4f2fd3d0c1741446506514b693f140b2a803bfdea6c316ba162e083db4a887b1b46839c8e53206af0482c9e7b4324fc390a2643b9a30c5eca18af92401bebe6b0bcff8da9e77effedd19102b5729b153205d6d61af6c1285b921ce65daf13f96a1565ab68c93e6bc16e44e445ca422b06e0898f6d20174e6a238203d6fa8d80a5d0f0f8dfa62ce773db92b1e1ee02a05c22e6aa710d51202b5dc4f2dce47dd9dd8e138d3893bb0a325dc94584746d756ee2e83dd251d3102a9074308c2374b95c018d6c93e0e423bf4940d021e4da1d5b044f660bfb0a36d3fed600d20121ead246621fb7a53907fb71a17ea681c52929330feddeaf7f9a50f70e771436bfa474959e4fec44de3270b64b11c0e92d8e5f79e8ee297940ae017c05a6261b97b12d25413bf302c77274569ce73edc4efa09f12899f570ff6c44cbc259a07d355ea6a741bda561f995a28b0ce27a5b9793655ffcb25ee8ccd73bc574cf855e228c36a7e8049af3ee652bbc52d5b7a054569c626d40e1c4e92566ef0c345b4334461715365004cb247b611e4765884d899293b4a76d14fc5c7971b35679ca3a8a23be15ec43e05230c50321487d95937c65b37e45197ae2bf5b665443e535af9cf8f949a4fec72d852da218fb5937174de0ee2a98cbbaba6603f06011cc5646a0d334614549d8262b899dcdac8f7c17a005a2782c89da59f609eb3d527156024c5a3c60f57d03af552be0b64a3a1504628fad0e418057c77ea8e637bd8dcbd7c76fd20f46d2ffe5aefd95bb2c8d12b9d0e9e63e73507534ba85fbe46706669b39cea468033ab587d414701e7e4253227584f366f3d9ff56ca0c241e375c8e0c9251daf32e1d47b493a147fe79bf09f6dd8200ced4f10ce71577e7cdb15ef1cee9ca30ae47ab6d7035be429d1ae6952d0e6d22c01c16c2d523fe3d48eabe72a3c67a201e61391955bcc70cae68e1fbba3a96e4aeb1dac8dcd60b41ab0490a795153beb0b9ede2c4c335bc8056e9d31cbbdd11a8197f77e0c02e9010da42444e7bbeb05403ab4ecaae83125f139e061e0ef4ef119a5dd0df7c9f49835570468ea4bb8a70df8f223fcbf40c7031a5af312e6c6b780f7b465440f3aa3c864573a8fb8d0809aca348eb8da1ce0fa5133874e6b875bd15651fb9eb179c3ad19984552f5023b1a61a3a1bb84c839cbb40716c53a64406d1ca5a4fafb01eeaf9aa8dbc3083b080aba03b26c5f6651de92e91f2eb2033fb40bcf35643d4759510afd7c5c53001e3da6a9c70cc2d61aa63d8371a613566ea6b94a2be825050ecfcce3894cc15b6d2434652b100b9cbe11e6b1fd5f6bd9679d87e4b5927b7cac2d358fb5a339272323b58452f6b042e1af207266553a8b39e775824104fa38016434adec088f8e1e8b39464bfc68c4aebd58fe70d21cb58d23c6ae8106dcdf0d96fa21f83b03c5ad56685acd28df0c071f5ba3654d0706d86d98de0b3ec531fad8410868c6d753303c47be124d68da406384bc37b399a65d44fdfbc0b6b949c847d95d7c3fb34ef6da48e95b5b945de6453fcadf47eea643f76b02d1e4490bbfc75dc46b0ae01208857f5dec70168bfcac2be04221549bf5643c9bf1a61dbd8eeb3141a2c2b4f95070fd14d974694c1f5e4ed6bcb270bdfaa53af939e51f37ea25c3ae0b6d2baba3c8b398e201c57883be08c397b1aea8329a9764a6d1b773412377d15497329be33aa66960c727ed4dcca03aa422d82880251ce055a95cd1f933b5c9cdfc89cb219a42fe9ee81c9c2dd688781fe9b71b4c47bc634c0547f53e9bd1337c063b0fd8a7f452e3f00d505ded772d78bda9c495ae142cee21f24af467f6fe6e53207b598d6095a3a07094584f310c834e0edd40233f8ad34dd424da4754c2152c866765818b9ea442ae6e3fd37a35a2828e4a4ba8d579b012d82304d7b2dbca9f40f615180b32f75064e2368f8fcc181ef03fce18f18a73c294e30b8cdb1526e46fd95bf69aad149d78cb388cd1d8646cb88bff356af20e93ebbf54ff4ed1211127da4da5c5c8839310ae88396a5a696e1caa3e15bcb4c54978b29038a186962e70d1c5e47a8113aabf40722c47828950e1d3c52a435cd4650b456b6196d96214728ff5fef29b1f06611da769fc4f1a11e7e02ae04a725e49f888b40c8c08ea0e5200083612e40bd332e717ab992f6682ccfe2d260614541be98e16b545212f0527ef59b4fb8ec3241908f530b5750fca63471255bead11f3b00ea0874ec531c4d2c92ab53efef0276741e52152e35705bea1922690d7ef3d821673e0f344d501eee3ca599e6b89655cfe8829e6eed9a542c1279a5ced9b3d84001199205e17ebf899de6186a714b572b54958d809694d0ffbeea31574746c89ece93f6ebc8669222b77caaeea99c5ea2341b1be5cd0b07a87ce9390d8799ef329222e368ce58315a11db61b17ee792639e36ed4ce4bac845bd67ee0dde04ab3df1bd79573b060ef51a800942c8d0dce0fe80d0337422e3fe0b60636c7a77349c8db12224787e6b71f5cb6a1ab852f9460b1d931216f4fd402173dc47214ae1d5832473cf99af08c9a0e1a7e6fe85a13dee44529516ae7e3f7b97912a1369edbce44a88460169bee11ef885d5745f3586acfa86acd24140b8459bae5a7b52c52882d5f8923f2e4582ee8f0c7c783ed449c50bb5468838eae33b74c1ba15d764f8428b905de46499b9feae6005913aa614f2988d6c667be45b9a9ed8c938ab774e05202e3ee2f2bbf5f6881884ba7dda9b3c855a87f5bd321e794c61c01ae807aafc92c1d4b0edea96bc5ce676f2fbf4491d8ffc2456f898b01f3a611d238571c56c0a3091220b5dc39cdc35853756727460dedb291bf81b911dbb0818bf44e01cc173602ce096b07fe51ae69e1f9c5c8bb79527bc12f330f4d6686f1aab9046ac9d288b36e694523dbf1d4cde652a0d9227a460c292e62f32bcd0b7191ce03fd0602a5cdda1cd9d725f7f4c54af2efd6e3294e72480b510df32e95489fc4f0d2f04ed87a5727290e1e40d1fca8eec2437a89f0281483c84eb8596012c4d5959dd7e27620a0580bb80d9ae998ddbe5c5bff6aef1c47297dafb925cd3dc7a1796e05723cf048be94c4bb15f12c2e1cee9cd336976e10abfc0bdda0ec356402a9628e3147e2e2ebb9d525904df90378968a26ab380c4aea78d2ac6d96c501803ffe3db5a86ceff73d7585a2c7ad22fc706cfbf78996852783e20cc3ce7d0c5740695a2612e950c52d088e750e74be78b1d7dd1eff57529357f2548b3ce61e11dd2d4baa9385709980578129ca919f8493d3c747cc37ea92859d1c38a9498f1805d5c8c2b82b38537e090f202b037ff779c379ac67fe3a346140c2caccf99d8679651c83d7ceca05be59461a23c4291f0c9a16ca4d058a3c50defa0db0f185465c1b137412f58f1bb77423c95e14458ca3997fb92a70f5a4e591cba969b9d530e15f41b8a2318f88aaa604a52dab3778400d45744716283aefd6636fbc23908593065fb4676ef1004579ae96437e62dad4a52edc1189ba5cfceeac79d5b989e792b845d022066081029ec082f45059efdcc9f2f1cf45d998f439e0de1df6ed27694d7f8db7a3ceee47bcd90be88a24e71c7a7214dd9b01b85ed8f4f7b3a10f32ba0ec4e259f0dd71297e060329e9c3df73a2899ec559a03f4bcb824245d097a9449ed43a2c1605d3d59d489287ca1296491127b70ba6762c72d5e836808c2e20166ec12200debec8eec46d44c824a37b49f2e81e7cbff0739c7267240c2d3c2bddc269f15638e996f2820b339313d2a9936f67852d6271df15bc2270a1257ea223fe516d9a84e4251642900dd3e5696b1ead6dd7959d4d9106753e2f0d7d1d122713ae901606c624405f91ad5dde9bd434107e63809d5e6b60375216e835e39ed5c3fa40584224e4934839362c19584698979165a3ad5ba92bdb1cd471bad45d5218372abb5a9d6467ec91cda0504992481e8de655166a416af16f063fe2a01863cc9ec8b5e0b1b591ae815ac0841d065a6fe4ec1e66cadbc470ea52dfce6571ee0dca87f7052b55a1d5fcd2ae395fe3581b19798bb3aadd468845c9a86be176fc4f9abea5b5b7e73fe7db40065d05c38c2c4929a8b1ce70a0fd928cb9e98733792ce90e6b0e617af3cfa5661a689b1ee3cf4638e484cb44eba922e684fc9f4e45bd80ce5c5c6c9dd90e260c1d068324d9506dec4bb6c3544001dcb35624e121a5d2dd6f64bfb499995076f8c50979675e4fdc5e735d56d8230bb719b09eab1ae73f65d388d2ff67d6255ea1b7dfddd591eb1a7691889110e894e9d42f5fdceac5154496753df8b166f3dc53d07d0a05c7067e7460ddb4f3701ab4a036f6ab0e0f04d2934d7741e842395e3a74da90060c5af3c61fff43423fd8c475965bdc4fed24ea93d97cd70b69961797802a367cf57ef1324bf618491265c9fd8529abe0019f844a3ba2902b5f7e4c0681c0a63832e9de90a0c44bfe520a75d56a40c1c2a5c785510abf85291109eaf6fa44fd23d4edd0520dcebe24d96e9281e7ece78da8fa359960223a1384d3d70796e80ce99b9f29b3fd46b961b6350a9ddb420a523b2b21ea718c85688c723168258bf277b239057207ee173e52653e495167bb721e4fa06462c6bbeafa52ac515d04fbc93d0049ea5d2ce3dab5e789ab2e78687ca453f827d1c0da1bceae175718be1355238134701e7508c17fb6dd1f77e64e4942fadea4e065e911c937ca56950f75c6c2498a6d58ec9afda03cc7c9794bbbf4d792c2c3a32cd9b338f91a51202dc338371c0d1c550942460ce89250f83a8aa1cf32bfd6400332448c402be4f527ef978a7d92312503c7d837cb960db1ca4125b02c561fc7876e2066f07820e9e151cb15a9aec481ada7eb66a244905cc91bfbbe57e148c828cde6337fb35ab206e6454eabbdb665b0715f6637335e4696008621ff6791bafaed029f2c4a2d35d4e57f6f7d1e596321aa479248cd67c62a10d0678b7f082b1d14e740284bf7c4ae5d154cee5342bb89df75eb1cf62029c208a104d4805486a81ec03844de2bf49e945ed4acbdbccca5c246a12cb425291e079d94fde8d7a49db82932e4c0480def77ff551f431102491c857a7934c9eb54e89b2bbf8a20aae34d82b69da7649dc28f5b5225098f971065632616eef58436a48056a8a328395a0dc276a509d716a08a1b811178bface143c2a4fd370a01968f37c6379b570ee21279c8ff6ad00198fa7e4a46bf7ad76dc2f624a4f5756136e81d9f1831e4875b649f66d90dec18f70092612aeb3e940e15aef0921541eb6abac75fd1ad011ca567d40238f41412de33848473bcd42434cb5069dd3d9d38c4f30db368c9c5968805cb0583d5eda321505880ab5bb4da2832c274850b41738b20c33e7d11fb7c6892181537aea064063bbe1dbc2b18fa3df0580d9bd02bbf520eaeb466ba6d099a6e06b271c4d3cf14c301f59eaae0f0bd8c72da49efd56429ff32f1226c1cf633eeab22010268c61b7ca44b17899104da37b8efa939902f605d47fb139094cb585ccacad15816a14e2f81194e864bb5084d1845273092040daa4ddb54fd1801cdf8738fda2a6dc3fbb95d7d1d3e9e8feff873f076537c104ce8be528238163acb8f4af31a8db8aa813b368b3171a82a9a7320e14d721a0827fccf64106ab16d8e5cd4a94e1f08016b08df7277293c540cb64227e1bbbb0ceba69936328eb8650d737ef26c66e1718928502836a6078d9481e74f191ddba3eac823f831c8662003214e20fec9327fba27c72dc291290289593e3037baff5257fc9e783d81544530c8d84f3597b913a5a6431a6f6fcc68573c59c44b691d29d605a8dbc8626f037668386128a678b77d1b86735054440c78d88e679a9674d85d8d52913fd3406a69dd7bb7e496072abc79949d5a89958f5d24ba34d4c3f58ba94258c54f50f2fbff3dc3e0d5d67dc81499bb96566595755e2641adfc8ecda3cda3257c0a1b0ab98474956623ebd6be235731666285ca54a1993e649e6f73a58474171c70d98e9f342bd64a9e6c5e6ac31db2767af6f247bedee7d2b335469f3f47ff251b5e47c9b01695a906cd3a0c9f8e62ea9ae0df2fb2a760fb2cf5dcf8789388eab90f32bef4c92df7d17552ab45fd0497fde1d428d97b69814835694f40d644394f877a9ec7ad1e9110eb4dfdf38ead5d434122f8f11968053483cc443833ff7b474b06edffcce02fa62a3319cd584253bb0289df8f99cb32c4b33df1881b3c2a13ec0221a7cc5fb7a5709f1a77fe35712b2ea75624d2262e70d8e243e2149f9e7c58244faecfdf5ed8ef1c66295d054725b75fe98139d02cb8b7bff48d2a6da0542d7e869480f66aab451ee6c8415d0a620df2154591d3fe36d69f8e9c51c34153f79de2bc7f4244a3add68f2b96e9efa28f121c02c7184ff9b2eb8ce3c3f26072fa367860989f8c900b1fd0aefda6d6f6f1af3ff35972cdb7dbcfe5fb3dbe13ca333388a1950edb12da0437505b523a8e15543e9dee945a02e43bb68ae3c923a6f1e8b0f05e93517db54d87bd9ebfc8f0deb550dd4ab7b2dafc77a43f623dfc45194e0010e767fb867689811902a68592cfb8f60446a5f124891c606f02c046367879e1549c0a328539ce97724558c38df3740cc5c2cf8fa32961f54374ad43972e4db02f63845c06593fb7ef543e8ed6828a51d0c960ed3d8ad47238a9cf393020854e146d181e4e67c0bae41b4c0f9d752ef5ad4192956df492835a737011c16e1fe8cb1ce9107008e1a7db83ce2b4fc42a1e50de575b7bc244d526903c0dd66b78fc84472e43634197b948aa8dbc66329c915885ebf34947e9eb643002fbebbbc0e4f09b9c88423d2c701f1af4622eed8ca49e1380122551bced9f404d25f4aba4ab36c9f31ab55fb8fa281942c6618bef76c684c14fd342a74ce013cff91c9a8d2836b443054c8102b95456c671bbf7749496a2987986b93fad47451100d130feb5e9feb330762ff0a4b2ef96fc90c94f55ee643ea2cf43e622d77192cbbe669a41d44ed582ede1aa5d8bf9e432be3cb6403bef6c6641bf1654a492effb8f8c824a5715224f3db9770bfd8738b3ffa561adea548a44374f37b9539cdebc3162b3279deea9993f166d1518f356de1c09c123960b2753d90c827796015db7cd862acc88ed1f32fbbda4537ea704976f51a92e7467edf04565b3abc753abd81ea33558c074ceaab769c1ac53402c3401f32b933a256b967b88d6715bd76e044c6bfb9338b53a069b424390ee46623ca220c96339b1c09182749fd0c3de5e7f49be5837dd5376da7b6c5506099f5c15b5169afa04d681d425e656fb0713087028b3f5c08f5a9d91cdc298feea7084dd96cae700bfa57d5fcaf3dcb1d676d04f5e5d6febf1a51f2d3fa2abf5098939707fcd7b3d001d5d746259e41c6c32a9dda2091c48ae7db940fbf7e63bb08abe04e8ef30d230667cc2c804c514e39bcd9b0785f12eef9ca7e2a39776a1d667c2bb783faa33a19b6fb248f7d0d2999f34935a9c82a12152eb2339b304f74fe5e0e8d6c1e5f51582756f227070891ec97626204024f9105b855a5b5a3feaa7ffb8128bf543963d29e4460d61ae1a3c24b27aaea497493cbf0006e11e7c9a36b8278b51603a99ef7ec31ec03c7cdda4cefad49ab2fb561c647232d99443338aa4764e7d2e29995398ccb868717190a14bc17144d0ecb183e8101b7aa9ec5ee60df8dd664c32207f49163093512b9449d2a082dcba59e816a194faaf4cae55a38f98f08c406cf938179147f70b5b94f56cb2d4238f56497b5af9247c2d9ee629426a2c1d4520706c00ba6ecf95511f4c6623fefa49d3b3ceb1ce3bf6ed0411e4272e132e6a8b03bb66611ed7a9b1220b2778bfbaac09657749fcd6ccc53d2ebcdb8325c1d3de0dd41aed3c4109e67db10bc1a961b0a3afaf4e8d3749803c80d8658427669ceba2c61d833313a5fe373977f2dd96dadd3686ca8cb54bdb0d304195db3367ff7d26242d51778e962b2eba8a8374c6959a142c319810ed8f511d381a383a4996471d17146cf35fe7278394dc20b6e6e303eac309d3497501120b60487d0b060578384309bab691d9c177503fa4a28ff6fe0dd93120fced222804b3e1201962049ae63b36f54f83d0546ce1fbb8fc11d9a35bdd882864345099cffc801043b90824a7f42ad6fea6d06b0e5ab9f128539cb8cdcf330d2f7f0ed4d7d4127f9641cfb40fceca2ab67268e5151ad366fd25795cd6d3b003432576dcd283f5058fecf51e02662b0e2a6bfc272b59ddf287a98c1a08ba171c5d94d5282290daab117478ac3812de027f6bed61567147fcbf36bc1d6df774ff774de78bcb903d513c5e1df89811c59fece7aeeaa60e0cbdd90b6e7f01226add6bbad126bdde28a4daa56838b959987211498e78de6b0e59d362119f090408e112353b1d47268f42f96542af4393d4d0b1826b59aab94a008f7b31e4bccc8b4bdcd07953cb3f9a1f52475b5dbab7cb6d39e340a08224b7458d95f3c5634c8208dac228d14607f26ea6d724286af49b0ca145b9b1ddcd93813004cbda6d45cec9b9e1d043782c643407b6349404ca28dd6db569a383047c4ebaadab666384a317d98874797cef8dc391e61b3a2b743f70faeeef27392d6ffe91509dbe0e04fb90c7fadba3bc4f2ddffbedd0cec0a67f3fd84954b9584c74d677e052cc71247194f513c5f9e441cce7828f29bb760fd5de46491486161d518375544608b5e4ed4dddee7b07023aa7b1b493b8c0993433266be0bfed9713397415afcba5132dedeccad92014fbbf8039ad3d3ef4ab4fc12ad35e6a3e02dea3c4f1f2ab599a1aafdfb6b0a3a9538d06e0a41fb0592285d5bc92e0da5bc49bcfb3a0e14ee8279d6173217aac5730dfbd9e12e0e02333d1d09ce9285176f0e3e1274d2165159f249a49f8d495bc092412787f160ac710075db8c64455edf50d861a8d33391f0035ddd3419eb669924fa52493ed1cb4be6f9c38ba6cc23159a2756ba8f7032f7adf6842a7730a0755a6dccfc9ef87aa10da92ee853034ee929d231cdbf4d1ffa22fcc23cff6e08b01dd604a5433680151f8d0dba236d05a0eb0d3730c6ec8d2c85dc424e4bd374216c00ed1175345c052c85c44db288ad94d7a64a7bb84457b37e697d084431855074bb59e232982ae6ce35e2b86ad69e364791de4413fc588d6b88016b21dd0c854e62b46ebed3a934c514c95ebe556e3ed291ad716ae246f87efadad42bfbcafc05313caf7c6822995a63a62cfcf810aff8ac0dc97798d567a01393b2bc2775b043a5641ca6ce9d66cb6e26dec8895c78de491c5d71e8229c6868edc5b526e168ee8218bf68ad66fb76e37f3ce07ac1ea65ddcb427aa8f930fd5d368b9f41506c4ddd43ea15ec7739ee5d576f6efd774094487afe7fbafd32a1a57dae20e9d36ecdee5a221ed07f663e0c4f4ed313369bc0e923549c5488f43d34c46478b6700551b2706a4bf8296904e4e390f550406c2df0773b9457a2864c4d33a4dd323de06869a989d9dc53dc91c210c1cc0647a728bd7fdc87beb74e5ee382bf6c1ff59e2f41d05b3a580d5281b9cd23e31babd51d96a978a708f1a50b856e8a2db4f4e33d4c6c5d2e00bfc867b3a07dc58e099983207a92a6d19fa72faf759ddfa9936c9147652d02cb9c52dffa0e2e22e292e7841f56bcc21cf7d05f61f7ff0c7ad06d437d16769e5c16e20ab43c37285594878d63255355254016c89e08f1649a2c2a2ef2aafb8d2b143aa2dc2a06b70cf06db448553b2728513de2e3c7cdcf4d6b71fce5e845e8465cc90bf4b48cf827be35d56162c96e6bfdfb0c632fc9dfcf43ee4906d4d3d6062f3a11645c4c726199ee78cf49d67e7c14d73a2df8fd1473a74681d7fad554180d8ef42d57c96334e0ccc5bc1bd9801a900c0714f43032c9933a31626bdf09156b55fad94775d7eb6f0acd68143f7eac251510fde2647d7f856c38eb49fda719510ec7a7fe258bf7925bb06fc5ff40b3db077c626cbc94d4a063567100ae42974690b53f8c9d088c870ee8928768581b795b459bdb31fcfb825ab1de5ae6cdfec4b199908e7c8f8c5977907e9eeb26623e1d7d9f6f2ca6e60bd35240d6499491e4513d9d92dccf5e9ec098c839230fd22f7abe1fdfdb1b74acba950f9677a04832e0c4460f09ecdbd4ed192d8978b763d0fc91bcad05dc44e6d9b6fc56228870ac7bed18f2ef7d026697ffeb85fe9d0fc4a38ed14a23442bf3a77908bc9d3a26518067c94dc7d8e1885e434e10508b5128892c07d53b86493576bc31cb550db083af21577e3bc5f6de700df0c0c05f3372bd1bbb1e55a3e74b40ae0200da89956e57e4d1f512124f87453bd8c5825ef04af1e1c212bc00b63d60200dd64c536200449f8f1a458adc0959b4c8f797a1fd35a0eed4d0e40c46306ed38dc1f47c5ec55d11e045171ef5721d16964e0c8ccdb94eddbcc665df1cea8990b712e52c723b377ba4bbe2c6af2a4fdaf792259511be0e11dcf446f12ac59570006b68e79ecd59bd6c52dac1a8ae87ac44371b7922f3ba03a570de6d7a87362bf9067f8acd878dd1ddb046135be297ccd349e8c99a8e2ebef6a8b581d0b8a188cc162caf622e1209767cf9374ffc34773f26b4041a5ceaa2df901a38bd12b554f01f1b19944d0ee82dad129e7efcd304965f89c60f74d1a3a6476e0bca51c1d6f7c542327e2bb6f5aa71ae21233dc558aa9a229b4becc2bd846d7aca90b4ac6018c940fdc60463808c912ae44f4ca7a515d9c06d553e0993eb242845b8910deae80350b340f7944d2f1c9b964b56b5bd0d7e3a83cbe38ffc94dc41dac3a1834af0bef1e02dfe5ed34aad5049c5d3eebe22ad273458ad1b2f46872e436bc16bb2ac83a8c0d4a3d0324c34b7b29f548f19cc95ca13aac5822cacb26a676e66eaf332ede4517a0b09d04c6fe24563bc9b1a5a7b081cb8a478d4db4f5e6d7cb8bb912d9addb056b522c3b76618c79de3870c88067d3835f6548eb9feaf657ab881cc9259946bf768267047013be1f93507fa1d07aa333cdfd2724882985b7dc0fdad659fb02b97ffdf9214d8df3ac76ff1fdf13074b4dc7a01065ac0ea3a4f81cba51df7dbf493ee8d2ffd80c53376d199a99920a4a0f59e2b931ac810000986c582ca4c4f8ab1f06dfc1e117b288981e4dffc7297f5018d3cb795bdd9049a3ad46a0a8debbcd1351796302c3578d1ac0ad60e7ba9d9132e660897a3c310e0d19a2d96dfcd93a818bafdc041245562e0c71365e86aa2c48de2c6284dc279ef941a5426200f557aa2a749067918b3d08fb9f9ba7c287db1556c7bec31abd134be7adf260f3947e61e9451406427091eb86d7bc95ebe0fda2182caae2061250a302c47bcd3f0c3befbf3c9752c6875a43f36810fa956bbe4bb032ef09d7943da985dd26cb1947f8da61d35d416f8557f8367ea036eca93fbf0c963ff10c0093db965d35f1ce988c6efc6cd831d49b7530168afaad95499383438a40dd5744b0f3942ce83063a8f17a50ec9ff3644ff47e5b8824332d7fea47e1c330667692f089e2723632a9957a24ce4cdcdf4fb3298d5e66fab3c806e19041549e077829ae6ec8f56ede0481f92449c94070db25bd91dcbf4e025231d2068e1f80e9f32311bea81bab29ebcf787278ed7041954a27e51494b08d7b2dfe583f3e357026d7b77db8e052c5b0212682390f519dd2f5fb5179b03b35b21987aee7448cf68dce6741de66d032094c34f45245b6b305cb82be82bfe4571795f911b8c51ed72a3938b3706334da7159ed5515160625ce9d0051b82716ec9597f8dc65870374baa0edded1d753e236993b4bdd503d2c349e253263fc0da652e611b8119d95fe175f14a335fd321198d465394f984b53bbce50222b9be47f2cc98800d42213292667b40cfb1a5bd5b102ff605b2c8bca52159dd1d3d5825aa440bb8ebfae58f9c906fc78c3aa16a8635040e472893eed96a97b479b3d0dcbe61e3c198d29cb6701f4161e125ff299337427781a38468dd3da528aed3c7e5e070bbe97f29d067df8ff736ccaf522f93b773ca4bca30755bc2e23ded52dd89f9ab12b474f0aae166b23e072107df92cd4575e88ec0a454958ff82f6042457920edd35d5cc49d95455cb82329c84327224f49edad78aa2bdda9f0cc6586e0219d12ee63376948c2de9115652a9351d57d02e8b49e3c105d1bf25c636668982649bb81885504c56300820aba4c9db04705b965d7720b28411697f3b9e1f0cb5a9831a53118ebc15a572b47ed9eddaa738dcc67fdf499a466afaf1e78055700e154723a1fada8c23a8e9ac7e469010886ba055f2f5d2200a3f118914df7eda969d6209ee2e9e7cef3d5862d51fde73eb83943f6202d71e5b696b70f121ef9e17d28434c20cac81e9b4eec56c07f4867912b4c9d35f66b1b10a72715f2a31e80807a92e5c9711ab1adc2776ea6c836f94f6d3d3fedebc4e4bdfc32ac0b7ad992ee48d409cf4d66bab2d5768fd684821ed265a2e3979fde8b54b4b5dee301e3188b66cf1bf4bce1173be21dcef32351123264cba4db3bfbe132f85e66449c79a11574ec337c1802f380535652ebc3dc7558cafa7bacc9a4650ace446895111240728111920db120ed92cd329830cb220d8dffddd48e68795a8289b52613eebc0a28f4cf7b51e9b3f59474a3bcc8b77a00642378c670e42a2b797b3f13997defc14550d315350fffcd91fe99fde68d9e57194d55b26fc716c8c79ec08691d151a0e38fb0deb660173710735c862417a1209a00b5190e719199393f61d309f7e84725ae518cfc4bb5c5408a8d1313f1aa5d3a00d90746e51469231d847104c210f2b75dc777f579cc4e49265b1f4302f45aeb0047100ddcd8acb0e17c9016ce9825832ab9069f5090fbb8753121722de3734179a377525d6484228713b774b49aa5ca032ab25de5696a65d2b11abbfa464ce20e6aa78cd9b2e36304f61bf8079671cf35f26a436bb6ede67e18b473849d6b7a0194c58ef382e902128a488fbca06053396577b455c5032a4f343b8818fa51f30fc2ed8bfac0a82e1edf256351ed87a365f2a5b5d3eedb130fec5d8c8a9694f1ff32d933d75840393c60030603dc3b42a9c3646ef1bf0b44a9a9a92bec98552b4c1c66b5affb9bb4b64746aa102a3757b7c4bd0abe7b24b47a465337d6d52b7a1914d926c73645a3e09ce15b2b78c515b476253f2229fbda1a92d1f567781d73bd03424c12ee193eb68be05fcecc0dc27c880e0183e56951e97643e5fcf9e3591f485a2804e83f8f8800da8fcdcdc401325c5284d65a04e6648ab4b9724b4f7fe202708691c2bbbc8094e2ee8cefdeeab3cb57efc8fc53a6c383037e4927e5f5cba6d1d60155d547654cdd6b1e6ed03413daaa70ed5d56ed79c6236ac7be5c079e9d3872cc271a743448b5cbd75334c35692f004f628ccc993095509cf50f388240a2637e27487332979a2e7b72aeea238c44af1ecd0a94d277999444ae30fa15d7c9ccb4ca91f49d12bf399bcbd06a63ced399b4a27c96da3fff5aad4fea79381d4daf99f7488c65b5623620a3d83de0606c5c78f2e1ccc616e68eba55d329aacf748e670ca724063ea4ef4908a65af26a2fd4d95dd007864f2e1bf8e1f12f6de7ad48c839d0e1ee0f2cb565c2dc8acf203a4571a4c8c5c60aa768f89baad29aebdc268a2ebe760be1d34861ae630d600ad165685971514d925beb0195dab85faf30b49cb28b07024dc2495c71b428adce88c34a414c0b3ad6112490868e45b9cb31fa86e3a28a90606aab900bb14d540bc5ce2e2a1fb78bdcc723ab1725a1650323571ffd2df4e05300e45f625e9aaef1ffc3d7522ad5a52f32bc9d3eb8fa8e635f63b52addfdb7960fcf17f4f54f4fdfa5cac882473bb352b26540c8f4f0c71b136ace8083998c3ec9031ac42ab027823f8d05daebc977a92321bc1f30fdeba91acaed5f07e6fdddaf46b8fa4f91389020802f4b7bfddb973ca86d7c20e363abbf63aa1e3881ed875e8e4cee331862d19bc9bfc57bc5959880fcacbeb9b9946e4d242a07d4396f9de319686c39d247137641c7c88dd96ce18bfe9bc85da082dc232da59aa2df7a678bee7f640f0fc94f3da6a98408e3c15cf6eab86521365311ae0f945fde59098ee883dc4c3bef7ebdb01f501e7d1a849e131ed1cadd85cdd763d90b97e9d3d3aafd5f63727902283b2b168c0ff86fef61540aca482b40848ed37affccd07f747615596fe6679c15df18b7bd3f57f7d6e54a2f24c9e36b6705d2d1ab814ebe1ea7c96d39f926cc274e4c8374b83754b0402d044ea48a3d9c49cdfc1c5fa63f50f101d24c60bfd4ad3b1332f743eee6e1c4eaea09659e983efffb87c948f00c299778afc82299dff188e41e48a1aeec653a88afe4a4370b51bc63bdd0cd1c76e2d8938b91c7039e70c061ae7403d706f85d201c469b65e084a82acdfd26ef746fec34863d3a1b5954cc8a6498959f655c6aac9f306613dbd4ff09ae799c6ad259a3efba7b330999452aaf182f69cee240a1cffddc58a62fc3d20a589dcde84f0f6e8303dfbc5f4d8685ae917427ee3d7c9e13c8ec24a4069f9f2124ca2465a61092e22e140189b3e0ab9f20cbac8c7c25c55104965d55882da0f59b6f5a029825101f0a109760db89753344797c75eb94418851406513466b92726714c5f2d265f66ae8beb502879c4e241e4477d2a45aae6d9cb00e9ea439565c78d76f1be39f3caf66faf29b80257acc9efac5405b2474c1a5d9f04d14ae1c51d0684e804fb277a00702087e0278a8727890c1e1e0ff6173e2e5f58fa26a3d6373afa864c65095a81780947b0d42cce1a4691dd269a2514821c9604364fae96239f2b79ea7055ded329754e04b26429e9f4201fd2e808bebf88ca88364b00e13bde20e610e9e91e54f3a4b234ac18204443b32d7a2eece2e22f1d735cf960ca4e7753ef90ddb18c55eab3e80db55c8319f45952d7e6df3f1ee6d63b1a37f42ee4e38f89e8c632cba2fc55db32a081d81991172dd7b31ef95476eec7fdd887490f7de832215d4e34ffaa53e9becccce1cee4f149a3b1cbba3c4cda06ab7dfaf1ae905ea4b2c0e3e1a663a38f3de7f6404cedd61a0ec7f5c3cf0f906f1dda29a5643e75fee8d740ac4523bdb92f15c57bc40b2db151328ad5fb1b9668590bfc4f2b64307e6510c1467b0edf9c2199a1c1814e34656818e6c165a4eb5c1618afc4243f08cab68a6de77ebba8361b36f14b4d0927173a034b98c5d05049697a9ded84d85eb99a79905a6735cda60e0ba0d1b706c0ef648f5d096298da46daefd9cdecdb6a0f4584d3a27b754709de61575197bf5a980696c98ae49da3f92f0de8ee7f42dd543b746526fa3285c35dd6ab00ed1e466ba92a17e4655e01897731ec18a587a4cf5e4f8dd671fbb9e2130c0e9fea962b4a7a3c2bca1aaeba6a66f6cf80e92c77792a41c8dc7115fd0246cebc2467715068125e075b5f38913912390b121e8dc1d66f796a83a34e791e74630c33e546e79088380622728e74c3085f65c93f5255ee8ef68c20aed121217f5a5328a4024247a6db7cf33f330745c03b00f99fe5f0cf8288e3b74f22bd77d93a5077c5184f3e9089a1783aaccfd73ba9a904128c87de9bf5ce4f3a5f5675fcd4dc5dadb6c35a519e63b3978849ac0e5c57879222a3700b44478e1823ec17c46a9a43bab0a8b21fab63914d01dac6363e42db448060e8dc332648d4bee085306c207d5638ee4ba989e58403c73dbb241f284658e1631b7f1a5c880ec2259e2d637a82de839e5af032d27243a33279b2c519c7fc0a24790fd7387f1616d7c0be68ee330db6e22978e9057b5a27cf7bc124366c353baa368ce882c6fc4a305b94991130bcd27b150ca35a80177bc43daff6dfb1a5db766afb3306dcfa61e7ae1dfa68f52519a2544276db920cc82a65df8ce6fba519163552b4cb08692f2e462b427133f86cf861109297f6dbb04e065584da122480eecd0b9e6b3565d2a563a7353bcd935635626f22232ddb58344f0fd8222d4727d13b4a879d20919d79786b9eaf824a2910d295c5f88b5d50599a7545ec29fe713c0e94eef70aef7e4a9b8cd0fe6f790ac245636520992824ccda7f2527e30fa492fe7d3482d02f8e7f57f8d8f6c81783e5fd8517f10727d3bac9b108c2cb2f14b96ab8669c2ce1466ced68bab8e0e3a2bb7a1f55dfbe1ba1f6e2576949290f23f14ba4f7c7affa4ab29b91c074b560deae95fc69228cb818dcb8a3cf7dab92f30a515b315a7a4dbf6bf05e1c46e3d7d305f058ab8e2d41cc966f8ca4ac97eacb53854e7a4b1fa2fa2d441e43456a031f969a803eb9ce374c56d93cd80e0df5302ea2a012935c33de45e29cbe5eb55ef79275d4da7a89e83db0e2731a33ad2bce681d0d75484c32715b2c8810ec2573952a3fda0f19894fe65558dd68e2078cb9a0dc6e812fd5757ac8560d3866c3fbf0e0c72c1fd344c8c7779efd17f4bee48d4a0e4ba89dd86cd3c6437b3993fe301ad034da9ab3884f5939b2e97f4dde8fe7594672aa8a70cf58a36c620f3cc644ead7fd56305944de2076fa84ebc4c59c6eb63c92df00fc8724a99c99b94cc30318b42c3eeed2f45e8103fa1271d9d1b3385645623f4ba648a80f9d5be2dec06782a9502f1410dcbad2fb08c2f817664914646c9acf56f54daf1f0d890a3845222dbe238bddc5691f71ebbf0085efd84bc4b97c1718395fd7bcac6bd782fcb95225252add3eb525c640ef28d7e1c4c395744b9a81351110d291fadba2bdb9f47198a7e7bc6554c056995c839a44b60f8b8a806e535a5ddb531adb0f981fe45ac24398ef9cf25a04b8f67419f3e40d0b7cdf760c2dbe56189b5af1b5e3f8ad389ccc11bf9be73a1ea54fef75d13d4b56d00d3a6af4ad47d3c5909e13f80eb8175895c5c17f17f4cebeed44adc80d6d409fbff4437b2677b63a734e3e13e03783094f5f5ba99c5bab71242b5d7a67c365c2c51f08cd8c0639821a8b0c1f698d46ec9abea1fe182820ac94f8cd5ede0c7633d24f369b5ee5c9aa5fac4dfea1a3487eeaac5b58e769bea4dbf83ae66c01bd8312d7751ec93d8a992a3944e82170a29b6dbfd974eece1cf4b52378a2c4cf54d063c1539b6edbbb34ba557eb197a2abe511dd1af738aac34d0417d9bf139984dd88bb76ed047daadcf530627a1f367c5b5ea33b95c440390fcbe6a07d751e3ced645307340790c13e46cda594061fd038750ebd31a489dc4d199e1405c90fdd3fff310890cdc36c832febbb6ce07bc30f3bec8711ca64d98df1f677d3b196ca5f076c3c371eded52a63a2d0da3edd31cb282a4ba9c55d8df46c4663651d795c017109f12fecc43c92926785dc6b63e5b34220a3d7d586fa3f684e3435b26f6e25785c7f1eb980f0359f2126be72acec367dc1989c8c89ca03ad24ef5a9639b222fdb1f42e0a2b3444c8bb770a82d01c08d664c9b23e27078a2fc9eea449ba2da5e53c1296b9be3a57204d0a54a4d3b31b542c4246bde4b0854c8824a89eb617427ed7ee9bffb06a03d96f054438a14be3b9460da1f0f1f16246ab15c55d80edc960fab58da127b8125e5505fbebd3cdbf085ceda65d1f5a436af9af65c51526dc4b58e07d52d4b454e8899fe1688126531eccf064cdb56a72cd7ce23a89bbd4216d056e361458c3be8bc9acba695191351cc4704c03e71e066383c53fe50eb6fb672875fa6aed8c6d97e20bb7d195c6ddf811ae31b075ed551e137f3ff80ba0df18a830f852bee5b8612da325f253a4d3513db3f61a94ae26a92e12a8a8759374a17bc5ca93e820026a95d75ee6c892155b99f6dc20aa35037eee5a08c074821dcf13435ecec58dddf1cb4cde28876e28f4e821b0a39e2faf9080949de4e434187d6c9b75758cf04be85def4b2329e04c9b4edf2e149035849ed42e67bd803550e6931bc160088e665e1cf57be40b43902f95380451bd48d5b0522acdb55c4791002084788862d6838a61f0378f1c6a6126c051170b0283dc5a0daba50f225d5fd344ade0443235dd59c579dcd33d33a903eeb4afe1c27838f0ab104046d01d52540b637f09bdeb8bd9d5a81be750f35006d01347e7fb355405bc81ac2b9d3960f3ed63feaa98e6d9021b2521c19fc52dcc9dffa3c479e61f15304c9266285bd6617cd631b098d0d5fb4b352641e2fabb5b2a73d9a81bff82c47d491f8663f1df73aa27e2d170489751cb77537ee994ac2caec0c87185b0793059272dbe75e3fa8263b4bc67dfaeaaa763164818c98185d7f46350fd87037f4a1ebf33ea31d722cf8b9af0b1887c16befe59e67b139f8c777d2facc46a8b1c2d75c918edc99ef990f22d3145011db63adc7926853e64e2c3766c6697a56b8ec50f37d282900c35d856cb85f9ace12c02a48d73957411fe1358fbedaa5079160f3c7fa08eeeb58cd83ee5e2ffa31f4a5fa45e39fd96dc8befb55ee1692b361c5e8a89ca960e15ebb03cc49ba8291c69ef26e670f10d4ac4197570eded5aeb7944ddf3e960a0d4be74d3e2aee58670ffb899fa91f8a2cf302844b5d009a2cd4dcb56da41b1ee0201796962c8f5487285f6f3b0c6c51c30b0a77f112e70a077e06fd29dec5a7bd689572edb1dec978b9fb554bceb1bf3a21884af94c4d7d1701b481d3ef56d2581d055c85fe3b25dc3e4cbf78e67743e573722b45a86ea61fa6776341b4bf92eba30524cc9507b1b86a1e11365eb09fdf6eda8931539dae9b7901f5694a1bc25bc3f4ecc54b960329113b442d1e8c7682d30365e1c478f03c0856e6a1b00676da518cc1edd89d67088785a9c38c8f85ad6e9011c32b00c6d587b4c783ab81b11f32dfba2bf10fe3ea6055af6de11c03b4088dc54391dcc7eff5be7d33c54636f06d15b6e2ce42e0b8b5839525ae4301f0207efcc8fd38cddf9fe0ffc1bd3a7e931380c75124a310bf72238978d09a968be84caa1a01c7a274a1287cb6a4754170df328c0fd80232a993d3cea10a3c5ef4eceede66d0e101e8b97e8eaa3e4e09fdf447c63292c0ac7753b85f77340016420c5da0b34bd655642d15279a0fa6edb8a1f1c24e13cd004c474b32d7bb0ac958d265383e2740f28bcd925cbba9c5e4d76a08cf4985acb84f9e973a742a7cf69aff1b48b644aad3d6b92e976aeda479ca9b535858dfac675b7a9a336467f7d5a24a27d9a7e6abb26cc0d0e7801ba51627af08ab323362531fd3fb700e518d296738a2fd857a8a57180506af037bc97de5bd4d084e0362a25ec2c48bf08234ab90e40b36ea6e10fce896f12f2d4a96b7410c64b9665d1aa3421b73c7a8c93c5f58f5f70572ba58821d48759bdfff4a1ad95740598a659a5587825a1e8cee3129e94c8359a009db9b586d8f556e0fa94de8ede8d5f896829eded19d588a12f68b92659e12ff78bcbeab923ea533534f02321be69aea174bc204c444c0ebf44c361287515ae10181813ee408c5e1405a1bc5361cf31b482df67b54592a90ec34967bcf2fb8c489d26e4e61fab1f54ab8a838bb311b9521a85055cd3ed6c88ed51c824ecb7e27aa13766551fdeab17dafba7fd0f478ffe6c9a1ce1cd625b29f8687e52f73b27f8c1b4d5c4dcd119508f093800cbb00497f7d5c29272002537eef9bb541913e63b0807ddc5110972ad92ef3d6804dd5a52c9d1bd2a2434cc04d6d01886c5a1c5a01e7e10a48a5d0b9b113eb6e97fef2b8975924f99adca9d08eb207d0aab98119a8d4d6a7f36a1fcf6187195a6dde4fbb26e5f65ff0696eb60f144da371e44415ac78f08052dab8acd09174eda1b766d371473a8942064827ca500ad1c810f2461634d8a1e98bb875fe7b6edce5daca49a3b75c2f12c717ca72c2710be11b98fa875e39ea955ce30cefbcec373aaed6d8889d548924c10888c04e71c7bc9699712835bfbbe6a28f8cab4821391054f4276df7a74b8f78cc2868c687ec349644e258d540e66fdc16bdecc29d42fd2c3ff5f73559b3e64c62ae1892637b4948230b840ad6e5a39ae90d644ba1b1ae7dd88f400a09cddaaf4c83f6d3dce33490c3d2ea7b717e31a99a77ffb89621d07f1c407e959ee5450ecee466064d6b9d8304d0818ac0b6d24bb1b8a47b4a8e9d76dff038e018534fc9264d97c38f5b44c2d14ef2859462d8040034eed65dc020ece0ecb66ac695150eef226b3e37daef3b8e750fefc6c0fe5246fee1b325fed660742aa59a555336ddca696fbe9cf3a0aa5f54294db4fb4e6c6678a7f3f5a79017f98739bf81229ea7920a00f420e19e13fd4fa13a464c494708fc37d49cfa9257ac045287f499388da985fa67cb0ba1d3bdca1472ba82f6e1bc9a4f84ce1224b3fa3ba5aa23dc7ff9b17d297e3d102817efb4048cb5c2372c0783da590bcdc094a1caa7186362964c9849ee7437665cd86bc13e2018cd4c7d88ad405730c645a88dc3add6d14519949ab8f592b66425a5f02fbe8a2d815eaffabe92fd5eb67008ae87f8c7c33fb55fe29751a6ac971dc403e75f53fe74312aa37cd03aff6f84a85665b94fe3200d1f1a4a32f63940cee7d391a07a656350b42bf31cc364da4b8724d1d2f71f5d8580f1954015b3b729734092ff22f54e4c960a9f2e98f65843eb8058421f3f8c5b32e94c9a07c2e25b1134c643262852ea4a7abc307f863ab5302133fc6df42a010f8fb5ddfaee31295feb23e0997575ece2e6b72581cf1df05291090cdcc183afba4a71d9c91784875bfbf44bf8e5679a8369a2dd3764d4c40362e3c79c391d8eb7d7e42ce6f65b4f426193b53f03dcbbb0c36dfbf5772697141e6d8bf2b0b8d884331c75019af7999bd4ffaa974838947e2ff6ae02ea18e8ef6312c8b27c056c25cae278a5686983a9fa8bc2386145f53b046c3240462a331b222cc714c56b27b4ffbbaf5c6520f5ceba5b871470d98f4ecfeaf58e26971e2bced0cd2d9e1c9de819655ef0464b4636b17584f713e4992215a94fa7f3ed8d6de35681cca8b9287968cde0d4e141dbdfa6aeb55a57d721b7f9f95d9c74716623453190a4fa6d3e4bd6471c102994bf88d2bbd53ca4087ba530f0fe6f0b4be26261c2bf2fd24cc3b20434c850c5feacf4b9079715f4591b74f1c77099e3b17d92f874f902c61a38de818c103bf4cb701496bbc3e52e8d3ec55103c1a02ec44206361ec725a41ca8e9b4bd58b5e7b16d6063a9664089e2e814aa61e3009d9fe7787c7a86a74854cbbb36cbd8ad6620fa51a275d68511170a968175dde48176ab3e4e5f60565c5173c21d6f140efa45e772a3b4b40cbbe956c6a50425963adad0fc6bc169a79cc8995c0e79ef76954b6d8d4a6e38cb33844c6e0669a1cc67d0224bedd200982e4e363cc10c00e99ca1fcd84726303f7e6b9f06a773aa852a85b730f1f74d7493378f9a80cf1cadbeda8920ea5142f6c3cc71cbe644d6956431fffcde5b49bc85b2962692c3ca1462bc9002bdf8051efb1430a113f898888dba50ab1fa951daafb4f49a5c82b0634e25e750829183e6458f34b36b9c501f3a300b120788b4ba5af671267e0b1e7a86fad805f467caeda1c81eb74a56f8f6ec41a40c856395bf646b8f6b5b732ff72686ba0425ee3606301f38763ab550d5203124f376be3bab809b56748b519639bdc698b903905a09648fa440d09199fd6cc492fea5a531fd9ddb083ff0d43179f7c93a8f1f00991b8776c4bd5724280789d2f45ab8ca1ce7f6bd00cfccdd28eea90c9931ec4ac37cfddafeef346bc042755d4cfcd76ff62646e15502bd7cf313fd432542319784d64d3d50a773ad6d766f404115f0ae5c8b635940d050b2a2c942a310b1e8fd5a2873dd99bd679055aabfcbca7353b027505fc1b37376e90a103b2a6eeb99a43d5c5964e31c0a0c4eebbb253ab6a80d7ac0e2b9657b08d9c33fc69ab811a28ac07382a335e73b6ad931edc20359a9b35cf2ab3060849cec3d38ef9db7cd50a5037c9cf8012f1a90ea4ee4d0275bbe00de1cbb82c8b8dc30fa3e5437e3cc5c3e81427b03c2db241b6a8b4b19ba3ce83c834634c31b496f9c8c52ff9886b04763c7b8e5e6dd871f9bd1e517b537e42f1cfbcdfc8438c019d441fa218374d17fee91de47f9cca07cebdc4de6e497d4414ea3ce05d39a33259e10d0e234b037bfd7cdd75d938660cc246176b83b9129a3865d4f9b57bf3487e9f3e1d1f49c9f788c0347cf91e7ee1bc37f01440608f2d6e3fe492d32ae45347356e28e6972e97f04ab6e207bd81181fd759b5d3f7b1107b9adad41ebdabecf27faa0bccad75d8287e1f45d54b57d32a2629482c3a87d97fd2b437b22d94b7aa1ca26a44b24f9809aa3f545c027d12b0f6b87bc06641de4c2ef0d558b12f405aa6dd498a1843ec8682c3b44cbed116ba05774cf44f8d8e2442f0a5640a05bc8b8be347d4abddc6b40a5cc0b77acf8b7f572296bfe38e2b1395704de64a2ef1d11ec028f31e8bf20febe7b1c5afe8a51740b3849c0bd07ca6e513564304a27adfee2016c6d395c35774f8fb4d468f2ab0e2425e39f4da8418b90a96ba210887546972f79f19d36480f4198235d4721cacae4b4339b58eb879724d44de815df9ecb831f2e2792f4345da5c649002aa9b7bde2fb49331c4a6e18bbf74164f345d98ae73380a6d55dbfb423fde4d7301972f2e9755265f008fd65745ba140ff7540edf616dd3bf05afbd9a7f9b4418897e992985a8c21e16932d0e4c8eb11246329ff1df1115e26fc7424b0157a789c831cfa6a5de40c926f350d3e8546b1705a634044f9a7ec5cdefa8c60d9ce565d2389ba1f6643c2c946005b97a71af91d35688a52b5b70ae1fa0fdbf81a9fc98a07eb65a27b17593dbbc7c8b8cf1301ec7378925b414707f5d51f4cd97786f083fe8557f117edd92501fa8506143e054eb4a98ba51baebd5b00be6b974405e99a20851c814fab7cd1b9d02cee5ca6e5d7d43cc734b5e4bd2774f6a2768ebd4cd4a1dd744903b0bc8b5861ec92b59cde7d4186bb4afd6fa398b048498d34954169072c823d0d9105327b18d8cc3e1fcc6769fb92abfa6a9f3bfecb7b0d88461f6a3c1fffed194ea20d2500d34d07e8f2c0edc27887acbde129fcb889ff9d9b5274f6fae0d8be9574f842c7f1fbc452f37362e411e49c370b51c9d505839b0e2c92816146a025888236a4331e1fb05193512b9a68f11e9ea7dfcba9b81375bac105d69ce40327e9341c6bf5eb7adc72c797f62165d6de50f3d814af6d486c287a63aaeea3c993aa0b694d0217d33d4c68b7abd656a2b1d1075970a2db6876b8e8915cf614264ca6f78d8aad7f40dbd45f2322b4d75432ab3760c00ff85fdaab5e7909310804abcd4d294dc9aa6394ecd1031d47f99f9784bace5e24c218886510645aaeac0313c743a712f8a71f206a4735a8290f97d911585c8922fb3477ddff7f06a62953ba4be65b9d8a87307875caf8ef9554b14e1da410a59818eaeb6133abdd339c2989fc062fe18aa6a102003cd204325810f15bb822b70e6450d747e175b79a551ab8e4b998494410c5fafa65f623f14f4f92f9d11bd9c2cfc8a42562ae4c24f155b7a3e7de79e10e3adee4d226bec3e9314631786b24ef821ec140201ac9d107e8c1461fd6132faf944e83ea5e0bdc4e9f0f605d44bccd12cf05accc682bc8e448f15278b5e3d52219df7aa5687f22df347f772a6d28b3aab644fa9ba20e7bb4ed932d3dac561ec9fdfd908172bc99941d365e672c589cfd29931bbbcf3565b0957fc060438734b1fede4eb9f8c9bf637d9cb7de623b9e2d2e6dbf6b45ead7351852004b8663467753410163edacfba76f0305c06cc63294e6c7a23240e2176c502c2845f0c58ecf236ca48698f199e6e4952cdf5e170d3a4d220d6a91973106863d8b5b03cdc139e24f262fc941076677af39686186589e59d66dd3b6a0f82473e7a47475a045c05688f93a3ad253e465988cc3fbed10528bb21c1e960fda66e04467a55aa19de744cfa90ef92a001eda08ad24e6fef8df8c709bff2f55439b09e45b17c039c1422bbcdfe409916ec5c114a4681102f2559b8fd68b3a2d807caa9f46036ef566dd7035b805c35d80521348321661f6ea07dcfa7f5c69a15d4fef0305798288a8300efe186ba94a25ea6a3746b3518339a81d0233074f8a8f2e8cd0a4e991b0c9e967ad218a959886898ffab444ccbf8c8e4c61eec57c5f44ad69f46102726e76c53401f33109d55c2743bc12d737b3f9a0678b2a39be4890f17d2778525c8713465d1f19ed36c403dfc56f357550022b4f35d1fcf962eaf586a6c7fbe3fd085baacf239bcd622d7163f521a9645454522e207259ad15fb90505495cf8ba96e4d06917ad0a39d0592644ac1993399aced25c739af2a01d9a5fa8b89f5dcc75d99678ed199a43fed996a626ed5edc1177c9da89dff3c9680b3fe4c07461e329aa099643ab2ad74d328bad98994f0def25ff71a066c764412028953ab7ba2535a387fc36885fe21dc1d09d3763807b708b465cae378df1f7c74c90797bbf41f6c4aeab3a3f3d5f4ca4d610ea64d6abd0d801b08b785852733c912206550ec8ed8b2edc75d1972b34cb42e567bc5dc9f3863120c4a1e6c6d0cdf0b0a8c82ef4df6be6a4cd25b783184cce337d3866d2b62c5824aa3dce5da9b836ee0c7add9511f0afa0b544d8253be17141630e2d73aee1601b58918a7f15dbdfbbe0f400b7b49906f8bc53c7830cd982a541b68d32f632cb760bd0da6025e9027d84231d4d617bbf21fc0cc56c291bc6c63a5b01d69036a564e493fe94f2ccb610be439cda6cd8053a18dd6f377d1f5a0a0a7199a760c41e8a7bd8087300300f894c20fd97ebbca7052ae4ad44b129ea66fd4924583f3540f0453d6ad63024e9820199dfa33c223dbea6d7b1244a6fdc3824be0674089ca4e8bf6935bccd378bd05c66b4603d268fd8a01890486eb1559896e3163ae6916923287252b8c2d625faf5fcf499b74bbe19f7e3e8b9d43d0dc593ee183f0809a0561ea3bdd926ada8522ee60bd173038ab00ea3dc75cf4c43d14a23318205b00e67ffaa7a8ece565dedc44a5bbe35e20f8932e9a61421c3c0d1a85c10ae1110d90a7b1497a25745f5ce1d2e4b54d51d26849150502f96e062e9b0d99a77151979afc14b33e803c1b7ae70395133f3193ffdc5e9ff7d114b8230961152b383734c99a0fd88e34475aac536694345134527f317b6dfc257e81c426eef37be568eb1e42ee8c5773a09039997ba04d722115103f0dd71aabb53c17d0c99631b4e18421df41b41d2369942a055c57ee3cbf38bba029f16717129f875df614beccdf2a81c5448b7f3a4aa43dea42d0d44ff03f831b70e0866d53ffe39ef0caaec6da7aa98734a2aa2ea385a98537325216d17b03559af90852eff5cdf9e86af7b143b3e2f4c0088cf1bb9e4a5a54249a15568c9354ee5b574de4b184f001512c88d3993c2ee36a28fe2e97b96bdddb1c9abbd27fcf822e5c46f3f53dbca4caefa631098a0aeee04996e42c828be48bc61860c5ac21bbabd3fe0e9a8259c727fff0b8d6704273bb945b488c651c6d068a631c36ca54eae9126b4528edc663262ee78b2055b0ddc9d22a5cb8e44998e3d2a2d3aff26e335f7357ceea4187f658682383f4f1c14d08fa2ec9495888641010ed689abad358bfe652e2bdd6f0416493b42a943428658995e99fcd453e98a2f92cf005e3f015a4f8357cb6cf2f8ef6f903b6e0280dfb806c07e8db99d79a276b166f2ca52b51efe2a48e9a1acbf749233b102bc61a3bd18d413f1a356b59350f2c5d87ba98cc4017beb7ebde91b4455cea2f55b47189ba05d9d8cd2ad8a8171afecc9cbdfff647d6ee5e583995f8b6962ebf70d838cc48afd10e40481acbab6691e595d97187031e7d64b4c7d9978faa9f906c65f12c0c754dd253f04d8769b4320c99abf18f80db48f781c3ccf01f49dec8c2391a7063549884eade1c4f9302359d924817be717a15a215192d13b78d94a8674a4750fe8d2a597f60f87129d606488c36a480b2673e0fef78f24a9e0c4b578872146a28a6195fee84b66cc614a42a5f7b684304d7bdfcd5207024c86370ba44c6f44fd5c6cc2bed1657fc307c6713c81511911098fe900cb9b467b068f8f292e55eb98bbff41505b6e0be9679ecc00e96f67c0237ff2d3fa53bea5ac83d98afc8447be5f866afbfe14f2a0d70cfbd7aff29d9acb9575abb26fc18e0c73ce4aa5b5d9228584ddc73cabac386c2e75da1ebab864eec1450efde625833eb9f92d5cd05b33dbd70905983b21a0107f4d20902c322695f03dd2d743d055fa401d4940c3091d81c460e74aad29406c0320f2eedee16529e773a1b7087a66027388cab3d8647f3f9300044698f8854c6b7903418d30f934db7700ae459c5be0b410580dcdae43f6c9471fc951422b0667e169e419f0c4d4476e2fa654d7c430ee448480880b324d59712aabeb051e1f48a25bcefce5396e1425cd41ffe38b1f687a5c01dd8d6be974dc5ee2cc1896902f9ea4a2ae24730b02665204c9ebbc838d505bd4af820341f25b5251e6903f95f390ea616613757884c553a1923b9c3b6a9ee488a10767d321d6f0e06eec88fd808ce8e946eaf316eea75f10f30b284d515075ae487a5f9e10aeb282e091ecb8c49b280fd0809805331714528d09edcbc8e665af6c64133755dfa69472b7313ddb4bc9b3a87b63f86c4953021d2a15a586bdd4bd30d2fc70b3b18a4655d919a9561e2eaba1d4a26ec804aed28c54c2eb26d1d48c167317f33411271ddc2cb5d8511958b04cc6f99c134ec3234772efacc6d51e158f27f13931a7c687a847be1ac7281076ff41a6113297408b180c078490560fcbbdda05b35858a4e27eba9c2379780451f767033cea70d5c59767451c58d57eb0bc0e0aee2d80a8e57266e6104ccf939c2cffe220cd0e71295115fc5d877188051d51ebe5ff4499273c2cd8896e16754d40d025241f0dd30380ac4e9248eb7cb21033afa98fa063f2556e05bf18a488ca0f62ebe5f98978c997971ab34bfd6f456336d313581753ed8b822df40c4b4a64f6618bf4dcc1695c2039e310e1840ae4b1fe6e66124feec2b094741b2d7e688b9f99b3b5aaa151fc82c2086a1b0e0c2dc2d36ce922dd85884d8dcad955296ae20f0d7d3bc50b932bde90f4f55c715508986dd585530ac8e2153e1758793cd4c3efa14d0b38c2a10b0dc2a45ed5fe29a0ab76fb150bac4053a9255d161b966108e2b95e5ed6ad3a0b0de787a99cd89af34ed70c47cfc7d6bf6509346c683092ce3ac7773e78b9c7adcb2c7eeccdb81171fd7125bc523fb5e0a664e592ba3c1cf1096fa7b9a453945f9282c4fbe922b24f935df2ab4e87faf7c33181a698116e1e92a0633713d19434e22d665a9afab183ba7076b2e64d0cdeee0ffd24cfdc4a2be203dd6cdf5c60e488ab0de3c9d638a69d636fd5841bbc35c6b4e5d7979545a2406fba0b669452332984feee4132fa3dc44939ab622b95c992606e98f8f63a8156105b142cb4f4ea5da0af36484a7b4c5d5faba351b07806c5c3090d0d9d7bfa260b5244f73e3b8ffc5506acc0476fcd54a09f3099f7e80a601be6327b0e64b9851bf25b47735ac9c090170c34a266c32c710ecf6d0cc394549d341cb68a0e3d6c75fd2b37bcf48fea6ae167a3eea1fd48d32fa4f7d1210855f619e50575590081c8e92de34a654a3cbb1cafec1336369719cea7b383fde30c022f75348c582532728e9a455e376951310eaa81a222b623ad2e0e9655953b443f1737c1350b72387f7e00deb1c4c153b28bbed00d2d1e128cc48f75be1f3c4b86cdc14e4cae9405f624bac90460e918e6c405a14e39c1f72a787fea5d9e98b967bb6f37c40655876fd08761c03d56836a0c59b6807a0d9a8a215ea0106a4be43c7d274df0f9a8c7f94389770c4b7d41b7d87300c8b092afd0c1190a528750349befcc7bbf7e2c1ba32d8f98ca7f6dbf4850195ad46968eeecfdbb6dad6c944f8658b1e8f4e0f681840d6a03e9fc4471103283a7c703366507eecb7ba2c8c7d6baac7df29808bbb15dc8d86509295a6dec6342bd75e08154977bb4850ef54d06262d636b2261c7e9c09f53f0f7404f63f85fc671efe673270acb5a1b90d574f53e94dd2cd72e23aced11f147d6fc6bef23b4266c40c9d08380d3ef27367ded54b570b7505da8a4fd9f02591fc2725f4e29d283872ae790ffbf16d5c94fe723ea24f55014b3a791df0d6992ee21a5b3145e80eca9f5a74f3cfb0e5a91c660e422222de251163407d0c67888f17823a07f32fd3e62a18e0c076aedaca9d13ccdad55f11852d26d1f1fff7f2arootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootxorg-x11-server-1.19.6-lp150.7.10.2.src.rpmxorg-x11-server-sourcexorg-x11-server-source(x86-64)@@@@    /bin/bash/bin/sh/usr/bin/python/usr/bin/python3rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1\B@[@[@ZZԐ@ZJ@Z2@ZZ Z}@ZTZ?Z/Z@Z YY@YY@Yh@Yg`Y_wY[@Y;@Y:Y6@XX @X+X@XpXXwoXN@X,J@XW@W@W@WDB@W9@W/*@W'A@W#LW @W @W @WKWW@V@Vn@V3VVm@VxVVV&@VV@V@VV@VGVVVUVA@V0V0V7@UU@U@UUzUuUn@Ui@U0U:T!TTTԬT[@T[@Tk4T`TN3T)ITSS@SS@SS@SSj@Sj@S@SǺS.S[SrSSSy@Sr @Sg}@S`S^BS\@SZN@SCS-{@S,)S 4@S 4@RR>Rx@R@R@RR1@R@R@R@RSRSRjR0@R0@R0@Rz/@RsRnQRj]@R].@R2@R/ RRR@R@QQ@QyQ2Qo@QnQ^Q@j@Q9Q7/Q7/Q& @Q$Q \P@P @PP@PP@P{P`K@P[@PXb@P"TP @PSP OO@O@O@O Ot@OO\@O@OO@Ok@OLO3@OO (@NNwNwNNk@Nj@Nj@Nf @N\N[@N@NNNNN@NN@NNNNNN@N@N@N@N@N@N@N N N M@M۝M@M@M>MMMMh@MZjMU$MJM*M$]@M!@MMMMM M M L-@LL@L,@L,@L7L7L7LΫLq@LL@L|LB@LB@L@LuLrbLrbLmLjyLi(@La?@L_LYV@L5L(K@KK#@KՀ@KՀ@KKh@Kh@K@K@K@K@K"@K"@K@KKKK@K[K[K @KK@K@KKuBKQ@KO@K$@Kb@K@JJTJ@J%J@ĴĴJęJJ@J@JjJ@JJG@J@Ju@JQJ]@Jx"Jt.@JT@JL@JB@J;}J0J/@J.NJ)J)J'@J%@J%@J|IIIIzIyIV@II@I@Im@IStefan Dirsch msrb@suse.comsndirsch@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.comfcrozat@suse.combwiedemann@suse.comsndirsch@suse.commwilck@suse.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comrbrown@suse.commsrb@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deilya@ilya.pp.uasndirsch@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.comsndirsch@suse.comopensuse@dstoecker.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.dedenis.kondratenko@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.defbui@suse.comtobias.johannes.klausmann@mni.thm.dezaitor@opensuse.orgtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.demstaudt@suse.comeich@suse.comeich@suse.comeich@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comfcrozat@suse.comeich@suse.comeich@suse.comeich@suse.comhrvoje.senjan@gmail.comeich@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comtiwai@suse.deeich@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.demsrb@suse.comantoine.belvire@laposte.netmsrb@suse.comeich@suse.comnormand@linux.vnet.ibm.commsrb@suse.comdimstar@opensuse.orgsndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comsndirsch@suse.comLed sndirsch@suse.comlbsousajr@gmail.comtobias.johannes.klausmann@mni.thm.detiwai@suse.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comtiwai@suse.deeich@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comsndirsch@suse.comeich@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comsndirsch@suse.comstefan.bruens@rwth-aachen.detobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.decoolo@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comlbsousajr@gmail.comsndirsch@suse.comsndirsch@suse.comcrrodriguez@opensuse.orgtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.delbsousajr@gmail.commsrb@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comlbsousajr@gmail.comschwab@suse.demsrb@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comsndirsch@suse.comhrvoje.senjan@gmail.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comschwab@suse.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.deidonmez@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deschwab@suse.detobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.dewerner@suse.defcrozat@suse.comsndirsch@suse.comsndirsch@suse.comopensuse@cboltz.desndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.combadshah400@gmail.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.commgorse@suse.comdimstar@opensuse.orgjengelh@medozas.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comro@suse.dero@suse.dero@suse.decoolo@suse.comsndirsch@suse.comeich@suse.comeich@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.demhopf@novell.commhopf@novell.commhopf@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comdevel@navlost.eumhopf@novell.commhopf@novell.comsndirsch@novell.comvuntz@opensuse.orgjeffm@suse.desndirsch@novell.comsndirsch@novell.comsndirsch@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comcoolo@novell.comsndirsch@novell.commhopf@novell.comsndirsch@suse.desndirsch@suse.demax@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.devuntz@opensuse.orgsndirsch@suse.demax@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.desndirsch@suse.deeich@suse.desndirsch@suse.desndirsch@suse.deeich@novell.comeich@suse.deeich@suse.dero@suse.dero@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.dero@suse.desndirsch@suse.dero@suse.dero@suse.dero@suse.dero@suse.dero@suse.desndirsch@suse.desndirsch@suse.delchiquitto@novell.comsndirsch@suse.dero@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.deeich@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.demhopf@novell.comsndirsch@suse.desndirsch@suse.demhopf@novell.commhopf@novell.comeich@suse.desndirsch@suse.desndirsch@suse.deeich@suse.desndirsch@suse.desndirsch@novell.commhopf@novell.commhopf@novell.comsndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.deeich@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.demmarek@suse.czsndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.de- xorg-tmpfiles.conf and appropriate changes in specfile * make sure /var/lib/X11/X still symlinks to /usr/bin/Xorg after migrating from sle15(-SP0) to sle15-sp1 and doing a rollback (boo#1120999)- U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch * Fix abort triggered by some uses of screensaver. (bsc#1114822)- U_Disable-logfile-and-modulepath-when-running-with-ele.patch * Disable -logfile and -modulepath when running with elevated privileges (bsc#1112020, CVE-2018-14665)- U_glx-Do-not-call-into-Composite-if-it-is-disabled.patch * Fixes crash when GLX is enabled and Composite disabled. (bnc#1079607)- n_add-dummy-xf86DisableRandR.patch * Add dummy xf86DisableRandR to fix linking with drivers that still call it. See explanation inside the patch. (bnc#1089601)- U_xfree86-Remove-broken-RANDR-disabling-logic-v4.patch * Fix crash on initialization when fbdev and modesetting are used together. (bnc#1068961) - u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch * Fix crash when using randr when fbdev and modesetting are used together. (bnc#1068961)- Update and re-enable n_xserver-optimus-autoconfig-hack.patch. (bnc#1084411)- U_xwayland-Don-t-process-cursor-warping-without-an-xwl.patch, U_xwayland-Give-up-cleanly-on-Wayland-socket-errors.patch, U_xwayland-avoid-race-condition-on-new-keymap.patch, U_xwayland-remove-dirty-window-unconditionally-on-unre.patch: * Various crash and bug fixes in XWayland server (bgo#791383, bgo#790502).- Add u_xorg-x11-server-reproducible.patch to make build reproducible (boo#1047218)- U_0001-animcur-Use-fixed-size-screen-private.patch, U_0002-animcur-Return-the-next-interval-directly-from-the-t.patch, U_0003-animcur-Run-the-timer-from-the-device-not-the-screen.patch, U_0004-animcur-Fix-transitions-between-animated-cursors.patch * There is a bug in version 1.19 of the X.org X server that can cause an infinite recursion in the animated cursor code, which has been fixed by these patches (boo#1080312) - supersedes u_cursors-animation.patch (boo#1020061)- Added u_xfree86-add-default-modes-for-16-9-and-16-10.patch (boo#1075249) Improve user experience for users with 16:9 or 16:10 screens- Update to version 1.19.6: Another collection of fixes from master. There will likely be at east one more 1.19.x release in 2018.- Depend on pkgconfig's gl, egl and gbm instead of Mesa-devel. * Those dependencies are what xorg-x11-server really needs. Mesa-devel is too general and is a bottleneck in distribution build. (bnc#1071297)- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- u_os-inputthread-Force-unlock-when-stopping-thread.patch * Prevent dead lock if terminating while on inactive VT. (bnc#1062977)- Update to version 1.19.5: One regression fix since 1.19.4, and fixes for CVE-2017-12176 through CVE-2017-12187.- Update to version 1.19.4: A collection of stability fixes from the development branch, including two minor CVEs (CVE-2017-13721, CVE-2017-13723). - Remove upstream patches: + U_Xi-Do-not-try-to-swap-GenericEvent.patch + U_Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch + U_Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch + U_dix-Disallow-GenericEvent-in-SendEvent-request.patch - Adapt patches to work with the new release: + u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch- u_cursors-animation.patch fix cursors animation (boo#1020061)- disable Xwayland for s390x again; it was wrong to enable it; there is no Wayland on s390x and will most likely never exist, since there is no gfx card on such systems and no gfx emulation either (bsc#1047173)- u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch If arc4random_buf() is not available for generating cookies: * use getentropy(), if available (which was only recently added to glibc) * use getrandom() via syscall(), if available (there was no glibc wrapper for this syscall for a long time) * if all else fails, directly read from /dev/urandom as before, but employ O_CLOEXEC, do an OsAbort() in case the random data couldn't be read to avoid unsecure situations. Don't know if that's too hard a measure but it shouldn't actually occur except on maximum number of FDs reached (bsc#1025084)- U_Xi-Do-not-try-to-swap-GenericEvent.patch, U_Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch, U_Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch, U_dix-Disallow-GenericEvent-in-SendEvent-request.patch * Fix security issues in event handling. (bnc#1035283, CVE-2017-10971, CVE-2017-10972)- enable Xwayland also for s390x (bsc#1047173)- includes everything needed for additional sle issue entries: CVE-2017-2624, bnc#1025029, bnc#1025084, bnc#1025035- update build requirements- modesetting.ids: no longer hardcode Intel's Skylake, Broxton, and Kabylake IDs to modesetting driver; xf86-video-intel is no longer installed by default on these, so it will fallback to modesetting driver anyway; still you now can easily switch back to intel driver by installing xf86-video-intel package (boo#1042873)- Update to version 1.19.3: A couple more minor fixes, most notably a revert of a page-flipping change that regressed some drivers. - Remove upstreamd patches: + u_busfault_sigaction-Only-initialize-pointer-when-matched.patch- Update to version 1.19.2: A collection of stability fixes here across glamor, Xwayland, input, and Prime support. Also a security fix for CVE-2017-2624, a timing attack which can brute-force MIT-MAGIC-COOKIE authentication. - Remove upstream patches: + U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch + U_xfree86-Take-the-input-lock-for-xf86ScreenCheckHWCursor.patch + U_xfree86-Take-the-input-lock-for-xf86TransparentCursor.patch- U_xfree86-Take-the-input-lock-for-xf86ScreenCheckHWCursor.patch * Add the missing input_lock() around the call into the driver's UseHWCursor() callback (bnc #1023845). - U_xfree86-Take-the-input-lock-for-xf86TransparentCursor.patch * The new input lock is missing for the xf86TransparentCursor() entry point (bnc #1023845).- U_xfree86-Take-the-input-lock-for-xf86RecolorCursor.patch * fixes random crashes in X in multihead mode if one of the monitors is vertically oriented (bnc #1023845)- N_driver-autoconfig.diff: No longer try to load "amdgpu" DDX by default for all GPUs with ATI vendor ID; this is now handled instead by an "OutputClass" section via kernel driver match, which has been added as config file to xf86-video-amdgpu driver package (bnc#1023385)- N_driver-autoconfig.diff: FGLRX does not support new x-server. This change fixes bad behavior(with empty config) when radeon ddx loads with amdgpu kernel module on SI and CIK cards, and x-server cannot start. Radeon ddx with radeon kernel module loads without any problem.- Update to version 1.19.1: First stable 1.19 release, including a few regression fixes.- Replace pkgconfig(libsystemd-*) with pkgconfig(libsystemd) Nowadays pkgconfig(libsystemd) replaces all libsystemd-* libs, which are obsolete.- Update to final 1.19.0- Exchange xorg-x11-fonts-core Requires for Recommends. The corefonts and cursors are not strickly required as long as one have a substitute such as Adwaita installed.- Update to version 1.18.99.901: - Remove upstream pachtes: + U_glamor-Remove-the-FBO-cache.patch + U_kdrive-fix-up-NewInputDeviceRequest-implementation.patch + U_kdrive-set-evdev-driver-for-input-devices-automatica.patch + U_ephyr-don-t-load-ephyr-input-driver-if-seat-option-i.patch + U_kdrive-don-t-let-evdev-driver-overwrite-existing-dev.patch + U_ephyr-ignore-Xorg-multiseat-command-line-options.patch + U_ephyr-enable-option-sw-cursor-by-default-in-multi-se.patch + U_kdrive-introduce-input-hot-plugging-support-for-udev.patch + U_kdrive-add-options-to-set-default-XKB-properties.patch + U_config-udev-distinguish-between-real-keyboards-and-o.patch - Disable u_os-connections-Check-for-stale-FDs.patch (not applicable anymore) - Adapt patches to work with the new release: + n_xserver-optimus-autoconfig-hack.patch (disabled for now as it causes problems) - Remove X.org stack version prefix. We are already atleast at verion 7.7. Plus we are updating individual components anyway. So the stack version is misleading.- Update to version 1.18.4: Another pile of backports from the devel branch, primarily in glamor, xwayland, and the modesetting driver. - Remove included patches: + u_x86emu-include-order.patch + U_modesetting-set-driverPrivate-to-NULL-after-closing-fd.patch - Update patches to reflect upstream changes: + U_glamor-Remove-the-FBO-cache.patch- U_glamor-Remove-the-FBO-cache.patch Fixes (bsc#983743) by not keeping >1 GB of VRAM busy.- U_modesetting-set-driverPrivate-to-NULL-after-closing-fd.patch: modesetting: Avoid crash in FreeRec() by NULLing a pointer which may still be used (boo#981268).- Replace N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch by N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch Only disable HW cursor for cirrus and mgag200. This should fix a regression introduced by using modesetting for Intel gen9+ (boo#980124).- modesetting.ids: Add file for PCI IDs of ASICs which the modesetting rather than the native driver should be used for. This includes all Intel Gen9+ hardware (boo#978954).- removed u_exa-only-draw-valid-trapezoids.patch; no longer needed since pixman 0.32.0- removed no longer needed patch u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch, see https://lists.x.org/archives/xorg-devel/2016-April/049493.html for upstream discussion; obsoleted by upstream patch https://cgit.freedesktop.org/xorg/xserver/commit/?id=4962c8c08842d9d3ca66d254b1ce4cacc4fb3756, which is already in xorg-server 1.18.3- Add permission verification for SUID wrapper - Disable SUID wrapper per default until reviewed- n_Install-Avoid-failure-on-wrapper-installation.patch: rename to: N_Install-Avoid-failure-on-wrapper-installation.patch - u_xorg-wrapper-Drop-supplemental-group-IDs.patch: Drop supplementary group privileges. - u_xorg-wrapper-build-Build-position-independent-code.patch: Build position independent.- n_Install-Avoid-failure-on-wrapper-installation.patch: Fix up build for wrapper. - Place SUID wrapper into a separate package: xorg-x11-server-wrapper- Set configure option --enable-suid-wrapper for TW: This way, the SUID wrapper is built which allows to run the Xserver as root even though the the DM instance runs as user. This allows to support drivers which require direct HW access.- Update to version 1.18.3: A few fixes relative to 1.18.2, including one fairly important performance fix to the Present extension. - Remove U_present-Only-requeue-for-next-MSC-after-flip-failure.patch The patch is included in this release.- Add patch U_present-Only-requeue-for-next-MSC-after-flip-failure.patch Fix a hang while using the present extension Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94515 https://bugs.freedesktop.org/show_bug.cgi?id=94596- Add automake, autoconf, libtool, c_compiler, pkgconfig(xorg-macros), pkgconfig(libudev), pkgconfig(libevdev), pkgconfig(mtdev) to Requires: of the SDK. This simplifies the build of Xserver modules.- Add support for a driver specific PCI IDs files supplementing what's in xf86VideoPtrToDriverList(). PCI ID lists may be held in /etc/X11/xorg_pci_ids (boo#972126).- Update version to 1.18.2: A big pile of updates in this one. Highlights include: * glamor is updated to use OpenGL core profiles if available, which should improve memory usage and performance on modern hardware, and got some other performance improvements for rpi and other GLES platforms * DRI2, DRI3, and Present all received correctness fixes for hangs, crashes, and other weirdness * Xwayland server has been updated to support the Xv and the xf86vidmode extensions for better compatibility, and fixed some bugs with output hotplug and pointer updates * Xwin saw improvements to window and clipboard management, and a few new keyboard layouts - Remove upstreamed patches: + U_kdrive-evdev-update-keyboard-LEDs-22302.patch- Backport upstream patches for Xephyr input hot-plugging / single-GPU multi-seat support: * U_kdrive-fix-up-NewInputDeviceRequest-implementation.patch * U_kdrive-set-evdev-driver-for-input-devices-automatica.patch * U_ephyr-don-t-load-ephyr-input-driver-if-seat-option-i.patch * U_kdrive-don-t-let-evdev-driver-overwrite-existing-dev.patch * U_ephyr-ignore-Xorg-multiseat-command-line-options.patch * U_ephyr-enable-option-sw-cursor-by-default-in-multi-se.patch * U_kdrive-introduce-input-hot-plugging-support-for-udev.patch * U_kdrive-add-options-to-set-default-XKB-properties.patch * U_kdrive-evdev-update-keyboard-LEDs-22302.patch * U_config-udev-distinguish-between-real-keyboards-and-o.patch- u_os-connections-Check-for-stale-FDs.patch Ignore file descriptor if socket or devices dies. This prevents the Xserver to loop at 100% when dbus dies (boo#954433).- Add 50-extensions.conf Disable the DGA extension by default (boo#947695).- Replaced u_confine_to_shape.diff by u_01-Improved-ConfineToShape.patch and u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grabbing-a-shaped-window.patch.- u_pci-primary-Fix-up-primary-PCI-device-detection-for-the-platfrom-bus.patch Fix up primary device detection for the platform bus to fix the Xserver on older iMacs (boo#835975).- Update to version 1.18.1: First release in the 1.18 stable branch. Major themes are bugfixes in glamor, the modesetting driver, and the Present extension. Xwayland users may want to apply the following pair of patches in addition to this release: https://patchwork.freedesktop.org/patch/72945/raw/ https://patchwork.freedesktop.org/patch/72951/raw/ which combined fix an input issue when hotplugging monitors. Both are likely to be included in a future release unless testing discovers further problems. - Remove upstreamed patches: + ux_xserver_xvfb-randr.patch + U_systemd-logind-do-not-rely-on-directed-signals.patch + U_kdrive-UnregisterFd-Fix-off-by-one.patch + U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch- u_Panning-Set-panning-state-in-xf86RandR12ScreenSetSize.patch Fix panning when configured in xorg.conf* (boo#771521).- Handle source-file-list in build not prep - N_xorg-x11-server-rpmmacros.patch: Delete: Process xorg-x11-server.macros in install- U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch: fix build when gbm is not defined.- u_busfault_sigaction-Only-initialize-pointer-when-matched.patch Only initialize pointer when matched (boo#961439). - u_kdrive-UnregisterFd-Fix-off-by-one.patch -> U_kdrive-UnregisterFd-Fix-off-by-one.patch- Add test for defined macro %build_xwayland This can be used to enable the build of Xwayland and the package xorg-x11-server-wayland using a macro in projconf (boo#960487).- Split out Xwayland: * Build a package xorg-x11-server-wayland * Limit build to Factory (boo#960487).- Enable XWayland on Leap also (boo#960487)- u_kdrive-UnregisterFd-Fix-off-by-one.patch * Copy open file table correctly by avoiding an off-by-one error (boo#867483).- Update to version 1.18.0 - refreshed N_zap_warning_xserver.diff, N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch - supersedes u_fbdevhw.diff, U_linux-Add-linux_parse_vt_settings-and-linux_get_keep.patch, U_linux-Add-a-may_fail-paramter-to-linux_parse_vt_sett.patch, U_systemd-logind-Only-use-systemd-logind-integration-t.patch- Update to version 1.17.4: Minor brown-bag release. The important fix here is Martin's clientsWritable change which fixes a crash when built against xproto 7.0.28. - supersedes u_0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch- Update to version 1.17.3: Various bugfixes across the board.  The most visible changes include fixing GLX extension setup under Xwayland and other non-Xorg servers (enabling core contexts in more scenarios), and various stability fixes to glamor and the Present extension. - supersededs the following patches: * u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch * u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch - removed evdev xorg.conf.d snippet since it's meanwhile shipped with evdev driver itself (since version 2.10.0)- u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch Add VBEDPMSGetCapabilities() and VBEDPMSGet() functions (bsc#947356, boo#947493).- Backport a few upstream fixes for systemd/VT handling (boo#939838): U_linux-Add-linux_parse_vt_settings-and-linux_get_keep.patch U_linux-Add-a-may_fail-paramter-to-linux_parse_vt_sett.patch U_systemd-logind-Only-use-systemd-logind-integration-t.patch U_systemd-logind-do-not-rely-on-directed-signals.patch- Improve conditional enablement of XWayland.- Add patch u_0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch Prevent segmentation faults with more than 256 clients (introduced by xproto 7.0.28 increasing the max client count 256 -> 512) Fdo Bug: https://bugs.freedesktop.org/show_bug.cgi?id=91316- Update to version 1.17.2: Pick up a pile of fixes from master. Notable highlights: + Fix for CVE-2015-3164 in Xwayland + Fix int10 setup for vesa + Fix regression in server-interpreted auth + Fix fb setup on big-endian CPUs + Build fix for for gcc5 - Dropped patches: + Patch110: u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch + Patch113: u_symbols-Fix-sdksyms.sh-to-cope-with-gcc5.patch + Patch116: U_os-XDMCP-options-like-query-etc-should-imply-listen.patch + Patch118: U_int10-Fix-error-check-for-pci_device_map_legacy.patch + Patch119: U_xwayland-enable-access-control-on-open-socket.patch + Patch120: U_os-support-new-implicit-local-user-access-mode.patch + Patch121: U_xwayland-default-to-local-user-if-no-xauth-file-given.patch + Patch2000: U_systemd-logind-filter-out-non-signal-messages-from.patch + Patch2001: U_systemd-logind-dont-second-guess-D-Bus-default-tim.patch - Changed patches to work with the new version: + Patch114: u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch- U_os-support-new-implicit-local-user-access-mode.patch, U_xwayland-default-to-local-user-if-no-xauth-file-given.patch, U_xwayland-enable-access-control-on-open-socket.patch * Prevent unauthorized local access. (bnc#934102, CVE-2015-3164)- Fix GNOME X Session for some hybrid graphics (rh#1209347): + add U_systemd-logind-filter-out-non-signal-messages-from.patch + add U_systemd-logind-dont-second-guess-D-Bus-default-tim.patch- Fix build of s390/s390x (bnc#933503)- U_int10-Fix-error-check-for-pci_device_map_legacy.patch * int10: Fix error check for pci_device_map_legacy pci_device_map_legacy returns 0 on success (bsc#932319).- Add xorg-x11-server-byte-order.patch to correctly set X_BYTE_ORDER when compiling tigervnc on ppc64 architecture. Related to bnc#926201- U_os-XDMCP-options-like-query-etc-should-imply-listen.patch * Enable listening on tcp when using -query. (bnc#924914)- Enable systemd-logind integration support: + Add pkgconfig(libsystemd-logind) and pkgconfig(dbus-1) BuildRequires. + Pass --enable-systemd-logind to configure.- u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch * ad hoc fix for mmap's truncated offset parameter on 32bit (bnc#917385) - N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch * hwcursor still considered broken in cirrus KMS ((bnc#864141, bnc#866152)- Update to version 1.17.1: Fixes for CVE 2015-0255. + xkb: Don't swap XkbSetGeometry data in the input buffer + xkb: Check strings length against request size- u_symbols-Fix-sdksyms.sh-to-cope-with-gcc5.patch Fix sdksyms.sh to work with gcc5 (bnc#916580).- Update to version 1.17.0: + Continued work to strip out stale code and clean up the server. Thousands of lines of unnecessary code have disappeared yet again. + The modesetting driver has been merged into the server code base, simplifying ongoing maintenance by coupling it to the X server ABI/API release schedule. This now includes DRI2 support (so that GLX works correctly) along with Glamor support (which handles DRI3). + Lots of Glamor improvements, including a rewrite of the core protocol rendering functions. - Remove upstream patches: + Patch130: U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch + Patch131: U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch + Patch200: U_kdrive_extend_screen_option_syntax.patch + Patch201: U_ephyr_enable_screen_window_placement.patch + Patch202: U_ephyr_add_output_option_support.patch- Add xorg-x11-server-source package that contains patched xserver sources used to build xorg-x11-Xvnc.- Update to version 1.16.2 - Fix present_pixmap when using present_notify_msc - Fix present_notify to return right away when querying current or past msc.Xext/shm: Detach SHM segment after Pixmap is released - xkb: ignore floating slave devices when updating from master (#81885) - fb: Fix invalid bpp for 24bit depth window - supersedes U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch- fix bashism in post script- XServer looks for dri.pc during configure. dri.pc is currently provided by a Mesa devel package, which is pulled in by other requirements, but it might be better to explicitly require dri.pc.- Backport upstream patches to enable Xephyr window placement via new "-output" option or new "-screen WxH+X+Y" syntax. * U_kdrive_extend_screen_option_syntax.patch * U_ephyr_enable_screen_window_placement.patch * U_ephyr_add_output_option_support.patch- Update to version 1.16.1: + mieq: Fix a crash regression in mieqProcessDeviceEvent + ListenOnOpenFD: Remove Resets since this is intended to be for hotplugging connections + XQuartz: Better support turning off "Displays have separate Spaces" on OS X Mavericks + glamor: Fix temp picture coordinates in glamor_composite_clipped_region + glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap + xfree86: Fallback to first platform device as primary + xfree86: Allow non-PCI devices as primary + xwayland: always include drm.xml in tarballs- A better fix for 24bpp graphics problem with cirrus KMS (bnc#890599); Adding a new patch: U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch while obsoleting two patches: u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch- no longer add /usr/lib[64]/xorg/modules/updates to module path (FATE#317822)- only add /etc/alternatives/libglx.so as ghost on suse >= 1315- added /etc/alternatives/libglx.so as ghost - moved libglx-xorg.so to xorg/xorg-libglx.so to avoid messup in case anybody runs ldconfig in modules/extensions- make use of update-alternatives for libglx.so (FATE#317822)- Change U_ to u_ as these patches are not upstream yet: * U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch - -> u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch * U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch - -> u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch (bnc#890599).- Fix corrupted graphics with 24bpp on cirrus KMS (bnc#890599) two patches added: U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch- U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch Send XKB bell event on core protocol bell if such an event is requested. This allows to override the system beep by a desktop provided sound instead of silently ignore it (bnc#890323).- Update to version 1.16.0 (final): + Glamor integration. This GL-based X acceleration subsystem now offers reasonable performance that avoids software fall backs much of the time. + XWayland. This provides an X server integrated into a Wayland window system. It uses Glamor for rendering, and so avoids most of the performance problems inherent in window system layering. + systemd integration. This provides for systemd-based launching and management which improves boot performance and reliability + Elimination of thousands of compiler warnings. We've been slowly adding more and more compiler flags to the stock X build to warn us of unsafe coding practices. Version 1.16 finally addresses the enormous list of these warnings. + Glamor for Xephyr. This X-on-X implementation now serves as the primary development environment for our new 2D acceleration subsystem, permitting rapid development and testing on a single machine. + Non-PCI device support. Many graphics devices are not enumerated with the standard PCI APIs; now the X server can auto-detect and configure them as it does in more conventional systems.- update to 1.16RC4 * non-PCI device support stuff merged - supersedes u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch- Update to 1.16RC3 - Bugfixes all over the place- u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch: Make sure result of shift operation fits into type of variable. This fixes finding the correct visual for RENDER with a BGRA framebuffer (bnc#876757).- %post: * move SaX2 generated xorg.conf file to xorg.conf.sle11 Only in very rare cases a static X configuration is still required on sle12. And, in some cases the migration from a static sle11 X configuration to a static sle12 X configuration is not possible at all, e.g. some video and input drivers are no longer available on sle12. In short, trying to migrate will result in more harm than benefit. (bnc#877315) * remove dangling link /etc/X11/XF86Config (bnc#879360, comment#15) * prevent %postun of NVIDIA/fglrx driver packages from restoring xorg.conf backup or running sax2 as fallback to create a new xorg.conf (bcn#877315)- Fix crash in abnormal condition (bnc#879666, bnc#879489): * u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch Fix a crash when CloseWellKnownConnections() gets called twice. This can happen if FatalError() is called in the shutdown procedure. * u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch Don't call FatalError() on errors in console ioctls when in shutdown.- Added n_xserver-optimus-autoconfig-hack.patch for FATE#316410. This is a little hack to make the X server autoconfigure the output sinks for Optimus laptops. This lets them automatically use outputs that are only wired to a certain GPU. To be removed once our desktop tools can configure this easily.- Remove upstreamed patches: - u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch (patch108) - u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch (patch109) - u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch (patch110)- Remove N_fix_XWAYLAND_SCANNER_undefined.diff Configure line is gone- Add new patches to make non-seat0 X servers work properly with non-KMS video drivers: + u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch + u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch + u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch- added missing pkgconfig(xf86dgaproto) BuildRequires- N_fix_XWAYLAND_SCANNER_undefined.diff * handle undefined XWAYLAND_SCANNER_RULES in configure; fix compilation for openSUSE 12.3- Add missing BuildRequires- Update to 1.16RC2 - Build and pack XWayland DDX- obsolete glamor-devel from the correct package- obsolete also glamor and glamor-devel in addition to glamor-egl- Update to version 1.16.0pre: - Remove upstreamed patches: + Patch223: U_keep_non_seat0_x_server_from_touching_vts.patch- u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch: arch: Fix image and bitmap byte order for ppc64le (bnc#865069)- remove creation of libxf86config which was once used bu SaX2.- Rename u_keep_non_seat0_x_server_from_touching_vts.patch to U_keep_non_seat0_x_server_from_touching_vts.patch, since it's now upstreamed. * See: http://cgit.freedesktop.org/xorg/xserver/commit/?id=46cf2a60934076bf568062eb83121ce90b6ff596- removed N_randr_fix_abi.patch, since it caused the crash with current NVIDIA drivers built against xorg-server 1.15 (bnc#858827)- changed license back to MIT, since xf4nc is no longer patched into X.Org sources (bnc#856905)- Also build with --disable-linux-apm as lnx_apm.lo is still built even if --disable-linux-acpi is used. Both are obsolete and very likely dangerous to use nowadays.- Update to version 1.15.0: The final 1.15 release!- Update to version 1.14.99.905 (1.15 RC5): We're getting perilously close to 1.15 now; this should be the last RC before we're done next week. If you haven't bothered to test a recent candidate, now would be an awesome time to do so and make sure we're releasing something that's going to work for you.- Add u_keep_non_seat0_x_server_from_touching_vts.patch * See: http://cgit.freedesktop.org/~jwrdegoede/xserver/commit/?id=405e2805d3903a8a631f01924593a227c634f05d * Pull request to main xserver git tree scheduled after 1.15 release- u_exa-only-draw-valid-trapezoids.patch * Fix possible x server crash using invalid trapezoids. (bnc#853846 CVE-2013-6424)- Changed patch numbering, reordered patches to group SUSE specific and to-be-upstreamed patches. - Added descriptions to a number of patches. - Renamed some patches: * N_p_default-module-path.diff -> N_default-module-path.diff * n_xorg-x11-server-rpmmacros.patch -> N_xorg-x11-server-rpmmacros.patch- Dropped: * N_0001-Check-harder-for-primary-PCI-device.patch Whith libpciaccess code path irrelevant for Linux. * N_0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch Solved differently upstream * N_bug-197858_dpms.diff This one is upstream already - apparently nobody check this when it no longer applied... * N_bug534768-prefer_local_symbols.patch Upstream has a better suggestion how to solve this. However this patch is no longer needed * N_dpms_screensaver.diff This topic was solved slightly differently upstream - still patch got ported without checking it's context. * N_randr1_1-sig11.diff No longer needed. Problem was fixed differently upstream. * u_vgaHW-no-legacy.patch Problem solved in the nv driver. - Renamed: Those patches will go upstream, thus they are prefixed by a u_: * n__confine_to_shape.diff -> u_confine_to_shape.diff * N_fbdevhw.diff -> u_fbdevhw.diff * n_x86emu-include-order.patch -> u_x86emu-include-order.patch * N_xorg-server-xdmcp.patchA -> u_xorg-server-xdmcp.patch Those patches no longer apply but are kept for reference thus prefixed by b_: * N_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch -> b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch * N_cache-xkbcomp-output-for-fast-start-up.patch -> b_cache-xkbcomp-output-for-fast-start-up.patch * N_sync-fix.patch -> b_sync-fix.patch Those patches came from a foreign source but are not upstream, yet, thus prefix ux_: * u_xserver_xvfb-randr.patch -> ux_xserver_xvfb-randr.patch- Update to version 1.14.99.904 (1.15 RC4): Here's another RC this week. This includes fixes for the GLX regression on OS X and Windows, and fixes for Xinerama and various extensions. - Drop superseded patches: + Patch143: n_autoconf-On-Linux-give-fbdev-driver-a-higher-precedence-than-vesa.patch- removed no longer applied n_Xvnc-pthread.diff from package- Update to 1.14.99.903 (1.15 RC3): - Remove upstreamed patches: + Patch228: u_aarch64-support.patch + Patch229: u_disable-acpi-code.patch A new configure option controls this now + Patch240: U_revert_dri2_realloc_dri2_drawable_if-pixmap_serial_changes.patch + Patch242: U_randr_dont_directly_set_changed_bits_in_randr_screen.patch + Patch243: U_randr_report_changes_when_we_disconnect_a_GPU_slave.patch + Patch244: u_randr_send_rrproviderchangenotify_event.patch + Patch245: u_randr_send_rrresourcechangenotify_event.patch + Patch246: u_randr_deliver_output_and_crtc_events_of_attached_output.patch + Patch249: U_xserver_enable_grabdevice_by_default_for_non_seat0.patch - Drop superseded patches: + Patch16: N_p_xnest-ignore-getimage-errors.diff + Patch79: N_edid_data_sanity_check.diff- Fix naming convention for last patch- Add U_xserver_enable_grabdevice_by_default_for_non_seat0.patch * See http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b537f996574628e69681833ea37dec2b6e- N_x86emu-include-order.patch: Change include order to avoid conflict with system header, remove duplicate definitions- N_randr_fix_abi.patch * Fixes compatibility with nvidia binary drivers. (bnc#849152)- Update to prerelease 1.14.4-rc1 (1.14.3.901) * bugfixes * fixes for security issue CVE-2013-4396 - obsoletes u_Avoid-use-after-free-in-dix-dixfonts.c-doImageText.patch- Add U_randr_dont_directly_set_changed_bits_in_randr_screen.patch, U_randr_report_changes_when_we_disconnect_a_GPU_slave.patch, u_randr_send_rrproviderchangenotify_event.patch, u_randr_send_rrresourcechangenotify_event.patch, u_randr_deliver_output_and_crtc_events_of_attached_output.patch, u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch * Send randr 1.4 events to allow tools to react to new providers. (fate#316408, fate#316409)- u_Avoid-use-after-free-in-dix-dixfonts.c-doImageText.patch * Fixes a security issue, in which an authenticated X client can cause an X server to use memory after it was freed, potentially leading to crash and/or memory corruption. (CVE-2013-4396, bnc#843652)- Update to version 1.14.3: Bugfix release. Changes all over the place. - Remove upstreamed patches: + Patch227: u_init_framebuffer_base.patch- removed modprobe options for NVIDIA kernel module, since these have been moved to the NVIDIA packages themselves- Delete N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch: This patch is no longer appicable. The code has been reworked completely thus the problem fixed with this most likely no longer exists. - Delete N_Use-external-tool-for-creating-backtraces-on-crashes.patch: This feature has multiple issues, there is no reason to keep the patch around.- Remove the unused Xvnc packages - Remove the now unused vnc macro - Remove the Xvnc patches: + Patch17: n_VNC-Add-support-for-VNC.patch + Patch18: n_VNC-Readd-timeout-when-vnc-viewer-connection-breaks.patch + Patch19: n_VNC-Fix-crash-when-no-depth-translation-is-required.patch + Patch20: n_VNC-Don-t-let-VNC-access-the-framebuffer-directly-an.patch + Patch21: n_VNC-Enable-use-of-all-keyboard-layouts-independent-o.patch + Patch22: n_VNC-Fix-crash-due-to-unset-input-device-names.patch + Patch23: n_Xvnc-pthread.diff + Patch24: n_VNC-Add-proto.diff- n_autoconf-On-Linux-give-fbdev-driver-a-higher-precedence-than-vesa.patch: At SUSE we want to perfer the fbdev driver over the VESA driver at autoconfiguration as it is expected that fbdev will work in allmost all situations where no native driver can be found - even under UEFI and with secure boot. replaces: N_autoconfig_fallback_fbdev_first.diff- removed N_vidmode-sig11.diff (fixed upstream already)- Update to version 1.14.2: + Bugfix release, changes include: + dix: fix device scaling to use a [min,max[ range. + dix: pre-scale x by the screen:device:resolution ratio + os: Reset input buffer's 'ignoreBytes' field + dix: don't overwrite proximity/focus classes + dix: plug memory leak in freeing TouchClass + os: Use ErrorFSigSafe from FatalError and it's friends + dix: send the current axis value in DeviceChangedEvents (fdo#62321) + Xi: Use correct destination when swapping barrier events + xf86: don't hotplug output devices while VT switched.- Packaging changes: + Added patch240: U_revert_dri2_realloc_dri2_drawable_if-pixmap_serial_changes.patch For detailed information visit: http://cgit.freedesktop.org/xorg/xserver/commit/?id=77e51d5bbb97eb5c9d9dbff9a7c44d7e53620e68- u_xserver_xvfb-randr.patch * Add randr support to Xvfb (bnc#823410)- Update u_aarch64-support.patch: disable x86 asm also on aarch64- u_disable-acpi-code.patch * Don't build the ACPI code (bnc#805304)- Update to version 1.14.1: This release contains the fix for CVE-2013-1940, see here for more detail: http://lists.x.org/archives/xorg-devel/2013-April/036014.html In the remainder we have two build fixes, a couple of comment fixes and a change to the list.h code to inline the xorg_list_init function. Fairly unintrusive, the lot.- Add Source URL, see https://en.opensuse.org/SourceUrls- rebased u_aarch64-support.patch and reenabled it- u_aarch64-support.patch: Basic support for aarch64 disabled for the initial build of 1.14.0!- Update to version 1.14.0: Here's the 1.14 X server release; the last couple of weeks yielded a couple of useful bug fixes, but nothing that earth shattering. + a bunch of fixes to the touch device + a few fixes to the GPU hotplug bits + software rendering speedups (due to using the new pixman APIs) + elimination of a lot of warning messages (we've still too many) + pointer barriers work There are lots of other fixes too, as always thanks to all who provided patches, review and comments for this release!- u_aarch64-support.patch: Basic support for aarch64.- Update to version 1.14 RC2 1.13.99.902: + Remove upstreamed patches: u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch (patch225)- added u_init_framebuffer_base.patch: initialize buffer.base to fix Xorg segfault in virtualbox guest (bnc#799480)- Update to version 1.13.2: No commits since rc1. Commits from rc1: + EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel + glx/dri2: initialise api to avoid indirect rendering failing randomly + XQuartz: Avoid a possible deadlock with DRI on OS X 10.7.5 and OS X 10.8.2 + XQuartz: Add some verbose logging to debug xp_lock_window being unbalanced + XQuartz: Don't add the 15bit visual any more + version bump for 1.13.1.901 (rc1) + vfb: Initialize the GLX extension again.- disabled build of VNC (xf4vnc), which finally has been replaced by the seperate xorg-x11-Xvnc source package (tigervnc)- let xorg-x11-server require xkeyboard-config again, since Xvfb is part of this package and requires keyboard files as well (bnc#797124)- Update to version 1.13.1: - Remove upstreamed patches: (double checked) + U_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.patch - Removed unrecognized configure options + "--enable-builddocs"- Let the old Xfig program find the ghostscript fonts (bnc#784305)- Update N_autoconfig_fallback_fbdev_first.diff to ensure modesetting driver is used before fbdev.- U_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.patch Track source/mask pixmaps more explicitly for Composite fallback regions. In particular, make sure pExaScr->src/maskPix are cleared when the corresponding pictures aren't associated with drawables, i.e. solid or gradient pictures. Without this, we would in some cases associate the source/mask region with unrelated pixmaps from previous Composite fallbacks, resulting in random corruption. (bnc#786153, fdo#47266)- u_vgaHW-no-legacy.patch * likely fixes build on ppc- /usr/bin/Xorg is no longer listed in /etc/permissions - remove %set_permissions and %verify_permissions and re-enable rpm permission check (bnc#632737 #c27)- N_driver-autoconfig.diff * "ati" needs to be the second choice right after "fglrx"; there must not be a gap between "fglrx" and "ati" introduced by removing "radeonhd" from this list by the previous change- N_driver-autoconfig.diff: * removed radeonhd and unichrome from driver list, since no longer supported upstream- Update to version 1.13.0: + Packaging changes: - Unify naming of patches - Drop upstreamed patches: 223, 224, 300 - 310 (double checked) - Remove patch pio_ia64.diff - not applicable anymore - Remove patch xserver-bg-none-root.patch - not applicable anymore - Remove patch bug474071-fix1.diff - not appliable anymore - Remove patch pci-legacy-mem-fallback.diff - not applicable anymore - Remove patch pu_fixes.diff - not applicable anymore (xaa is gone)- u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch * Do not use intel driver on Poulsbo, Oaktrail, Medfield, CDV. IDs stolen from Kernel psb driver. (bnc#772279) * obsoletes xorg-detect-psb.patch- renamed patches of previous change according to our policy u_* --> U_* (since these were rebased on upstream patches)- Add patches u_dri2_add_DRI2CreateDrawable2.patch and u_0012-glx_Free_reference_to_destroyed_GLX_drawable.patch to fix seemingly random crashes of the X stack [bnc#769553]; patches came from upstream git commits, and were rebased to apply to present version cleanly.- Update to Version 1.12.3 + The third stable update to the X.Org X server 1.12 series is now available. A few smaller changes only since the second RC, some memory leak fixes and two fixes to avoid out-of-bounds array access.- removed redundant buildrequires to xorg-x11 meta package- change xorg-x11 requires to a requires for xkbcomp (xorg-x11 is meanwhile a meta package, which requires any X sample app package); background: Xserver uses xkbcomp on startup for creating the cache file for xkb keyboard map.- let xorg-x11-server require Mesa, since that package includes the DRI drivers (including the "swrast" DRI driver for software rendering), which are required by GLX and AIGLX extensions (bnc#765241)- Update to version 1.12.2- no longer use obsolete %run_permissions; replaced it by %set_permissions (bnc#764101)- added patches to implement GLX_ARB_create_context extensions required for OpenGL 3.0 support (not upstream yet)- changed pixman-1-0 requires to version 0.24 (bnc#759537)- remove BuildRequires to ghostscript-library, since it conflicts with ghostscript-mini apparently now required by some other package- Rebase VNC patches Rebase confine_to_shape.diff- Update to version 1.12.1 - Drop xorg-docs-1.6.tar.bz2: the docs are provided in a sep. package. - Add ABI Provides verification: + pre_checkin.sh to be launched with --tar before checkin (no parameter given will try to do the right thing). + pre_checkin.sh is used during build to verify that the ABI values match the expectations, to ensure we provide by rpm what the binaries do. - Add rpm macro file, allowing driver and input packages to specify %x11_abi_videodrv_req, %x11_abi_xinput_req. - Rebased patches to apply on 1.12.1 code base: + 0001-Check-harder-for-primary-PCI-device.patch + 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch + autoconfig_fallback_fbdev_first.diff + bug534768-prefer_local_symbols.patch + dpms_screensaver.diff + driver-autoconfig.diff + fbdevhw.diff + fix-dpi-values.diff + fix_fglrx_screendepth_issue.patch + p_default-module-path.diff + pu_fixes.diff + p_xnest-ignore-getimage-errors.diff + randr1_1-sig11.diff + vidmode-sig11.diff + xorg-detect-psb.patch + xorg-server-xdmcp.patch + zap_warning_xserver.diff + sync-fix.patch - Drop upstream fixed patches: + U_dix-on-PointerRootWin-send-a-FocusIn-to-the-sprite-w.patch + U_dix-send-focus-events-to-the-immediate-parent-44079.patch + U_Don-t-call-deleted-Block-WakeupHandler.patch + u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch + u_record-fix-sig11.patch- Parallel build with %_smp_mflags; strip redundant sections/tags - Use pkgconfig symbols for BuildRequires/Requires- fixed buildreqs due to reorganization of libvnc/vncproto- fixed buildreqs due to splitted xorg-x11-libs- added /usr/share/fonts/misc/sgi to Xserver core font rendering fontpath (bnc#738961)- U_dix-send-focus-events-to-the-immediate-parent-44079.patch/ U_dix-on-PointerRootWin-send-a-FocusIn-to-the-sprite-w.patch * fixed very visible bug in XI2 handling exposed by a gtk+ bugfix (bnc #740332, fdo #44079)- also package list.h in s390 so that sax2-tools can build- complete s390 fixes- fix build on s390/s390x- add libtool as buildrequire to avoid implicit dependency- u_record-fix-sig11.patch * If you aren't using the Record extension (and you aren't), you can work around the bug by moving the code which accesses the (non-existant) request buffer inside the loop looking at the recording contexts (of which there should be none). (bnc #728964, fdo #36930)- U_Don-t-call-deleted-Block-WakeupHandler.patch: Don't call deleted Bloxk/WakeupHandler() - this avoids crashes when handlers are unregistered from within a handler which are in the call chain behind the current handler (bnc #723777).- zap_warning_xserver.diff: Fix man page to match changed behavior.- update to xorg-server 1.10.4 - VNC patches completely redone by Egbert Eich (N-VNC-*) - Xvnc-pthread.diff: small buildfix required for factory - removed obsolete patches * EXA-mixed-ModifyPixmapHeader-pitch-fixes.-bug-33929.patch * Replace-malloc-with-calloc-to-initialize-the-buffers.patch * U_xserver_fix-pixmaps-lifetime-tracking.patch * commit-5c6a2f9.diff * pad-size-of-system-memory-copy-for-1x1-pixmaps * record-avoid-crash-when-calling-RecordFlushReplyBuff.patch * xorg-server-stop-cpu-eating.diff - adjusted patches * bug534768-prefer_local_symbols.patch * zap_warning_xserver.diff - disabled patches for now * 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch * cache-xkbcomp-output-for-fast-start-up.patch * xserver-bg-none-root.patch * 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch - set VIDEO_ABI_VERSION = 10 and INPUT_ABI_VERSION = 12 in specfile- U_xserver_fix-pixmaps-lifetime-tracking.patch * avoid crash when enabling the desktop icons in gnome3 (bnc#701199)- u_xf4nvc_missing-libz.patch * Xvnc no longer can rely on the toolchain to add the required libs, it uses directly.- update: * randr1_1-sig11.diff removed accidentally forgotten debugging code. * u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch made socket non-blocking. Idea taken from a pach for SLES11.- don't look for 10-evdev.conf for anything older than 11.3 (this includes SLE-11).- remove use-last-screen.patch: This patch has been rejected upstream. We will try to resolve this issue differently by not providing any screen, monitor or device section.- remove disable-fbblt-opt.diff: We are unable to reproduce this issue any more. So let's remove the workaround and start from scratch when issue resurfaces and find a proper fix.- fixed bug-197858_dpms.diff: removed pieces that have been solved differently today.- remove moblin-use_preferred_mode_for_all_outputs.diff: remove moblin specific patches.- rename edit_data_sanity_check.diff -> edid_data_sanity_check.diff- remove p_xkills_wrong_client.diff: made obsolete by commit b7f3618f.- remove xorg-server-1.8.0.diff: issue is now resolved in spec file.- fix zap_warning_fix.diff: recover from noisy people.- remove p_xorg_acpi.diff add u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch removed redundant error message.- remove mouse.diff: Never understood what this patch was good for.- remove p_bug96328.diff: /dev/input/mice is the default mouse for X -configure on Linux for a long time already.- remove xephyr.diff: solved by configure options in spec file.- remove libdrm.diff: not needed any more, drivers seem to be fixed.- remove xorg-docs.diff: solved in spec file.- remove pixman.diff: Doesn't seem to be needed any more.- remove xorg-x11-nonroot-vesa.patch, org-server-nohwaccess.diff: There are other things missing to make those patches useful.- remove: xserver-1.6.1-nouveau.patch. This patch was only cosmetic.- remove: CVE-2010-2240-address_space_limit.patch CVE-2010-2240-tree_depth_limit.patch These security issues have been handled in the Linux kernel in a much more general fashion.- remove: bitmap_always_unscaled.diff missing_font_paths.diff This has now been solved in the spec file directly.- xorg-server-xf4vnc-fix-keyboard-layout-handling.diff Consolidate adapted patches for bugs 400520, 605015, and 660797 into single patch: - xorg-server-xf4vnc-bug660797-fix-keycode-lookup-and-isolevel3shift.diff - xorg-server-xf4vnc-bug660797-multilayout.diff - xorg-server-xf4vnc-bug605015-fix-keyboard-handling-xinput.diff - Fix *major* memory leak introduced by original 1.9 enabling patch- xorg-server-xf4vnc-bug660797-multilayout.diff - bnc #605015, 660797, fallout of fix from May 10: Keyboard handling was not XKB aware, which lead to a multitude of issues. Situation with this patch is not perfect, but way better.- xorg-server-xf4vnc-bug660797-fix-keycode-lookup-and-isolevel3shift.diff - bnc #400520, fallout of previous fix: Analysis for shift/level3 event faking was broken, leading to e.g Shift+PgUp not being recognized correctly.- bnc #605015 - Enable use of all keyboard layouts, independent of remotely set layout - Remove obsolete xorg-server-xf4vnc-bug605015-vnc-umlauts.diff - xorg-server-xf4vnc-bug605015-fix-keyboard-handling-xinput.diff This should basically already enable the use of other keyboards, if the remote keyboard stays at US. - xorg-server-xf4vnc-bug605015-fix-keycode-lookup-and-isolevel3shift.diff This patch fixes keycode lookup (not using any static keyboard layout any more) and ISO-Level3-Shift handling (enabling the use of keyboard layouts that use AltGr for reaching certain characters).- Xvnc should require xkeyboard-config (bnc #682904)- EXA-mixed-ModifyPixmapHeader-pitch-fixes.-bug-33929.patch * EXA/mixed: ModifyPixmapHeader pitch fixes. (bnc #678264, bfo #33929)- Replace-malloc-with-calloc-to-initialize-the-buffers.patch * Replace malloc with calloc to initialize the buffers[] as NULL in do_get_buffers function (bnc #673595)- record-avoid-crash-when-calling-RecordFlushReplyBuff.patch * record: avoid crash when calling RecordFlushReplyBuffer recursively (bnc #673575)- Added --enable-kdrive-evdev switch to ./configure so that the evdev driver can be used with Xephyr's -keybd and -mouse switches- Disable Use-external-tool-for-creating-backtraces-on-crashes.patch: - Security isn't exactly fond of the patch (bnc#666578) - Patch potentially livelocks server in fork() (bnc#660166)- Update xorg-server-xf4vnc-fixes_1_9.diff: Fix Xvnc rendering issues. - Enable build of Xvnc again. - Merge xorg-server-xf4vnc-fix-crash-on-193.diff into xorg-server-xf4vnc-fixes_1_9.diff- disabled build of Xvnc and moved Xvfb to main package; xorg-x11-Xvnc will be a seperate package (bnc #660208)- Add xorg-server-stop-cpu-eating.diff to avoid eating 100% of the CPU when auto-detecting which vt to use on startup.- pad-size-of-system-memory-copy-for-1x1-pixmaps: * Pad size of system memory copy for 1x1 pixmaps (bnc#652523, bfo#32803)- use-last-screen.patch * adjusted the patch to no longer segfault the Xserver during startup immediately when there isn't any screen section specified at all (bnc #661989)- use-last-screen.patch * Use last Screen section found to prefer xorg.conf (bnc #661536, bfo #32430)- added xorg-server-xf4vnc-bug605015-vnc-umlauts.diff as patch, but still disabled- xorg-server-xf4vnc-fix-crash-on-193.diff Fix vnc startup crashes (bnc #660208). Reenabled build of Xvnc. Massive rendering errors, still.- bumped version number to 7.6_1.9.3- sync-fix.patch * fixes the issue that gnome screensaver fadeout could not be stopped (bnc #648851)- xorg-docs 1.6- xorg-server 1.9.3 * This version is functionally equivalent to the second release candidate.- xorg-server 1.9.2.902 (1.9.3 RC2) * includes various build and bug fixes to stability and correctness over previous releases- remove Xorg setuid bit (bnc #632737)- xorg-server 1.9.2.901 (1.9.3 RC1) * many buildfixes and bugfixes- xorg-docs 1.5.99.901 (1.6 RC1) - adjusted xorg-x11-doc.diff- xorg-docs-1.5 - adjusted xorg-docs.diff- disabled again vnc build due to immediate assertion during startup of Xvnc- uncommented non-existing xorg-server-xf4vnc-bug605015-vnc-umlauts.diff- xorg-server-xf4vnc-fixes_1_9.diff: Fix build of vnc server for 1.9 Xserver series.- xorg-server 1.9.2 * This is a brown-bag release to address an issue with the xorg-server-1.9.1 tarball. The version of util-macros used to build the 1.9.1 tarball was modified and could cause problems due to the absence of the -fno-strict-aliasing CFLAG. This tarball was packaged using the unmodified util-macros. This additionally contains a fix for a regression in XQuartz found by Christof Wolf.- commit-5c6a2f9.diff * retain obsolete pixmapPrivate, just for ABI compatibility * reenable patch- xorg-server 1.9.1 (final release) * functionally equivalent to xorg-server 1.9.0.902- disable commit-5c6a2f9.diff for now- commit-5c6a2f9.diff xfree86: Kill pixmapPrivate with a vengeance (v2) ScrnInfo->pixmapPrivate only existed in order to catch invalid access to the framebuffer by making the backing data NULL across the VT switch. This was causing more confusion in the higher layers during mode setting without any real benefit, so remove it. v2: Kill ShadowModifyPixmapHeader() as well. (ABI change!)- xorg-server 1.9.0.902 * This release fixes an input regression introduced in 1.9.1 as well as some additional memory management issues. - obsoletes vbe-bufferoverflow.diff- Xvfb requires xkb rules, so adjust requires of the extra package- xorg-server 1.9.0.901 * This is the first release candidate for xorg-server-1.9.1. We've picked up fixes for some crashers and memory management problems as well as some minor new features including RandR support in XQuartz, 18bpp support in xfree86, and support for the nds32 architecture in xfree86. - adjusted zap_warning_xserver.diff- Use-external-tool-for-creating-backtraces-on-crashes.patch, xorg-backtrace: Use external script /usr/bin/xorg-backtrace for creating reasonable backtraces upon crashes.- set VIDEO_ABI_VERSION = 8 and INPUT_ABI_VERSION = 11 in specfile- xorg-server 1.9.0 * obsolete patches: - dmx-silly.patch - fixed-SYNC-extension-trigger-BlockHandler-test.diff - sw_cursor_on_randr.patch - xorg-evdev-conf.diff - xorg-server-commit-21ed660.diff - xorg-server-revert-event-mask.patch - xorg-x11-server-gl-apps-crash.patch * adjusted patches - 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch - 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch - CVE-2010-2240-tree_depth_limit.patch - cache-xkbcomp-output-for-fast-start-up.patch - confine_to_shape.diff - driver-autoconfig.diff - fpic.diff - xorg-detect-psb.patch - xorg-server-1.8.0.diff - xorg-server-nohwaccess.diff - xorg-server-option_libxf86config.diff - xorg-server-xf4vnc.patch - xserver-1.6.1-nouveau.patch - xserver-bg-none-root.patch * vbe-bufferoverflow.diff - fixes vbe buffer overflow - disabled vnc build for now (standalone server + module)- Replaced the previous xdmcp fix with a simpler approach that doesn't cause login problems in xdm and kdm. (bnc#625593)- CVE-2010-2240-address_space_limit.patch/ CVE-2010-2240-tree_depth_limit.patch * xorg stack/heap overlap fix (bnc #618152)- xorg-server-commit-21ed660.diff * dix: make DeviceEvent coordinates signed for Xinerama (bnc #628295, bfo #24986)- xorg-server-revert-event-mask.patch * locked up mouse event mask patch (bnc #619034)- Add xorg-x11-server-gl-apps-crash.patch to fix crash with GL applications. See bnc#617651. The patch is taken from upstream on the server-1.8-branch and simply updates the glx/ and hw/xfree86/dri2/ directories.- use configure option "--with-sha1=libcrypto" to fix also plain rpmbuilds (bnc #627872)- Fix some shortcomings in the xdmcp implementation. It used to suppress loopback addresses from the list of potential display addresses to report to xdm, even when talking to xdm through a loopback address. Now only display addresses of the same kind as the xdm connection are reported to xdm. This most notably helps Xvnc servers contacting the local xdm, because they were severely affected by the suppression of loopback addresses.- missing_font_paths.diff: * added /usr/share/fonts/{misc/sgi,truetype} to core font rendering default path; always use ":unscaled" for bitmap font paths (bnc #616400)- xorg-detect-psb.patch * remove again "intellegacy" from driver autoconfiguration; that reverts previous change (bnc #608315)- xorg-detect-psb.patch * added "intellegacy" as fallback for "intel" (gets active if 'nomodeset' is set as kernel option) since there is now a new package for the older intel driver, which still has UMS support- remove Xdmx manual page from xorg-x11-server, since it's already in xorg-x11-server-extra- Updated "Prevent XSync Alarms from senslessly calling CheckTrigger()" to make sure SyncTriggerInit() readds trigger to counter (bnc #584919).- Xdmx was disabled in favor of Nomad repository but it is apparently dead (no Xdmx for OpenSUSE 11.2, last build from early 2009). This patch re-enables Xdmx with some silly typo fixed (dmx-silly.patch). Contributed by .- Prevent XSync Alarms from senslessly calling CheckTrigger() when inactive. If an XSync Alarm is set to inactive there is no need to check if a trigger needs to fire. Doing so if the counter is the IdleCounter will put the server on 100 percent CPU load since the select timeout is set to 0 (bnc #584919).- specfile cleanup - removed no longer useful xlog2xconf.sh- adjusted moblin-xserver-no-root-2.patch, renamed it to xorg-server-nohwaccess.diff and enable it by default - rename moblin-xorg-x11-nonroot-vesa.patch to xorg-x11-nonroot-vesa.patch - removed obsolete patch 'xserver-boottime.patch'- Adapted and fixed 'noroot-background' patch originally coming from the Moblin project and enable by default.- On ia64 the Xserver brings its own PIO functions (inb, outb, ...). These are supposed to overrule the ones provided by glibc. Unfortunately this doesn't seem to work under all circumstances. Therefore use inX/outX_ia64 and set appropriate defines.- Fix SIG11 on VT switch when using SW cursor with RandR (bnc #592614).- fix evdev config file (use the one from xserver upstream)- fix libxf86config (resolve references)- fix_fglrx_screendepth_issue.patch * hardcode default color depth of fglrx driver to 24bit to fix video driver autoconfiguration (bnc #593878)- update to 1.8 - obsoletes xorg-server-walk_drivers.diff - adjusted xorg-server-xf4vnc.patch - xorg-server-1.8.0.diff * install evdev config file to the right directory- xorg-server-walk_drivers.diff: * updated patch working more cleanly, fixed coding style, added comments (Rüdiger Oertel)- disabled udev support for openSUSE <= 11.2 (bnc #589997)- re-do xorg-server-walk_drivers.diff again, different approach create screen sections for each possible drivers now it is really using the first driver as in full autoconfig- update to 1.7.99.902 - fixed font path ("--with-fontrootdir")- xserver-1.6.1-nouveau.patch (from fedora) Also, don't treat DRI setup failure as an error for nouveau.- rework xorg-server-walk_drivers.diff- re-implement walking list of possible drivers to find a working one- update to 1.7.99 to get rid of hal - refresh patches - drop p_ia64-console.diff - remove hal-devel from buildrequires - add libudev-devel to buildrequires - add --enable-config-udev to configure- drop un-applied patches p_pci-off-by-one.diff.ia64 xorg-x11-server-1.2.99-unbreak-domain.patch ia64linuxPciInit.diff exa-greedy.diff commit-c941479.diff moblin-hw-xf86-modes-Set-crtc-mode-rotation-transform-befo.patch moblin-xfree86-move-didLock-assignment-down-to-where-the-f.patch moblin-randr-fix-operation-order-so-that-rotation-transfor.patch- update to 1.7.6 * reintrocued record extension * bugfixes- update to 1.7.5 * Only four fixes since the RC, with the fix for 25640 being rather noteworthy - if your X server crashed on replugging keyboards (or using a KVM), you're encouraged to upgrade. - dix: restore lastDeviceEventTime update in dixSaveScreens - Don't double-swap the RandR PropertyNotify event - Xi: reset the sli pointers after copying device classes. (bfo #25640) - RENDER: Fix gradient and solid fill pictures with Xinerama, and misc cleanup - obsoletes 0001-Don-t-double-swap-the-RandR-PropertyNotify-event.patch- 0001-Don-t-double-swap-the-RandR-PropertyNotify-event.patch * The event is swapped in randr.c/SRROutputPropertyNotifyEvent, so it should not be swapped again here. (bnc #573446, bfo #26511)- set VIDEO_ABI_VERSION = 6 and INPUT_ABI_VERSION = 7 in specfile- update to 1.7.4 - obsoletes acpi_events.diff - obsoletes loadmod-bug197195.diff - obsoletes events.diff - obsoletes acpi-warning.diff - obsoletes fbdev_fallback_fail_fix.diff - obsoletes bug-507190_xorg-x11-server-bnc381139-randr-reprobe-on-unsuspend.diff - obsoletes keyrelease-1.5.2.diff - obsoletes 0001-Unclaim-PCI-slot-if-driver-probing-fails.patch - obsoletes 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch - obsoletes bug532341.diff - obsoletes no-return-in-nonvoid-function.diff - adjusted 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch - adjusted bitmap_always_unscaled.diff - adjusted bug-197858_dpms.diff - adjusted cache-xkbcomp-output-for-fast-start-up.patch - adjusted driver-autoconfig.diff - adjusted fixed-SYNC-extension-trigger-BlockHandler-test.diff - adjusted fpic.diff - adjusted missing_font_paths.diff - adjusted p_default-module-path.diff - adjusted p_ia64-console.diff - adjusted p_xorg_acpi.diff - adjusted xorg-detect-psb.patch - adjusted xorg-server-xf4vnc-disable-dmxvnc.diff - adjusted xorg-server-xf4vnc-fix.diff - adjusted xorg-server-xf4vnc.patch - adjusted xorg-x11-server.changes - adjusted xorg-x11-server.spec - adjusted zap_warning_xserver.diff - removed truetype_fontpath.diff - removed libdri_noPanoramiXExtension_symbol.patch - exa-greedy.diff not applied - fixed xorg-detect-psb.patch: rewrite to use second level switch statement for device_id - /usr/$lib/X11/Options is gone (Remove xorgcfg 'Options' list.)- added xlog2xconf, which is a script to create a minimal xorg.conf extracted from Xorg..log- driver-autoconfig.diff: * VIA chipsets: switched to "via" as first try since "via" is no longer renamed to "chrome9" in -chrome9 driver package and - unichrome driver package now disables the "via" wrapper- missing_font_paths.diff * added /usr/share/fonts/{URW,cyrillic} to font paths (bnc #558915)- build Xserver again with '-O2' instead of '-O0', which had been an unintentional change (bnc #551789)- add 'Option "AutoAddDevices" "off"' to xorg.conf only as documented comment, since it caused a lot of confusion (bnc #548085 and various others)- xorg-server 1.6.5 * This release fixes the fact that 1.6.4 would crash on drivers that still tried to initialize the DGA extension. It also has a minor improvement for Xephyr to support nesting within an existing window at a different depth. - obsoletes dga-removal-fix.diff- since we no longer use xorg.conf make ZapWarning the default (bnc #545590)- Fix segfault when killing X with ctrl-alt-backspace. (bnc #545363) * The damage structure for the cursor is not deregistered before deallocation, causing a subsequent DamageUnregister () to segfault. The problem may leave the text console unrestored. (0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch)- 0001-Check-harder-for-primary-PCI-device.patch (bnc #545458) * Primary PCI devices are identified by checking for an 'PCIINFOCLASSES' device which is VGA and has access to the memory bars enabled. If there should be more than one device for which this is true redo the check and also check if IO resoures are also enabled, if this still doesn't turn up a unique result also check for the presence of a BIOS rom.- driver-autoconfig.diff * GeForce 6150SE support broken on nv (bnc #465190/544674)- dga-removal-fix.diff * Here's an updated patch -- removes the _X_INTERNAL from the .c files, renames xf86DiDGAInit to _xf86_di_dga_init_internal, and renames xf86DiDGAReInit to _xf86_di_dga_reinit_internal.- dga-removal-fix.diff * "Removing DGA ended up breaking any drivers calling into the old xf86DiDGAInit function as it tried to see if DGA was already enabled and ended up crashing if the VT wasn't completely initialized. Oops."- xorg-server 1.6.4 * fbdevhw: Test for graphics:fb%d as well as graphics/fb%d * render: return the supported version rather than just passing the proto's version * xfree86/modes: Remove all framebuffer support from DGA * dri2: Don't crash if pPriv is NULL. * Don't send events through the master if the device has SendCoreEvents off. * Don't reset the lastDeviceEventTime when doing DPMS actions * dix: append "built-ins" to the font path in SetDefaultFontPath- bug532341.diff * fixes Xserver crash when running x11perf -shmputxy10 test case (bnc #532341, bfo #23298)- Less intrusive fix for server segfault. Should fix fdo #24010 (memleak).- %post: modify xorg.conf if required * do not change input driver behaviour for existing X.Org configurations- moblin-use_preferred_mode_for_all_outputs.diff * use each outputs preferred mode (bnc #537488)- Prefer locally defined symbols in modules (bnc #534768).- 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch: Fixes segfaults with intel and KMS upon resume (only occuring sporadically).- Update to 1.6.4 RC1, adapted patches.- 0001-config-don-t-shutdown-the-libhal-ctx-if-it-failed-to.patch * no longer need to revert commit c941479 (bnc #528397, bfo #23213)- revert commit c941479 (bnc #528397)- Resynced with patches from Intel's Moblin project. - Updated patches to aply cleanly again.- xorg-server 1.6.3 * This mostly just collects a bunch of minor fixes since 1.6.2. Two notable inclusions are: - Replacing dixLookupResource with dixLookupResourceByType, dixLookupResourceByClass. This returns us to having two resource lookup functions, but this time we have a more sensible name and argument set. - Fixing RandR transforms for drivers providing set_mode_major. These patches were originally slated to land in 1.6.2 but I missed them somehow. - obsoletes commit-cadf65a.diff- xorg-server 1.6.2 * This is the second update to the 1.6 version and is designed to be a drop-in compatible version with various bug fixes and other improvements. - obsoletes various patches * bug-507190_xorg-x11-server-bnc381139-randr-fix-timestamps.diff * includes-fix.diff * security-Fix-a-crash-caused-by-wrong-ordering-of-fo.patch * security-Grant-untrusted-windows-remove-access-on-a.patch * security-Revert-behavior-of-extension-access-for-co.patch - adjusted zap_warning_xserver.diff- Adapt vnc patches to changes in input infrastructure (fixes bnc #508553)- Unclaim PCI slot if driver probing fails (fixes bnc #511529)- includes-fix.diff * build fix - truetype_fontpath.diff * added /usr/share/fonts/truetype to default font path- use %moblin define in specfile- xserver-1.5.0-bg-none-root.patch * removed patch for compalloc.c, which hurts on Moblin - disabled xserver-1.5.0-bg-none-root.patch (only useful for Moblin)- diabled build of Xdmx since it conflict's with NOMAD's Xdmx (bnc #511269)- driver-autoconfig.diff * ati ==> fglrx --> radeonhd --> ati * nv ==> nvidia --> nouveau --> nv (FATE #305109) * openchrome ==> chrome9 --> openchrome --> unichrome * registered vboxvideo - obsoletes radeonhd.diff/radeonhd.h- keyrelease-git.diff * xkb: Don't press+release keys on key events. Fixes submission of F7 to apps on switch from console for drivers that switch fast enough (bnc #141443).- autoconfig_fallback_fbdev_first.diff * fallback to fbdev first, then vesa instead of the other way roundFrederico's patches to support reprobing of connected displays on EnterVT and fixes to set event timestamps properly. - Re-probe RANDR outputs on laptop unsuspend. - Make RANDR 'set' timestamps follow client specified time. - Add missing fields to SRR*NotifyEvent().- Patches taken from Moblin: * security: Grant untrusted windows remove access on all windows. * security: Fix a crash caused by wrong ordering of format arguments. * security: Revert behavior of extension access for compatibility. * Autodetect Plousbo chips. * add -nb command line option to supress root window background stet on startup. * cache xkb output for fast startup. * make noPanoramiXExtension symbol local and initialize.- fbdev_fallback_fail_fix.diff * fix fbdev fallback failure if no xorg.conf exists; fbdev driver complained about required BusID (Egbert Eich)- instead of require do provide INPUT_ABI_VERSION/VIDEO_ABI_VERSION to fix dependancy loop- xkeyboard-config should be required by xorg-x11-driver-input - require INPUT_ABI_VERSION = 4 (provided by xorg-x11-driver-input) - require VIDEO_ABI_VERSION = 5 (provided by xorg-x11-driver-video) - require libpixman-1-0 >= 0.15.2- enable DRI2 build- xorg-server 1.6.1- fixed-SYNC-extension-trigger-BlockHandler-test.diff (bnc #472046) * Reworked ComputeBracketValues(): * Reworked previous patch to IdleTimeBlockHandler() (commit 1f4fb022) (Egbert Eich)- commit-cadf65a.diff * randr: Nuke broken set_origin shortcut. Shortcut is impossible to implement this way, because we don't know for sure whether the crtc of an output has changed or not. (bnc #482838)- renamed modprobe config to /etc/modprobe.d/50-nvidia.conf (required by new module-init-tools).- radeonhd.diff/radeonhd.h: * prefer radeonhd for autoconfig for ATI >= R500- added hal-devel to BuildRequires for input driver configuration support via HAL, e.g. evdev- removed randr12-8d230319040f0a7f72231da2bf5ec97dc3612e21.diff; probably a wrong patch since this commit has been reverted right after by commit b4193a2eee80895c5641e77488df0e72a73a3d99 again - no longer overwrite xorg.conf with an obsolete one; obsoletes disable-root-xorg_conf.diff- regenerated xorg-server-xf4vnc.patch (still disabled)cloud132 1553541677  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.19.6-lp150.7.10.21.19.6-lp150.7.10.2     !!!!!"""####$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#%%%%%%%%%#&&&&&#''''''#(((((((#)))))))*************#+++,,,,,,,,,,,,,,,#----...#////////000#111#22222#3333333333333#4444444#5555555#66666666666666#77788888888888888879999999997:::::77;;;<<=;;;;;;;;;;;7>>>7??????????7@@@@@@@@@@@@7AAAAA777#BBBBBBBBBBBBBBBBBBBBBBBBB#CCCCCCCCCCCCCCCCCCCC##DDDDD#EEEFFFEGGGEHHHHEIIIIIIIIIIIIIIIIIII#JJJJJJJ#KKKKK#LLLLLLLLLLLLMMMMMMMMMMM#NNNNN##OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPOOQRRRRRRRQQQQQQQQQSSSSSTUUUVVTWWWXXTYYYZZT[[[\\T]]]^^T___``TaaabbTTcccddTeeeffTggghhTiiijjTkkkllTmmmnnToooppTqqqrrTsssttTuuuvvTwwwxxTyyyzzT{{{||T}}}~~TTTTTTTTTSSSSQQQQQQQQQQQQQQQQQQQQQQQQQxserverCOPYINGChangeLogINSTALLMakefile.amMakefile.inREADMEXextMakefile.amMakefile.inbigreq.cdpms.cdpmsproc.hdpmsstubs.cgeext.cgeext.hgeint.hhashtable.chashtable.hpanoramiX.cpanoramiX.hpanoramiXSwap.cpanoramiXh.hpanoramiXprocs.cpanoramiXsrv.hsaver.csecurity.csecuritysrv.hshape.cshm.cshmint.hsleepuntil.csleepuntil.hsync.csyncsdk.hsyncsrv.hvidmode.cxace.cxace.hxacestr.hxcmisc.cxf86bigfont.cxf86bigfontsrv.hxres.cxselinux.hxselinux_ext.cxselinux_hooks.cxselinux_label.cxselinuxint.hxtest.cxvdisp.cxvdisp.hxvdix.hxvmain.cxvmc.cxvmcext.hXiMakefile.amMakefile.inallowev.callowev.hchgdctl.cchgdctl.hchgfctl.cchgfctl.hchgkbd.cchgkbd.hchgkmap.cchgkmap.hchgprop.cchgprop.hchgptr.cchgptr.hclosedev.cclosedev.hdevbell.cdevbell.hexevents.cexglobals.hextinit.cgetbmap.cgetbmap.hgetdctl.cgetdctl.hgetfctl.cgetfctl.hgetfocus.cgetfocus.hgetkmap.cgetkmap.hgetmmap.cgetmmap.hgetprop.cgetprop.hgetselev.cgetselev.hgetvers.cgetvers.hgrabdev.cgrabdev.hgrabdevb.cgrabdevb.hgrabdevk.cgrabdevk.hgtmotion.cgtmotion.hlistdev.clistdev.hopendev.copendev.hqueryst.cqueryst.hselectev.cselectev.hsendexev.csendexev.hsetbmap.csetbmap.hsetdval.csetdval.hsetfocus.csetfocus.hsetmmap.csetmmap.hsetmode.csetmode.hstubs.cungrdev.cungrdev.hungrdevb.cungrdevb.hungrdevk.cungrdevk.hxiallowev.cxiallowev.hxibarriers.cxibarriers.hxichangecursor.cxichangecursor.hxichangehierarchy.cxichangehierarchy.hxigetclientpointer.cxigetclientpointer.hxigrabdev.cxigrabdev.hxipassivegrab.cxipassivegrab.hxiproperty.cxiproperty.hxiquerydevice.cxiquerydevice.hxiquerypointer.cxiquerypointer.hxiqueryversion.cxiqueryversion.hxiselectev.cxiselectev.hxisetclientpointer.cxisetclientpointer.hxisetdevfocus.cxisetdevfocus.hxiwarppointer.cxiwarppointer.haclocal.m4autogen.shcompilecompositeMakefile.amMakefile.incompalloc.ccompext.ccompinit.ccompint.hcompositeext.hcompoverlay.ccompwindow.cconfigconfig.guessconfig.sub10-quirks.confMakefile.amMakefile.inconfig-backends.hconfig.cdbus-core.cfdi2iclass.pyhal.cudev.cwscons.cx11-input.fdiconfigureconfigure.acdamageextMakefile.amMakefile.indamageext.cdamageextint.hdbeMakefile.amMakefile.indbe.cdbestruct.hmidbe.cmidbe.hdepcompdevbook.amdixBuiltInAtomsMakefile.amMakefile.inXserver-dtrace.h.inXserver.datom.cbuildatomscolormap.ccursor.cdevices.cdispatch.cdispatch.hdixfonts.cdixutils.centerleave.centerleave.heventconvert.cevents.cextension.cffs.cgc.cgetevents.cglobals.cglyphcurs.cgrabs.cinitatoms.cinpututils.cmain.cpixmap.cprivates.cproperty.cprotocol.txtptrveloc.cregion.cregistry.cresource.cselection.cstubmain.cswaprep.cswapreq.ctables.ctouch.cwindow.cdocMakefile.amMakefile.inXinput.xmlXserver-spec.xmldtraceMakefile.amMakefile.inXserver-DTrace.xmlfilter-xmlto.shsmartscheddocbook.amdri3Makefile.amMakefile.indri3.cdri3.hdri3_priv.hdri3_request.cdri3_screen.cexaMakefile.amMakefile.inexa.cexa.hexa_accel.cexa_classic.cexa_driver.cexa_glyphs.cexa_migration_classic.cexa_migration_mixed.cexa_mixed.cexa_offscreen.cexa_priv.hexa_render.cexa_unaccel.cfbMakefile.amMakefile.infb.hfb24_32.cfb24_32.hfballpriv.cfbarc.cfbbits.cfbbits.hfbblt.cfbbltone.cfbcmap_mi.cfbcopy.cfbfill.cfbfillrect.cfbfillsp.cfbgc.cfbgetsp.cfbglyph.cfbimage.cfbline.cfboverlay.cfboverlay.hfbpict.cfbpict.hfbpixmap.cfbpoint.cfbpush.cfbrop.hfbscreen.cfbseg.cfbsetsp.cfbsolid.cfbtrap.cfbutil.cfbwindow.cwfbrename.hglamorMakefile.amMakefile.inglamor.cglamor.hglamor_addtraps.cglamor_composite_glyphs.cglamor_compositerects.cglamor_context.hglamor_copy.cglamor_core.cglamor_dash.cglamor_debug.hglamor_egl.cglamor_egl.hglamor_egl_stubs.cglamor_eglmodule.cglamor_fbo.cglamor_font.cglamor_font.hglamor_glx.cglamor_glyphblt.cglamor_gradient.cglamor_image.cglamor_largepixmap.cglamor_lines.cglamor_picture.cglamor_pixmap.cglamor_points.cglamor_prepare.cglamor_prepare.hglamor_priv.hglamor_program.cglamor_program.hglamor_rects.cglamor_render.cglamor_segs.cglamor_spans.cglamor_sync.cglamor_text.cglamor_transfer.cglamor_transfer.hglamor_transform.cglamor_transform.hglamor_trapezoid.cglamor_triangles.cglamor_utils.cglamor_utils.hglamor_vbo.cglamor_window.cglamor_xv.cglxMakefile.amMakefile.inclientinfo.ccreatecontext.cextension_string.cextension_string.hglxbyteorder.hglxcmds.cglxcmdsswap.cglxcontext.hglxdrawable.hglxdri2.cglxdricommon.cglxdricommon.hglxdriswrast.cglxext.cglxext.hglxscreens.cglxscreens.hglxserver.hglxutil.hindirect_dispatch.cindirect_dispatch.hindirect_dispatch_swap.cindirect_program.cindirect_reqsize.cindirect_reqsize.hindirect_size.hindirect_size_get.cindirect_size_get.hindirect_table.cindirect_table.hindirect_texture_compression.cindirect_util.cindirect_util.hrender2.crender2swap.crenderpix.crenderpixswap.crensize.csingle2.csingle2swap.csinglepix.csinglepixswap.csinglesize.csinglesize.hswap_interval.cunpack.hxfont.chwMakefile.amMakefile.indmxMakefile.amMakefile.inconfigCanvas.cCanvas.hCanvasP.hMakefile.amMakefile.inTODOdmxcompat.cdmxcompat.hdmxconfig.cdmxconfig.hdmxparse.cdmxparse.hdmxprint.cdmxprint.hdmxtodmx.cmanMakefile.amMakefile.indmxtodmx.manvdltodmx.manxdmxconfig.manparser.cparser.hparser.yscanner.cscanner.ltest-a.intest-a.outtest-b.intest-b.outtest-c.intest-c.outtest-d.intest-d.outtest-e.intest-e.outtest-f.intest-f.outtest-g.intest-g.outtest-h.intest-h.outtest-i.intest-i.outtest-j.intest-j.outtest-k.intest-k.outtest-l.intest-l.outvdltodmx.cxdmxconfig.cdmx-config.hdmx.cdmx.hdmx_glxvisuals.cdmx_glxvisuals.hdmxcb.cdmxcb.hdmxclient.hdmxcmap.cdmxcmap.hdmxcursor.cdmxcursor.hdmxdpms.cdmxdpms.hdmxextension.cdmxextension.hdmxfont.cdmxfont.hdmxgc.cdmxgc.hdmxgcops.cdmxgcops.hdmxinit.cdmxinit.hdmxinput.cdmxinput.hdmxlog.cdmxlog.hdmxpict.cdmxpict.hdmxpixmap.cdmxpixmap.hdmxprop.cdmxprop.hdmxscrinit.cdmxscrinit.hdmxstat.cdmxstat.hdmxsync.cdmxsync.hdmxvisual.cdmxvisual.hdmxwindow.cdmxwindow.hdocDMXSpec-v1.txtDMXSpec.txtMakefile.amMakefile.indmx.xmlscaled.xmldoxygenMakefile.amMakefile.indoxygen.conf.infooter.htmlexamplesMakefile.amMakefile.indmxaddinput.cdmxaddscreen.cdmxinfo.cdmxreconfig.cdmxresize.cdmxrminput.cdmxrmscreen.cdmxwininfo.cev.cevi.cres.cxbell.cxinput.cxled.cxtest.cglxProxyMakefile.amMakefile.incompsize.ccompsize.hg_disptab.cg_disptab.hg_renderswap.cglobal.cglxcmds.cglxcmds.hglxcmdsswap.cglxcontext.hglxdrawable.hglxerror.hglxext.cglxext.hglxfbconfig.cglxfbconfig.hglxscreens.cglxscreens.hglxserver.hglxsingle.cglxsingle.hglxswap.cglxswap.hglxutil.hglxvendor.cglxvendor.hglxvisuals.cglxvisuals.hrender2swap.crenderpixswap.cunpack.hinputChkNotMaskEv.cChkNotMaskEv.hMakefile.amMakefile.inatKeynames.hdmxarg.cdmxarg.hdmxbackend.cdmxbackend.hdmxcommon.cdmxcommon.hdmxconsole.cdmxconsole.hdmxdetach.cdmxdummy.cdmxdummy.hdmxevents.cdmxevents.hdmxinputinit.cdmxinputinit.hdmxmap.cdmxmap.hdmxmotion.cdmxmotion.hdmxxinput.clnx-keyboard.clnx-keyboard.hlnx-ms.clnx-ms.hlnx-ps2.clnx-ps2.husb-common.cusb-common.husb-keyboard.cusb-keyboard.husb-mouse.cusb-mouse.husb-other.cusb-other.husb-private.hmanMakefile.amMakefile.inXdmx.mankdriveMakefile.amMakefile.inephyrMakefile.amMakefile.inREADMEephyr.cephyr.hephyr_draw.cephyr_glamor_glx.cephyr_glamor_glx.hephyr_glamor_xv.cephyrcursor.cephyrinit.cephyrlog.hephyrvideo.chostx.chostx.hmanMakefile.amMakefile.inXephyr.manos.cfakeMakefile.amMakefile.infake.cfake.hfakeinit.ckbd.cmouse.cos.cfbdevMakefile.amMakefile.infbdev.cfbdev.hfbinit.clinuxMakefile.amMakefile.inevdev.ckeyboard.clinux.cmouse.cms.cps2.ctslib.csrcMakefile.amMakefile.infourcc.hkcmap.ckdrive.ckdrive.hkinfo.ckinput.ckmode.ckshadow.ckxv.ckxv.hvfbInitInput.cInitOutput.cMakefile.amMakefile.inmanMakefile.amMakefile.inXvfb.manxfree86Makefile.amMakefile.inXorg.sh.incommonMakefile.amMakefile.incompiler.hdgaproc.hextramodesfourcc.hmodeline2c.awkvesamodesxaarop.hxf86.hxf86AutoConfig.cxf86Build.h.inxf86Bus.cxf86Bus.hxf86Config.cxf86Config.hxf86Configure.cxf86Cursor.cxf86DGA.cxf86DPMS.cxf86Events.cxf86Extensions.cxf86Extensions.hxf86Globals.cxf86Helper.cxf86InPriv.hxf86Init.cxf86Mode.cxf86Module.hxf86Opt.hxf86Option.cxf86Optionstr.hxf86PM.cxf86PciInfo.hxf86Priv.hxf86Privstr.hxf86RandR.cxf86VGAarbiter.cxf86VGAarbiter.hxf86VGAarbiterPriv.hxf86VidMode.cxf86Xinput.cxf86Xinput.hxf86cmap.cxf86cmap.hxf86fbBus.cxf86fbman.cxf86fbman.hxf86noBus.cxf86pciBus.cxf86pciBus.hxf86platformBus.cxf86platformBus.hxf86sbusBus.cxf86sbusBus.hxf86str.hxf86xv.cxf86xv.hxf86xvmc.cxf86xvmc.hxf86xvpriv.hxisb.cxisb.hxorgHelper.cxorgVersion.hddcDDC.HOWTOMakefile.amMakefile.inddc.cddcProperty.cedid.hinterpret_edid.cprint_edid.cxf86DDC.hdixmodsMakefile.amMakefile.infbmodule.cglxmodule.cshmodule.cdocMakefile.amMakefile.inREADME.modesRegistryddxDesign.xmlexa-driver.txtdriMakefile.amMakefile.indri.cdri.hdristruct.hsarea.hxf86dri.cdri2Makefile.amMakefile.indri2.cdri2.hdri2ext.cdri2int.hpci_idsMakefile.amMakefile.ini810_pci_ids.hi915_pci_ids.hi965_pci_ids.hpci_id_driver_map.hr200_pci_ids.hr300_pci_ids.hr600_pci_ids.hradeon_pci_ids.hradeonsi_pci_ids.hvirtio_gpu_pci_ids.hvmwgfx_pci_ids.hdriversMakefile.amMakefile.inmodesettingMakefile.amMakefile.indri2.cdriver.cdriver.hdrmmode_display.cdrmmode_display.hdumb_bo.cdumb_bo.hmodesetting.manpageflip.cpresent.csh3224.csh3224.hvblank.cexaMakefile.amMakefile.inexamodule.cmanMakefile.amMakefile.inexa.manfbdevhwMakefile.amMakefile.inREADMEfbdevhw.cfbdevhw.hfbdevhwstub.cfbpriv.hmanMakefile.amMakefile.infbdevhw.manglamor_eglMakefile.amMakefile.inglamor_xf86_xv.ci2cMakefile.amMakefile.ini2c_def.hxf86i2c.cxf86i2c.hint10INT10.HOWTOMakefile.amMakefile.ingeneric.chelper_exec.chelper_mem.cstub.cx86emu.cxf86int10.cxf86int10.hxf86int10module.cxf86x86emu.cxf86x86emu.hloaderMakefile.amMakefile.inloader.cloader.hloaderProcs.hloadmod.cos.cmanMakefile.amMakefile.inXorg.manXorg.wrap.manXwrapper.config.manxorg.conf.d.manxorg.conf.manmodesMakefile.amMakefile.inxf86Crtc.cxf86Crtc.hxf86Cursors.cxf86DiDGA.cxf86EdidModes.cxf86Modes.cxf86Modes.hxf86RandR12.cxf86RandR12.hxf86Rotate.cxf86cvt.cxf86gtf.cos-supportMakefile.amMakefile.inbsdMakefile.amMakefile.inalpha_video.carm_video.cbsd_VTsw.cbsd_apm.cbsd_bell.cbsd_ev56.cbsd_init.cbsd_kmod.cbsd_kqueue_apm.ci386_video.cmemrange.hppc_video.csparc64_video.cbusMakefile.amMakefile.inPci.cPci.hSbus.cbsd_pci.cnobus.cxf86Pci.hxf86Sbus.hhurdMakefile.amMakefile.inhurd_bell.churd_init.churd_video.cint10Defines.hlinuxMakefile.amMakefile.inint10linux.cvm86linux_vm86.clinux.hlnx_acpi.clnx_agp.clnx_apm.clnx_bell.clnx_ev56.clnx_init.clnx_kmod.clnx_platform.clnx_video.csystemd-logind.cmiscMakefile.amMakefile.inSlowBcopy.csharedVTsw_noop.cVTsw_usl.cagp_noop.cioperm_noop.ckmod_noop.cpm_noop.cposix_tty.csigio.csigiostubs.cvidmem.csolarisMakefile.amMakefile.insolaris-amd64.Ssolaris-ia32.Ssolaris-sparcv8plus.Ssun_VTsw.csun_agp.csun_apm.csun_bell.csun_init.csun_inout.ssun_vid.cstubMakefile.amMakefile.instub_bell.cstub_init.cstub_video.cxf86OSpriv.hxf86_OSlib.hxf86_OSproc.hparserConfigint.hDRI.cDevice.cExtensions.cFiles.cFlags.cInput.cInputClass.cLayout.cMakefile.amMakefile.inModule.cMonitor.cOutputClass.cPointer.cScreen.cVendor.cVideo.cconfigProcs.hread.cscan.cwrite.cxf86Optrec.hxf86Parser.hxf86tokens.hramdacBT.cBT.hBTPriv.hCURSOR.NOTESIBM.cIBM.hIBMPriv.hMakefile.amMakefile.inTI.cTI.hTIPriv.hxf86Cursor.cxf86Cursor.hxf86CursorPriv.hxf86HWCurs.cxf86RamDac.cxf86RamDac.hxf86RamDacCmap.cxf86RamDacPriv.hsdksyms.shshadowfbMakefile.amMakefile.insfbmodule.cshadow.cshadowfb.hutilsMakefile.amMakefile.incvtMakefile.amMakefile.incvt.cgtfMakefile.amMakefile.ingtf.cmanMakefile.amMakefile.incvt.mangtf.manxorgcfgXOrgCfg.precard.xbmcard.xpmcomputer.xpmdown.xbmkeyboard.xbmkeyboard.xpmleft.xbmmonitor.xbmmonitor.xpmmouse.xbmmouse.xpmnarrower.xbmright.xbmshorter.xbmtaller.xbmup.xbmwider.xbmxorgcfg.man.prevbeMakefile.amMakefile.invbe.cvbe.hvbeModes.cvbeModes.hvbe_module.cvgahwMakefile.amMakefile.invgaHW.cvgaHW.hvgaHWmodule.cx86emuMakefile.amMakefile.indebug.cdecode.cfpu.cops.cops2.cprim_ops.csys.cvalidate.cx86emux86emu.hdebug.hdecode.hfpu.hfpu_regs.hops.hprim_asm.hprim_ops.hprim_x86_gcc.hregs.htypes.hx86emui.hxkbMakefile.amMakefile.inxkbKillSrv.cxkbPrivate.cxkbVT.cxorg-wrapper.cxorgconf.cppxnestArgs.cArgs.hColor.cColor.hCursor.cDisplay.cDisplay.hDrawable.hEvents.cEvents.hFont.cGC.cGCOps.cGCOps.hHandlers.cHandlers.hInit.cInit.hKeyboard.cKeyboard.hMakefile.amMakefile.inPixmap.cPointer.cPointer.hScreen.cScreen.hVisual.cVisual.hWindow.cXNCursor.hXNFont.hXNGC.hXNPixmap.hXNWindow.hXnest.hiconmanMakefile.amMakefile.inXnest.manscreensaverxnest-config.hxquartzGLMakefile.amMakefile.incapabilities.ccapabilities.hindirect.cvisualConfigs.cvisualConfigs.hMakefile.amMakefile.inX11Application.hX11Application.mX11Controller.hX11Controller.mapplewm.capplewmExt.hbundleInfo.plist.cppMakefile.amMakefile.inPkgInfoResourcesDutch.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibEnglish.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibFrench.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibGerman.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibItalian.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibJapanese.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibSpanish.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibX11.icnsar.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibca.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibcs.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibda.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibel.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibfi.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhe.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhr.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhu.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibko.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibno.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpl.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpt.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpt_PT.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibro.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibru.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibsk.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibsv.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibth.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibtr.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibuk.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibzh_CN.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibzh_TW.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibX11.shXquartz.plistcpprules.inmk_bundke.shconsole_redirect.cconsole_redirect.hdarwin.cdarwin.hdarwinEvents.cdarwinEvents.hdarwinXinput.cdarwinfb.hkeysym2ucs.ckeysym2ucs.hmach-startupMakefile.amMakefile.inbundle-main.claunchd_fd.claunchd_fd.hmach_startup.defsmach_startup_types.hstub.cmanMakefile.amMakefile.inXquartz.manpbproxyMakefile.amMakefile.inapp-main.mmain.mpbproxy.htrick_autotools.cx-input.mx-selection.hx-selection.mquartz.cquartz.hquartzCocoa.mquartzCommon.hquartzKeyboard.cquartzKeyboard.hquartzRandR.cquartzRandR.hquartzStartup.csanitizedCarbon.hsanitizedCocoa.hxprMakefile.amMakefile.inappledri.cappledri.happledristr.hdri.cdri.hdriWrap.cdriWrap.hdristruct.hx-hash.cx-hash.hx-hook.cx-hook.hx-list.cx-list.hxpr.hxprAppleWM.cxprCursor.cxprEvent.cxprEvent.hxprFrame.cxprScreen.cxwaylandMakefile.amMakefile.indrm.xmlxwayland-cursor.cxwayland-cvt.cxwayland-glamor-xv.cxwayland-glamor.cxwayland-input.cxwayland-output.cxwayland-shm.cxwayland-vidmode.cxwayland.cxwayland.hxwinInitInput.cInitOutput.cMakefile.amMakefile.inX.icoXWin.exe.manifestXWin.rcddraw.hdriMakefile.amMakefile.inwindowsdri.cwindowsdri.hglxMakefile.amMakefile.indri_helpers.cdri_helpers.hgen_gl_wrappers.pyglshim.cglthunk.cglwindows.hindirect.cindirect.hwgl_ext_api.cwgl_ext_api.hwinpriv.cwinpriv.hmanMakefile.amMakefile.inXWin.manXWinrc.manpropertystore.hsystem.XWinrcwin.hwinSetAppUserModelID.cwinallpriv.cwinauth.cwinblock.cwinclipboardMakefile.amMakefile.indebug.ctextconv.cthread.cwinclipboard.hwndproc.cxevents.cxwinclip.cxwinclip.manwinclipboardinit.cwinclipboardwrappers.cwincmap.cwinconfig.cwinconfig.hwincreatewnd.cwincursor.cwindialogs.cwindisplay.cwindisplay.hwinengine.cwinerror.cwinglobals.cwinglobals.hwinkeybd.cwinkeybd.hwinkeyhook.cwinkeynames.hwinlayouts.hwinmessages.hwinmisc.cwinmonitors.cwinmonitors.hwinmouse.cwinms.hwinmsg.cwinmsg.hwinmsgwindow.cwinmultiwindowclass.cwinmultiwindowclass.hwinmultiwindowicons.cwinmultiwindowicons.hwinmultiwindowshape.cwinmultiwindowwindow.cwinmultiwindowwm.cwinmultiwindowwndproc.cwinos.cwinprefs.cwinprefs.hwinprefslex.cwinprefslex.lwinprefsyacc.cwinprefsyacc.hwinprefsyacc.ywinprocarg.cwinrandr.cwinresource.hwinscrinit.cwinshadddnl.cwinshadgdi.cwintaskbar.cwintrayicon.cwinvalargs.cwinvideo.cwinwakeup.cwinwin32rootless.cwinwin32rootlesswindow.cwinwin32rootlesswndproc.cwinwindow.cwinwindow.hwinwindowswm.cwinwndproc.cincludeMakefile.amMakefile.inXIstubs.hXprintf.hbusfault.hcallback.hclient.hclosestr.hclosure.hcolormap.hcolormapst.hcursor.hcursorstr.hdbus-core.hdisplaymode.hdix-config-apple-verbatim.hdix-config.h.indix.hdixaccess.hdixevents.hdixfont.hdixfontstr.hdixgrabs.hdixstruct.hdo-not-use-config.h.ineventconvert.hevents.heventstr.hexevents.hextension.hextinit.hextnsionst.hgc.hgcstruct.hglobals.hglx_extinit.hhotplug.hinput.hinputstr.hinpututils.hkdrive-config.h.inlist.hmisc.hmiscstruct.hnonsdk_extinit.hopaque.hoptionstr.hos.hpixmap.hpixmapstr.hprivates.hprobes.hproperty.hpropertyst.hprotocol-versions.hptrveloc.hregion.hregionstr.hregistry.hresource.hrgb.hscreenint.hscrnintstr.hselection.hservermd.hsite.hswaprep.hswapreq.hsystemd-logind.hvalidate.hversion-config.h.invidmodestr.hwindow.hwindowstr.hxkb-config.h.inxkbfile.hxkbrules.hxkbsrv.hxkbstr.hxorg-config.h.inxorg-server.h.inxserver-properties.hxserver_poll.hxsha1.hxwin-config.h.ininstall-shltmain.shm4ac_define_dir.m4ax_pthread.m4libtool.m4ltoptions.m4ltsugar.m4ltversion.m4lt~obsolete.m4manMakefile.amMakefile.inXserver.manmanpages.ammiMakefile.amMakefile.inmi.hmiarc.cmibitblt.cmicmap.cmicmap.hmicoord.hmicopy.cmidash.cmidispcur.cmieq.cmiexpose.cmifillarc.cmifillarc.hmifillrct.cmifpoly.hmigc.cmigc.hmiglblt.cmiinitext.cmiline.hmioverlay.cmioverlay.hmipointer.cmipointer.hmipointrst.hmipoly.cmipoly.hmipolypnt.cmipolyrect.cmipolyseg.cmipolytext.cmipushpxl.cmiscanfill.hmiscrinit.cmisprite.cmisprite.hmistruct.hmivalidate.hmivaltree.cmiwideline.cmiwideline.hmiwindow.cmizerarc.cmizerarc.hmizerclip.cmizerline.cmiextMakefile.amMakefile.indamageMakefile.amMakefile.indamage.cdamage.hdamagestr.hrootlessMakefile.amMakefile.inREADME.txtrootless.hrootlessCommon.crootlessCommon.hrootlessConfig.hrootlessGC.crootlessScreen.crootlessValTree.crootlessWindow.crootlessWindow.hshadowMakefile.amMakefile.inc2p_core.hshadow.cshadow.hshafb4.cshafb8.cshalloc.cshiplan2p4.cshiplan2p8.cshpacked.cshplanar.cshplanar8.cshrot16pack.cshrot16pack_180.cshrot16pack_270.cshrot16pack_270YX.cshrot16pack_90.cshrot16pack_90YX.cshrot32pack.cshrot32pack_180.cshrot32pack_270.cshrot32pack_90.cshrot8pack.cshrot8pack_180.cshrot8pack_270.cshrot8pack_90.cshrotate.cshrotpack.hshrotpackYX.hsyncMakefile.amMakefile.inmisync.cmisync.hmisyncfd.cmisyncfd.hmisyncshm.cmisyncshm.hmisyncstr.hmissingosMakefile.amMakefile.inWaitFor.caccess.cauth.cbacktrace.cbusfault.cclient.cconnection.cinputthread.cio.clog.cmitauth.coscolor.cosdep.hosinit.cospoll.cospoll.hreallocarray.crpcauth.cstrcasecmp.cstrcasestr.cstrlcat.cstrlcpy.cstrndup.ctimingsafe_memcmp.cutils.cxdmauth.cxdmcp.cxprintf.cxserver_poll.cxsha1.cxstrans.cpresentMakefile.amMakefile.inpresent.cpresent.hpresent_event.cpresent_fake.cpresent_fence.cpresent_notify.cpresent_priv.hpresent_request.cpresent_screen.cpresentext.hpseudoramiXMakefile.amMakefile.inpseudoramiX.cpseudoramiX.hrandrMakefile.amMakefile.inrandr.crandrstr.hrrcrtc.crrdispatch.crrinfo.crrmode.crrmonitor.crroutput.crrpointer.crrproperty.crrprovider.crrproviderproperty.crrscreen.crrsdispatch.crrtransform.crrtransform.hrrxinerama.crecordMakefile.amMakefile.inrecord.cset.cset.hrenderMakefile.amMakefile.inanimcur.cfilter.cglyph.cglyphstr.hmatrix.cmiindex.cmipict.cmipict.hmirect.cmitrap.cmitri.cpicture.cpicture.hpicturestr.hrender.ctesttest-driverMakefile.amMakefile.inREADMEddxstubs.cfixes.chashtabletest.cinput.clist.cmisc.cscriptsrun-piglit.shxephyr-glamor-piglit.shxinit-piglit-session.shxvfb-piglit.shsignal-logging.csimple-xinit.cstring.ctouch.cxfree86.cxi1Makefile.amMakefile.inprotocol-xchangedevicecontrol.cxi2Makefile.amMakefile.inprotocol-common.cprotocol-common.hprotocol-eventconvert.cprotocol-xigetclientpointer.cprotocol-xigetselectedevents.cprotocol-xipassivegrabdevice.cprotocol-xiquerydevice.cprotocol-xiquerypointer.cprotocol-xiqueryversion.cprotocol-xiselectevents.cprotocol-xisetclientpointer.cprotocol-xiwarppointer.cxi2.cxkb.cxtest.cxfixesMakefile.amMakefile.incursor.cregion.csaveset.cselect.cxfixes.cxfixes.hxfixesint.hxkbMakefile.amMakefile.inREADME.compiledXKBAlloc.cXKBGAlloc.cXKBMAlloc.cXKBMisc.cddxBeep.cddxCtrls.cddxKillSrv.cddxLEDs.cddxLoad.cddxPrivate.cddxVT.cmaprules.cxkb.cxkb.hxkbAccessX.cxkbActions.cxkbDflts.hxkbEvents.cxkbInit.cxkbLEDs.cxkbPrKeyEv.cxkbSwap.cxkbUtils.cxkbfmisc.cxkbgeom.hxkbout.cxkbtext.cxkmread.cxorg-server-provides.buildxorg-server.m4xorg-server.pc.inxserver.ent.inylwrap/usr/src//usr/src/xserver//usr/src/xserver/Xext//usr/src/xserver/Xi//usr/src/xserver/composite//usr/src/xserver/config//usr/src/xserver/damageext//usr/src/xserver/dbe//usr/src/xserver/dix//usr/src/xserver/doc//usr/src/xserver/doc/dtrace//usr/src/xserver/dri3//usr/src/xserver/exa//usr/src/xserver/fb//usr/src/xserver/glamor//usr/src/xserver/glx//usr/src/xserver/hw//usr/src/xserver/hw/dmx//usr/src/xserver/hw/dmx/config//usr/src/xserver/hw/dmx/config/man//usr/src/xserver/hw/dmx/doc//usr/src/xserver/hw/dmx/doxygen//usr/src/xserver/hw/dmx/examples//usr/src/xserver/hw/dmx/glxProxy//usr/src/xserver/hw/dmx/input//usr/src/xserver/hw/dmx/man//usr/src/xserver/hw/kdrive//usr/src/xserver/hw/kdrive/ephyr//usr/src/xserver/hw/kdrive/ephyr/man//usr/src/xserver/hw/kdrive/fake//usr/src/xserver/hw/kdrive/fbdev//usr/src/xserver/hw/kdrive/linux//usr/src/xserver/hw/kdrive/src//usr/src/xserver/hw/vfb//usr/src/xserver/hw/vfb/man//usr/src/xserver/hw/xfree86//usr/src/xserver/hw/xfree86/common//usr/src/xserver/hw/xfree86/ddc//usr/src/xserver/hw/xfree86/dixmods//usr/src/xserver/hw/xfree86/doc//usr/src/xserver/hw/xfree86/dri//usr/src/xserver/hw/xfree86/dri2//usr/src/xserver/hw/xfree86/dri2/pci_ids//usr/src/xserver/hw/xfree86/drivers//usr/src/xserver/hw/xfree86/drivers/modesetting//usr/src/xserver/hw/xfree86/exa//usr/src/xserver/hw/xfree86/exa/man//usr/src/xserver/hw/xfree86/fbdevhw//usr/src/xserver/hw/xfree86/fbdevhw/man//usr/src/xserver/hw/xfree86/glamor_egl//usr/src/xserver/hw/xfree86/i2c//usr/src/xserver/hw/xfree86/int10//usr/src/xserver/hw/xfree86/loader//usr/src/xserver/hw/xfree86/man//usr/src/xserver/hw/xfree86/modes//usr/src/xserver/hw/xfree86/os-support//usr/src/xserver/hw/xfree86/os-support/bsd//usr/src/xserver/hw/xfree86/os-support/bus//usr/src/xserver/hw/xfree86/os-support/hurd//usr/src/xserver/hw/xfree86/os-support/linux//usr/src/xserver/hw/xfree86/os-support/linux/int10//usr/src/xserver/hw/xfree86/os-support/linux/int10/vm86//usr/src/xserver/hw/xfree86/os-support/misc//usr/src/xserver/hw/xfree86/os-support/shared//usr/src/xserver/hw/xfree86/os-support/solaris//usr/src/xserver/hw/xfree86/os-support/stub//usr/src/xserver/hw/xfree86/parser//usr/src/xserver/hw/xfree86/ramdac//usr/src/xserver/hw/xfree86/shadowfb//usr/src/xserver/hw/xfree86/utils//usr/src/xserver/hw/xfree86/utils/cvt//usr/src/xserver/hw/xfree86/utils/gtf//usr/src/xserver/hw/xfree86/utils/man//usr/src/xserver/hw/xfree86/utils/xorgcfg//usr/src/xserver/hw/xfree86/vbe//usr/src/xserver/hw/xfree86/vgahw//usr/src/xserver/hw/xfree86/x86emu//usr/src/xserver/hw/xfree86/x86emu/x86emu//usr/src/xserver/hw/xfree86/xkb//usr/src/xserver/hw/xnest//usr/src/xserver/hw/xnest/man//usr/src/xserver/hw/xquartz//usr/src/xserver/hw/xquartz/GL//usr/src/xserver/hw/xquartz/bundle//usr/src/xserver/hw/xquartz/bundle/Resources//usr/src/xserver/hw/xquartz/bundle/Resources/Dutch.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/English.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/English.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/French.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/French.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/German.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/German.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Italian.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Italian.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Japanese.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Spanish.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ar.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ar.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ca.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ca.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/cs.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/cs.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/da.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/da.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/el.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/el.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/fi.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/fi.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/he.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/he.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/hr.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/hr.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/hu.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/hu.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ko.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ko.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/no.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/no.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pl.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pl.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pt.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pt.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pt_PT.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ro.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ro.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ru.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ru.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/sk.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/sk.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/sv.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/sv.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/th.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/th.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/tr.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/tr.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/uk.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/uk.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/zh_CN.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/zh_TW.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib//usr/src/xserver/hw/xquartz/mach-startup//usr/src/xserver/hw/xquartz/man//usr/src/xserver/hw/xquartz/pbproxy//usr/src/xserver/hw/xquartz/xpr//usr/src/xserver/hw/xwayland//usr/src/xserver/hw/xwin//usr/src/xserver/hw/xwin/dri//usr/src/xserver/hw/xwin/glx//usr/src/xserver/hw/xwin/man//usr/src/xserver/hw/xwin/winclipboard//usr/src/xserver/include//usr/src/xserver/m4//usr/src/xserver/man//usr/src/xserver/mi//usr/src/xserver/miext//usr/src/xserver/miext/damage//usr/src/xserver/miext/rootless//usr/src/xserver/miext/shadow//usr/src/xserver/miext/sync//usr/src/xserver/os//usr/src/xserver/present//usr/src/xserver/pseudoramiX//usr/src/xserver/randr//usr/src/xserver/record//usr/src/xserver/render//usr/src/xserver/test//usr/src/xserver/test/scripts//usr/src/xserver/test/xi1//usr/src/xserver/test/xi2//usr/src/xserver/xfixes//usr/src/xserver/xkb/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:9848/openSUSE_Leap_15.0_Update/af997e53a1c7d519d200ed7725931a50-xorg-x11-server.openSUSE_Leap_15.0_Updatedrpmxz5x86_64-suse-linux             ! " ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! #  $   %&&'&&&& %(  ()&* directoryUTF-8 Unicode textASCII textautomake makefile script, ASCII textmakefile script, ASCII textC source, ASCII textC source, UTF-8 Unicode textAlgol 68 source, ASCII textM4 macro processor script, UTF-8 Unicode textPOSIX shell script, ASCII text executablePython script, ASCII text executableXML 1.0 document, ASCII textPOSIX shell script, ASCII text executable, with very long linesXML 1.0 document, UTF-8 Unicode text, with very long linesXML 1.0 document, ASCII text, with very long linesmakefile script, ASCII text, with very long linesC++ source, ASCII texttroff or preprocessor input, ASCII textHTML document, ASCII textautomake makefile script, UTF-8 Unicode textmakefile script, UTF-8 Unicode textAlgol 68 source, ASCII text, with very long linesawk script, ASCII text executablemakefile script, UTF-8 Unicode text, with very long linesassembler source, ASCII textISO-8859 textX pixmap image, ISO-8859 texttroff or preprocessor input, UTF-8 Unicode textObjective-C source, ASCII textObjective-C source, UTF-8 Unicode text, with very long linesXML 1.0 document, UTF-8 Unicode textASCII text, with no line terminatorsBig-endian UTF-16 Unicode text, with very long linesLittle-endian UTF-16 Unicode text, with very long linesBourne-Again shell script, ASCII text executabletroff or preprocessor input, ASCII text, with very long linesPOSIX shell script, ASCII text executable, with escape sequencesM4 macro processor script, ASCII textM4 macro processor script, ASCII text, with very long linesmakefile script, ASCII text, with very long lines, with escape sequencesmakefile script, ASCII text, with escape sequencesexported SGML document, ASCII text RRRRRRRRRRRRRRRRRRRCKtIG4`7utf-8becd47272c80be1c98da4df5d07ede74b84b90e44f33b52dc726ad02c30575aa? 7zXZ !t/8$]"k%#4ղKQ(`h12ʺܠ pYhEp`F0 ` g1J:>tFwt VVu/-LB! J%9(&)|<ʁ8 3yff?ĖSIФ3nJMYcVѡ *^\eVx刢T+Qmԣ\@~Û?r9eK6@ҝ7CBO~cV̮pޔٝ(Zg?AΞ\ve9THTUEd\>@익EJbnEPL88g5܄B+Q]SD6w1VTOb5]5 DcD[]2V}*zD 8*mw_F|T(ב{v[0d;71Ѯ!qJ1:QL3X^]W- 8hˌ&w [9㖸{0LFH2.^ntwHAWȅj'/ =UzT8  gf=>[Vk_+בjdq5#ʺf1O^扬3#؊Udٌ͛oXI@l/]À5󽆟#A$?ĩ('1.tӰk{G܈2W4Y-.PǨjkm?67cf Lx)x\❑nZPEa95H&)F4ߢ8(w@*mxl:6-26XkX x(#tK!٧`1#|ҋ qp@U@J2^U +ќ楩9 3o W5cm.]ޚQh2S7_/j(8uSm7QK-*D72W ?}SDaa͎nK'ktN]喤Z¢x;4n#n=%/q\vU*;4TwZ{oQWKEOa.HYWݸn~hپ` ͳ-,õqWBtH$^MRϽD9yu nXmxq>F$/qvs;Tp|w/nCk-f$ 7opDm`v;HK8[~|s#& `S[4u ghG|u C:5B+Wt8Xr)`Ο_0`Lhbo2gtw9 CdE5fY `d9dah*oD9-]{E[]C?!yt}5ZDz9{Yⵞs΋rtC0=UwX?(,1QotspȡSV($4kq K0|pod.%Z7j"t@z?߈Eb4 C'rBmVϟ}:+Q<+%l RL Ȳ l?}}˳ D*!0cI]45*Rxr8֒>9̅"^ w<ٟ'~b^ϊDG<|ərȤőמl1(੊zP_ͬd}ӷ"63zPłGsBޛ•n%Q]v߱ jxgтYGԼ?;w=]pă &Cq<؁z}l[86wpD@Yiʇu[*ns1YSfszoˤhmɀI/a2(1I a&'i ndO>,˞=z!^.ο[^CAI4 S0 jGdjj?r ʹ-഻[},Rd@}[bW'_v&tVKe= PLI?skҫnY߿ '?PO6dbnӔMTSRrH"|ZYbcCfwZA?t]D)non@hW~77{C>8v/xR:徭d!EF&"3& г麽t\}z=%MyD\\};ȏA"5 A}%/Kٞ*c,\Pj^pQD㸞IWFg 55TWKnei20XD:;'P*⠈O!1R p+˞K+ocH*3dJ*l[u> QƮ)d-߄OؕtGogʡX xSo\U{2qAA?bA,=oK|g;UBdR#t&*m6TS^ ?'!2w5 ayި5h3*ulݐ1{zspzXY#U`e8 A߄`2ZڞpC\3D;Vq1\(Vsa_ȇ_Fx#dݟbaNp,H2_ӊmz_N2,;UX)LUQbvAm\j3y*+4r@moLD'$4[xH&p%B`?Rwǁ-q}iδp$oEGη%§7ȺCXaU-(<ή0ڠWpJЫP\FtV!Y2VśQqWuhkC'pDIo"RWa4$ځ3o-ԁX)2_Qgi1sJ;8ъYݕ_0&%%I I$=fnvEo-&=%ISa)483+Lhʘ#"Jas QJD;ebS[qOx BD C#@5LQnF'^{p-y JPM͖!3u7@Os g&{gi q߮ʳrJ`m|iU(RBㅦe9* c,Z-:(V`(j9Yl_1#gd\f7H69޼QҒ@B4cܭ^ׁ DZ(b}e +2?t x9h]k2 svBxn&V68sp;NSVoF x3u{3D;$|?JFs"miҒ%ၿsbwdL'_a4VW[iAxp@ >{;偎}ONwk-=/@~O&fDLuh;v> YW<=TD'-˴ .2 aa9ap[qGK3}6GH{ku}6/<; Le|iRW! ˜$V ^6SrIsu(ف/m-tQ0'6#2@o3Au0ӻ^̕j囯KT~DOT$ȾR(ҧO@uG# D`g:,k;*>L:޽.(ߑgB쬡̂T$'u{C&pb hryplX(A9Xoxj'nQ,NOEm{76@.~y~72TowșxpR4t-,䊳=?e˭WR5y%d.A5طj}$c`,}W5Y[* %uEpc`HPU˗/;/Q\ (Kl+<&ĬmzÁUU\Y쒶38~Na&N^5R(sF*uЏ մ՘K-gIjW+j2JAIa=ZC|*br9'j&:VFig +n7 &B4FaQbfD_IgW gס'̉qY@FݛqIg`}ǰ#Ҍ5&VVKSuNՊH)BÛt.QrG4;ËYOrat:}(qt]T d2akΛ&Zަ _u⅟W]an]|=i"%Dc:3&)<-%| H{Vk xrcxEaI M|KM%3 4GM$5h \kYVaLԟ Hbn嫾SdҤuP﷊*P9,x0!~wg8,Gnpl}*1 t U-??$xdx1uҁ(X\z.Cc|/l$!lx >1䲮`k,[:j zGu̕_^rU}[ L_lr(RSP 0x^o(Q΃3`%%PŮG&: ~Q{ ö*Ŧ*>bo&"dRO.^nXD O,. NlYabGus wGмNTbpv rn@ ֑2vp/1P=n8XԔ+FIy=!$f3^ 6sXDs5$:;\ ۖM=BsT< '٪*buƥ-څ3~7kIԷ&:9\S:_}! F'#[wIF4{*tOV`,5&Y̰6K >q򿡪g T D+E>dj{VC|rM<%::!-EɮkfD붥m}H\esÈn*EJ]x_ODGa.ޠC uJSpֺ4LJ ugqv}oZ{z5T x< I wS@X-LnBVverFbzP(j(),gJ|2{t\ךaa#('|(PC}4a/P( #κst>*CKib[|HO8?fjvU%n+pwRI%{DTk̒Pb!Dگ0XIRsT"8Xsa^Ot }V^,k&bMZAۢ TNJgWA4@ߔ39T8fםk6-/ ]4r|.$Us' cp)fuv-Moe(_7O)9k2AZ[G$jKKn)!ZNfpqy m pI(~R[f*3xL?"qRSm`X ?$F4$ 4},W1ofL>seΧFiE_[B[Q.P Li1\O}Kr^eYT7`ݹιtv:JrY d,L܊*ѯ1DĠ\^ x*R\`sC{k/$~T]/S8X07>ꟈ-GSkA=?"gvШ|Mk:IZ]]rESxi9RƒT9ZQn^Mf.Lr#Iki14*,CyQP>9gp~ߑU!4hE@cv$T-Ek&YG{%Ζ~HwXL">"'tp6}^nޜӭFLSrA=S0[2Ձ# D7P_BZ/{A0}SFd';9 "Vm@:y:k%%I7_Яһ 'HҬ](U1]Oލ}  ʁBy-rJϧKw>|HWk-'jЊlNi$BZp' hhC\pHaXUꄬJ}zCF?|jL5Z4$^a!aE-Cj@Z˒4uM?k@<| hJacZAz71&/,\ ~ĄmjwޗnO8JQ.hd[:ݸZf?5{Dx`pܲ; ^0n*AZϥ>Zc"V#舉'*^UJ 4ˢz f9XR%haǠ()4rhz8&e^A?OI0R! y8{HϮ~yt+/Wb"M T%K9ݬ)<iy3p}?,+ͯVhj,b7 (VN$_m76-\e2UE%*YH4 7e '.ɸiC 1Gq[;͇/i_sNpe_,Gjmlpv:DvA!7UqэvP㣡_2uc#QFMs)LQv#k5OW*.]ϴ .02GZU`])wb> L.1QbȠ2v4zcxֲ%|.H7tLrBb(X(IL(Ĥ nY J㖃;O(玲w̦HH <~١9=XHxly6d_9Tܘn{p)fV0B1aLԣΤ'Z:ƢoaZNGOz6 vAAH4KG^Fٻzo(`ɱsø^M)VХي}*633G$*vKQS!_]==ZcsCg&5V+{4Rk~tvusRr-|C-_ 3ʸs[ Qwkm|E\Wu!K:2*θ5a=>pһ{2 eYhoJx?e,#RYK wevĻ#Kzmȋ>'Z]/s?S`8ڭWs5Wᑧԇ59) yWaB_)hOQɲl1;YmfD@^wU $ɭ&PyY)iĢ$h D|ϾאHgo)6\%٬Sr̝AuPypE3rU ܞ%#O-ɑPr4u?Q3_6wɨHp1XyS3%Kç۠qbUʫ*GXͅm@{JOj}QλQ{uFh)d?f ,P[{b)bhrVJ٧K'(f Qlj>Ğ,F*YW/FFKV3k5f;'afqfQD+"  tLVn _pL֨!pu>u#RaI!2nuf#́Clo^zC^IGPw5YF^%Z#ݴP3|c4Iqw2 YZ