xorg-x11-server-source-1.20.3-150200.22.5.63.1<>, clp9|R1לVo; 2YʡF: rv蠗[S_sl|$xR"+ ژT:UʜǕtVhqQzCY7y} 4ɅdS8y9"iW^ݗ0[vZ!ޯ95LWI@q*>ؘMD4I Hmu)AR*>>$?d  1 M #,!< 1D AL a\ > FfL\ה״J(j8t9ڄ:Ff+Gf@HPI`XdYl\]ά^.bKlcLdLeLfLlLuLvl*ws@xPy`zCxorg-x11-server-source1.20.3150200.22.5.63.1Source code of X.Org serverThis package contains patched sources of X.Org Server.cls390zp32Q_SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Sourceshttp://xorg.freedesktop.org/linuxs390xr?lm=Y )`*: I[2  s*vL  EV_ (7c ?Zy5Ogu'`YNDE#hnjYp {~ 3o>SQG.n n&!6Tp|Rwi:#]ob@MX,FvAxEX3B8PQtv~eR xn&ZR\)SX M]<~=Ұc] k"{Y{//YRMWdc"%dj ~O ;xVa_bF oA UE N&tr /i5_N$&PPbh_9{ <aH*c: % "h < ; _(| 8b <*un 2X W TxC5RA!Uf"O*= |z q )S &!FHU.#@doY-z0>!s% ,e* HSbP0 *S x2:sN 66X|N=TT1vy)c n# l+ 8 9+ -AgHe f=@" S}k$?.C8 C-K84BXkV H  !gs x x EFFUU''-%13BB) M|<N 6   gވ6G5z3 St^6#0 6{1>e(?|d%wTW51v d+ 2$ 1 7 -)# vpK5K V_t i s92 (y*v DnD k2:r\8-SXw\  b{55nisgGyhF7|&, 8k!Zpiu2:C0C vE, 7:k> pn (Tlk)zW TYko _8k!za d~L ! w@3@>G 6 @nd IH][_Cb4k3H/p'  5 Y+;Zz] F#Nr <7 mo- JP?M  j0_A-} p)3j !G4O?!J*Q x7+ :*4@ CiU -<}ԋ#r  )L,=8W:k;\i 6 N,B>kK>&npJY8 {/S"~}R,g~4 vrL l7L /1-th oQ:,X" ?'e3b{\< Q@a! 6qQV%79a + + TR?". %gv/f 9Pf 4 $ ]7l" ". -!+51S 5&IG?u!tX#9O# *wK<NIV=wqlj^Z BAL R!#uKiV!^wU?kF | 6 O _  >u0?ju $j;03;ir!Cv<0h/ s8 ( 0fy'BO:n1M+&l J B7CI=*xFn t9k(8Wk^ags5 I21/|t)L e)Yw2WNfGhPEduJ^x"nC/(SKrv`ETRv]yyMrd \Z X9V7KgIZXL`sY-s;k0" }& @ v9Zk O qOj7'\,Z1]  &* EBHuI=UzLI!V  D @!K,d4P s 2*  Y!n/ Wu :)!I5 R@|j4%<Bz}- ]H  {H,J k  IK*b,|(, aj !;BB#51 > Qd+*g 3 N*l) nj S)Z/E&>"K(9,AP C%+)9T`6/8 ka L`ztJjD "& '=EGM]H  'Ct^T3SIV %P@(OsBa fu# i[m uU{+&inQ &2h 5. 7'TLT= fxn'')%'''%%%#$9p `. y54>-!0$v;t1 %pKh "U0w!?sAq+B :+k%o['f5v>XSy{E&#/#u%[KZY!7HV%J% 4Wxe1$rv,'BKyJ 8%?KQK H}N! % ܸ'Lt Hf2OaR$| -'~1-$-'Hqg"x^ &{*hx) z;AGsH8oY]9o_ 8{!=AD5IA큤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큤A큤A큤clOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclNclNclNclNclNclNclNclNclNclNclNclOclOclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclOclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclNclOclOclOclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclNclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclOclNclOclNclOclO4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f44b80c232ebddb62d80d66f78799904b4a0b03776e0c4add5a0822ebb2d554d3d00570f8f04c29f749fd9f9d4d06ec8eb483b810398a23fdb6e97d01836b4bff425724285b71ee37b68ff60e0f1110203545076d7e53c32c2eba6039e4c092612de496a67898a4519a646b9f35dc2e05788ad6980816dabe7f772816d3a984456c2afad87ae53971e43c940e2da5d7694ef3642b9beac019133a1a96de53bb492c0eb3135b9079810d536a30d29058d116f9f4c1802020cc0403c6253da2143d8e4f0354cdf6d8ab046aab8c0e57f01a3c725041ce39d5f08221675544b775a8fcac0ceb07d8d598bf81c204cbf0942e43b88a7c97139da591b64173bd9d12c9d603bc289f2bf6a08d85e1c0bc1aa4c39856618c107625ca093c1baeb8a4e38e9f2618227296bf7ac7565e94a139b271ef6e62e61c269181bba98784bfcf89216cce14febd51cdc63676e0525c2265d82f142d07d9062ae5980197e1f6d07cf9f903de41e25a6cb3b0d824dc04930e703ca6f639695048cfe526a0b937a3d2687cfefe7063ac9cbe51215c6595c60c6ba9de465b4a0835d696d6f9a742401dd287a6ee55ca4b3d199ab1ea59ded2b8b0bb153f792059011ad06ae0674ecc18d828c6faf854cce4d40bcb4eeb3fe8a12034b3543f747c538e350d1529ff4d8ac96d5d18ef2ce2fb422a2e25698b9b041c33985b6d3f56334ff0fa2103422c694f7eeff53d6585ed6c3da834acf1dd92914be2b3964ed13d034e3df6b174f2588e2e0f1e9440662cfd655333491b94aeb529d6902b4789f3ab37394c2037096461632e4f5e957e6b1ec884f16a90f79f7f0ac88800d9e9fe7807c86854172de3be36fbb9987fd3a35dc23b95521085e4e3be59b563e3a46caa377e9db0ea172064aa758d10d07e2eb3b9eb2c96cb22348510348b8a8a25b6e584204a012049d4006560b6806b66f5093295f1e564352e734336ac422a72edf25bd599e249920d28dc376341411b4096da403116f5fb3872dd0128eaa5de66bb1a02339c5f6ed2ed40e598b8561cf0227cbabe8e72cd60b42b3d42ff8e0870e827f47f5a18a0a3257acad7bb20b437d98ec9363d0cc22454983c7a1559ed0275cd743c655281c5d9eb0fbfcce0672d9695a4a4ea8844c95fd24bc2e43e4d784d7625bce2ef5b123266476b26d218637decbe4cab9d27c2bb52e5c641cf138dbe7ac04e6ab00888e51adc978a3df9f8d86795f6d1cc472d386cbf59364e8ca56fc1f8f3c4818da7ecd995f9c0ed42666188651bdb26fe565c1f505cc8155104753d902e147489eb0fb2179762982a6fdcfeacc41ed44b469bd7e049ca0ba139eba5c902b7231ed409d220eac206cf0cbd6b2a40d58da6f886c7d02cf67956ef5b4825c9703a3cc64b5d7820a919b321a0d58904f06ed5d268d19089f9606643d0294e6b48904746f60dc78718c0a6adceb26101f7b3a072fb7f3e935c9c411ea3123a054ef249d52053bb260e61e020f9ed93615dae0ffffefc684a40c8e30cceb6dec5a204356e3f3329f15f17a85ec4f216722cddb1266f81c4ad8bec0f27776c1848d2d82f8174992e131b36e7a0cc12608b91fc408be9d76a9ee8cc2233a5bed8afa5616b5105ffd6a7a3faf5cd72cd9b6a0fc1aa2a4b2bd3c9a0d6889d343e15be4a1173d22feceea0129015b83de397e2977bc6d85f57d0b1180278d9e28ddce67d042732172261e01b0ee2dd221181d071d1d8b8df36429326f4f6dd789820429414e922c92020ca39fddb37000b4893914043b8aa6f1c9540d4e4b774537b26d712941338bcbdcec6d3846ccb639e664e5720752fd151af1ae591f645052d8566f07aa7f9e7d37ad9a40d10d58497f15cd6138f208cfc81a07157b25ff8b257b748f7d9f66c7fda86b9ca9b537ad27550b96c13f6c6d2b0b6ac71e5b505d4f8927ccfd696b56df24ec1998548b5bd25903ac69399b19b6b952f1b0861e849747e6a3441cde08237a93fd9374c2f8a011ef9a6234cff154b8b50e0612b3e69e780369cb8de72709178d751843fd193d7146d940d921a487fa57e04319f90814f60196590351195e9f7d8618630aecb530df3672243cca913a3cb29c0a363b73a0049d1cf39bc4c24957cecdfb3cfb682f74ca3a4295676b5eb30022f3fe23624ebd35142879ec34e903846977daae4577efcd8472dec48650e485b9ac59439787b865455d801aabfd9485cff2a61d56a6a45269b309c8f817079d2d053d236ddcf63071eba96d473bd26ce94e53f6cf914594a8feebfe03e7f26df79cbcb75a2f319d818d4722878ca8f72d4acc00e6f44d10d699c18c080e6bfbd43cf663c6438f9ced0070d2177a8f193f357c792c831ac01d32cf67014d424654b089ab636dac6011e61d50b4100a823375c898dfee5a51449f7bb5d78fdd328b01bdb5e48681467fede5b06f0b6027b9a69e6400ae69ed03ef5eb0f3c726bfcedb387a56779284e074a99175de383f91ec3552bb162d912be53f313498813ff0e5908ce40b9a0aebe16692bc5002bd11e8c01a1652110f45684de97a7ec5ed1a8d050a018da62bc9826eac97538a062b1ccfc1e101e8d8742dbe3a9eeb5ae7db8334acb9010b714c49bee23429453954ed6e95bec6783b2e36297647b668e9333f4bfd492c28949410b0e2dcfb8f01b14ae95173f95ccae57315ab15870541bfa42a4b1e971647261b30f93c7444824002307cd4299e0c35daa7bc27951c31db99840e599f5d876034ed156678583cc88b7b1ad95cfd80018c13406b05d7e8cbe1943254ce544dd6ee980998122d819c8ab59ca3120bb8edceae9b97467e9b758638c1573d0b0fa647b160c98b80961d12e36cbe55dab84b39026e9ee2c37d1c9e9826b98fa80f2662335209906acf7bb6029a52bdb469f53528459cfd49b5d08908f878b19ef2a12b8c55cc32158eed40ff1cf5c5a464a7b14c8d6fa969254c3386dbe900dfd159ad6ba4054f8dbeb8edd9fa26da891ed7cd0badb525010e8bc091992846ea5282d7271364f5fef2189bd5acf04b1720b488a4630e25904d2e54792b880e85dba0d81cf109affedea929f616f17882411a3bae44135054a3f247932daec59bdc55eef161597174280cbc3066bef493c39681b7bc1c418a3021c64cf538059c7f193ef45d1769eb114e4f1a1ff3834c5a63fa1a8250597bfd8bfb573f721043bb34f75670296d53f5d12879fece8c222c45985fa65cecead70e50731f5601e929aed55c843fce1a498192fb1ec6d6307b365c29434662b1d9cc17e99a74503d333b921df3c018877dcaa47d58ac2a778677db39befab5c83d67586b1c61de7b26cdd8a6217777107a56611e7e433cdf716b36e74cfb99b415f7fb89f0ec36be4360ad36a2ef3a79d0c8abd3c83253f7f2bcb15eda03ad18f4aaada3be99c51314be617c41d33e3b366fd9bf17b8ea141e3770fe320abcddd2336202fe96215570d1ab7016eb498427f5e4858a4dd859237441e31a64b90b3386b960d0b49c1805fa3281403410d84beed172be9e7c1299450722d53f64554514c9248c61ea8ef1d939b37d587114830d214731fb1760f304fafe08f619f75b4cf75f1a93806ef29558fcc9bdd91a265e86ee1ecd59faec4ce1beb4ba5ae33f626bcd39678a4b725113eb467420f2b9324e04c6a284bdcd0f530932a1e172240b843aac445fa61221492e1e799748bf3eb13441176d44fdacced0b4bfb5bd326331be6e09ad24a6b8a11d7a22ad40cb916fac3fdb8da3909962f6afa08b15acb624d3d994e247ac3633b4d3192d3058ee16ecc1ddda902436f85e5e0bc6a51cc65bdaa5bea14e11067b2c83e2b147626991181c686b41eb303c87628a69ec1a43eb3e91475dd35a221287fdd193f76aee2e4b407e7ec0bd32701ec88c9bdcb0fbb7a70f0f43aa18f652e4fe10028570610e3f5a3b2e992111a8eb5c875baa323935b474a54ddc730a98dcdd54cf40a31a0df4ee35e081c0cd0b297193b131e93995ae07ccc497070dbc090e66896418e55bbfee5f91be2f39d80aa1007f7511fcb95615852944251a7a7500da4a4e892ea3685c3b6b5787efdfb6010d90b1c0b27a84ea51d17d79a8f285c9e89c0cf6a99ecc30882af0a05a635ac8a5299bfe01648849734c7968a2018b052a8528404c99c36b6b08b5f605b11a9ac85c8a696f6fb26e176ff2df20683d2fda707524a70e3a31347b05ca66abbf357b6f70752855151638d4ac09bb8bf0beff26fa0970ab9f020740d77466c22622867999dbe06433ab03f97823cab8362ce6071344397d51374e722b05fce5aba03c3f44d7fe76b759c628eb35c9f8020188c7e667653666823553edfa65e8c3b9b311bc0abf032d0c65e1c248a72c11efcca6ef7c2e6019a7cab47b29b1d30e05b471b86cc88169dda335a530538c9402a6f3f80ec589d9bf416a41fc42b0ea2cb2b666f26f35327eec2cfabbf2dd46bfc940177f097fb7d84d544dc4cd71cb4a27764b55c58bac9ef4463347d33d210d826926f04a80c1ccf05958594c5e60a0a72c772ac8262de5366acddaf2533fd07d3000b3c7306feed1e524d171757be27395f1e121044543ac476cdc6b3208cca67deca0894ff0667e5b5106526fcbc9d0b04cf532af98a63216c6d3e87b203a0d8f73ad5706846c740dbc7b5cc4acccdafbc85682071ee9f5eff393a88b039f2257b47b8b2dc8f3181b858ee7b035291be6db9307f2a3cc50a19e421d4e4b1ff74fefdd6aea0e60ef7733b8bbd5d85b588b894ac5c260294b0797c9ce27c533201240b1aec702dea9c2bfa9335904e80691b2672e5d9cdfbc6f817ae4c8cdee1547977384e804c757c37c28686d077f176b6ef0dee1a43f5f4306fd877fcf863188bbfaf14f43332fc772009d0634f45fad73c458bf5b033192f8dfad40e46345a7329051f6ac22190538980c7724e3d1ab86463b7343fd19125567a18606d8d2fbbed40d054a626b68030078971e54df3738f801ce85cbd788a5401bf270f9866719680403538da8d82b4e2909e6080231c0df7f39ce0ee63e519d77ad3f92a71e43a8cc69b184152e4ea4e7b035a25ffd4b6772bc5657afd6646acf7d3fa473b15fa38ee0a12fb7489f9c858f9e27d6e2f47ad02a016c2f7158e5c34d20f60b23c540dd0a3164a8fe7c022905e177c4e91a6a56cbbbd288baeab826d3b8921b1bccffbcc0f53f7362865159152eb814cb922d8aa1e81052345372391e0880a5e66c17cd47b982b22d525d4bf85ce6f214efeac07d0ed5ad3f6fd88ab80190f687ae6363209074aed676bde91d67977d3c05fe69dfb73fe45f0e2c8705ed62c353563bf666aad356bca375fbde0346b92088e52053ebae3949023d726bd2a6d1b50c481a9c4258bffc342e88d99d719fe72e7460c3497a9ba4ec131ed6022f5617b402c7d3aee384be8e13c0e53209f3b64e47ce551f3e0f2d6e1a46d5813c4ca892d9ad066e442cb88078207f12eda7931c3aee2ac8808a974cfe6f73415a069898012e49072ad9a32296ba06031eb7c16d1a028dc4acfe30f03d8693682e573235eeca2b6b213b272bf435e6f50f5584f1dc1af0923a530687cebe44574bb9df20a9b9a430e4a62fe88ae61bae646fba03ab001afdd8de297e97f53d48ec8146a2e65981ddd9e3218c50343713461b63d1afc06228c29966cbd99be03b2d4771d7bfae763d74b660a556abf6463c8287fadb119c31aa897e9ca5759a928be9101c195540fa8178a292434a3b586a0161964fa5b496093abddbd372aca2f11111fb26eeb6034a00d2f6740fcb902605d9b08df6cdee8bcd3dc08ce3063e48fcfd1a7e2660d95dd32eb51bb337157f9c3f2527a53b1252397b575593a7db739f8fbd4c269c82a7569826b210ab35f824fe11b3e24eaa673bf49904e94b8d8ce0d68df6d6c67384563f9938e85ad6e033b3d62cb908909f750cca81bdc2d7359af4afb2119870d3be13f90a15783fff69acaada46d54bd8898725a180f9e9fdfa2538f9dc50f9e430cf93e049aba39539de7933e3a793da3d56c2b008438a304d8e7bc73a76d6ac4b9365c73afce6fb8a376cf346a481f4d87698a5d67b9f624f2237f3dc60996886bbdd6814afc6ddad90afe79e4e295c852e63a35d4747990e9c74c19cabbd7d4a6bb434c5365a0c49009f3a252e560c19e8eb91ce2c06af147676a6bb684a4c586d38b344dca4fd1c8568481c71b021f28def5c01710097ed3361670eb54ed725ad98a5369fa88364359d81dd372d606abd3c43c5b9649a2e65f15262080971d05d457dc4e405f73e0c366d9f7a70dfc0a4b1c5b1b1c370c10ac9dd9a3efcea072af62cf7bfc907fc31f484770768fe348c44a06a80c20d21f6bc8558bbcb07087df65da924d437a7e8acf5c13b0b547e7e095af6439d774fdf14c1d95f7a78af77c29230a24bd0fa35318cd8cced0b09fae314e0868fddf0d6f42616895999d685aed292818f587ce115517fadc653f5fc63d74db73fe12fc43f72ca641cad24226248229364e68494e8f0962721232bbb62c21ee6ad0599b317b7f842861f020107da7447bb60f2f0ba6e6dd73e427c8f05725fd27f536f63b333969ec378501af6338447c73f6f098cb9b161b55466b35ac82f3dda573dab9e1ceb2ca19529bb6527b555515168ecd7641b73cb51af99d0d4932e32218465359dc607f5576a770bdccb5cd201baa714701555f4bf1eb0a8be1cccaf1187096f6ea7547bd84ac06ed396b5874b2fea46bb43513ae299fe8974dcd5d0836fd9c8a9f65f7727df05e4e7fe78898a00e370dd40b35e2563f879a7a481e8d315d07530df906664ef2a8c1bd807901c56147cdbc9fb4a40d754931e44627bfe0267a6f8cdd115a288e90ddc772cbf4bc63c7f5bbef34c746f69616e2f0e9d83b853222c19a85f8cece3f8a471fe6c306dd86d2a6bcab385eafb8dff5c8ca65f7a094dbd63a860962a8c9d3777f7469abdf4dcbf3e248ce61895ad3c09adc6eee387f74bfbcdebdb918aacb885102ad2852259ca41aadbe3f126b5a87fea5661e6336949062a1e4e583f024a167c58994cdceb7304ac7a4b462492e2e58dc2e75f856f4db67de7b13d50338b4b0f9305eb544dc151544b1a64f200e5dafa956aadd6743587f28080861187ade9f4372a866578e819c294cc263f25ff0fd948e7a0cd8086b0a25e973d02a3a399fae6dff7ea55e73b2e0242d1f49ab039a1006e8e406ad474f81afb67c20cc73994e2154c7c6a7e6539911548208b8b68752169c595c19800355d3a6961d3c3b98d97330941aadc7a80791363031d571a5e42dd0914838c05c6094e2d2348607f5d8fcdce7dafed37d19344adcc4aaca7a5bb6cc9ce0b191202cd57bb2b1457c484c30a2de92bd9f665411b73a4661b1741626b648a41ab33b036475d57edbcbbc622084ce99f543e7260fccb8a88e159685cf3ec33c5f5ef602795cfdff977364eda60dbd7ea0558b8e3bbf8a304082222ba6f179498453f0a1f5501858b69807704b92a2b6497855128ffb7c78f15ae53bed8e04a337167301424bd654dc58804dd8158a456f20911d732a0674235a51608150c7848cf78806a1b8e6e830b55fe2f3b9df61801effeb65495fc87172935899db69a730168b26a723cfc6ec4fa5d861919c750d9f9bd07f9d3597758976439eaa6c2832ba19489bb917d7c548d236b49d9aaf20b3f933ec2e58c4af4083c6a5e2d190dd2d2abba57b97f9af23b62d2503b02bd276b732d320e95c01d09c095194aad34650e496e7526ca3ece5a32feeedbacc74d90457ebf928bac7913822a703e0482aa012c54188dbc3fb8ce2f7dc0ad53d3691fa724273aa10a3c4e41e26d3682f7f0dfa42a2048ed1edf7cdb0a6e474def35f6da0bacd0193993bf8877378f5d9f3f64871388009290fcb044835113b436a54cfc1510eedb4ada945de1a7fb3b24542f4bbf5973ee78c0b246bd667cadede0805cabeeaba26487bdd1e97520dad4b2f6f722aa537335298cd83f7ca2bcda6ab6ec0c325f2ed7da3bf12b8d0d38d1f873a66033fdf16aef6b51c0a67b539146e11f82d4089015e58c1a2aaf8a6d1c44951d2eef663be29ed054b11c1e71adea2a32c6e82caab3605548f6dfff909d31de920aca6bcebf9404a2b8a5e9301f006cc23950c2cb1862cec87d637079fd92f298d5cab7ddc7c9ddc153419255472130885c6f9bbfb1bc40fd93ead8772c0756dcbf6324d567c065f860bf40aa2ad958e67274bde52c3694dedfb8564c7b45198f89a9a5d5e5009a57626d98bc35fb218d76b4e15668aa87dbdf758397ba9e37d3232cc3bff92486cc91a257bf5d0d6e8a2a0b2bfafaffccc03c058c4d972d92d77d5303f7a3bc52eb648688787fb474fd81ca5992fdb624b59369dfcd0cbaf6cbb46d7afadec35f2097cccb08ebae168f7cbdc8d3247145ea847ceed7b12a1700b8e980e3162a039625fcff4e6bc0245a28fd89a0de0be98bb0a91f881802a9c3d24cda5c4496149cd4823ad5c3e22ce1b18ffc57b070290eefd76fc225550aad8ce53cb860233a37bda3c3a9ff06a3358e7bc42a56f3016255213a8ed8730a291888fe037ba17b9b799d60f1b3c33e744917b4d846d5b0a4afe577bee3b370e579e4ffad022788db4f72734ad169c2d49c27e2132e6c0e5e926f8ef3a477517c691121f0aa48b265fcdf2d2c8b8174b2b0d0fc6085988381a394ff1019587c5da3c9c9230bd5af50c42c0e8a3968bb4c2a61251aeefea4c530d283a5d14ff795ec1133f73c7257e116e2b961e93558946de4550575805ed09376a37f3a207d4104b804fdf3c4139f9f75c88be62aaf674ed247d7ab31b5deb0c1a34a1e3c76208ff2d4cc586280f28aac71faa6494ecc0306ea98ca69fde4aa42233f3a523b39c53551d2c6bd19ee4d37fdc6e015e57fb51d9606617b2ff2aeed6f6363d80de69bac98406efc177de3dbc39ec3f2820680fb5cdbfb03b8549c4592f1195af196b2eafdc33d6f88af028e63251b99928a015fd7d192ac24f44ddbdd59e7e0bcba7c3feb46a962daa3469afa728a68f63c8c6a6c77531688470534cc0f4c4bfc8f2c5a674741e46abfcc033776a011c3d5bc48cad7d0394ef9164d7e46c8614c6261be9c28ac72b0ab4482c80815b86521faab2b1be326966ebc27d561dcf7a6b1c69a80a3c4620d2ab2c5108df1f82222d1db5428214ac7117e1203b1542eaae6956d50530d963f0414a09e89d4aebdf319e6f446438ca30bd3ccda96aca34a4d17ec39477ee236daa97429ef391f5c73df46bdd91034b85637be5c444cbbec5aad57929dbc02552844ad440ec61c4ce2a1882b05d0262452dd615bf5e5524aec78008d643fe4f5dce216602ca0fe8ae0feef001e01fc1614123cee1fa8ba2382378c856591706b95ca6a59374a9cb92f8703aeec9f6f1afed3f392c8b8ba1788bf7a68dfc8b57f102a6fe3ed3d52461bfb832af08afcce7db67e42c3575e87263ff66b796c8795497d2e5f797c060b8c4c1df0aa57b836e318061c3c791818fff97ed96c391db429f236fd95b67462a04a7bbf3ffd9d8c0b9484b34689f42fbe4fa0650fc0f212e514aee0e4d9dc6675e8b84c1cca87336fab19a742a3a235c6c66ca2c6513c721b120faa731822595635aeaad53650c4ee3af3c550de822ea81bd542250b3974ad5612ee4c0cab7ba776654b303d5caa98d19b724d2ab7af40a94ee96cc8110aa9c4948bf8071bcdaa0ee03a560d10992ec196c1196cb67a92343dcf9b1eadf67daddbdf1542335bb1dc3699aa25aa5522701a7196acd481d83898697680430671a9d2348c1cf75fcb5b4c83901442ae5eae0f383c6b602ab162ca54b21f38a58a61ec3cbc8fcc56fb3616fb0c4c7ed4a4a26cc070abd28e9412a43ae0d072d10af0b24e55602952593a3d8e02d42d13bbd8871bf44ced15bf7bf9a3f9ba894a8d4aa0fe3c885a7568e89b1358c7f3b2779ed3e88b558f23e6897eef0723e640973071d0cb9dcd30a20423f7fb0c8298430e5696ef0ec1a9175e35171ed5a27eef96c34965de7ba0def7ad84f32a4947fcc417ec59a11f3d136af3d5cb8f9bb742d3d83566c29f78a7d52127ddb4d733194c6914c698bc94738aaaa9612695995bb91ead56bc0f0c63101f376ae13cc1d467855e7a8bbfd37e263df5360c3713cffa0f874305d53c276992ca0e422a2e187360a0322069ed82f86d35d586aa8c6843f3dff646e7c7c668b6a7d205caf5cfd185d208aaeb6a3ec0e17b4e2e89749b2b2bc3f2887d06857f86b9c23b2a35349291afef851cd7ce9ff3773ff34cc44127fe85666f8930e229274094ce6ec3f6229fd7c2f02601ce1b37161530f66121bf053a10962c59317dabaa4e55b9710e633f01dbac7cddfb66932a7f8c86b5553b802a291baba7f2bf7b1df9c4feb5ef507469c782dc9ff64d2bf07f779c1f2c2feb76a6823c032bf6a723c5018e58e1e154ee2dd8980eb34b9dbdeee0c47c9cc4f6775e30ebc57468e515648f7608004bd05315b7a9c19df1775dea678c7b464fa2a6cfe5b070444d1db55c0d8fc7e42b8f6921aaf1d88c74b0cd88295bdfe28b84b432200b8d2fb5b40b0d6eef6016d9f7f56e11143167764b8911197e84e0bd61a19d4f9dab87f874d188b7f5154c6d60474a754816375c7f9ea3ffaf4c80f6fd3d710149c4bc9e980d0be8f8f37acc34369a50d0b3e30e4b9f48ad309bd01ff9a241fe1fccbf2e3eed0d3389f91a3eb2282bf26d67020db2995ca608010769d63f935bd18a2292bbec9c227ed0d8a0cce3db51d3144961c563c9f9ac1c591c1260138019180410b4617feab75d954a779f173a16b950bcb4006e0aeded36b53525c399072d68d206027d0320fd493a5cc7264e864c3f8fc88cf13561e1b018753c03038b124bf9c3ee68544e42cf822056acf0e5705b5b2dcc1a937b81e80b8150310b8fe537e2a21138335f6ad8779e8207a34d90413aa9eda9d70d87aa1f3ff51310f682e43b9d39e676bb69a0cf0654fa11994a1a5c64f0e4a30d0d66bb126bffd89885ad411999fdfd9154d850600a18b2f23c2d2cf04d7157dc32c63267aa48055e0c85f9db5ae75731ec5d5cfb713a4adc635d3590cc6ad5fcff1c495d35124a37dfa325441ac5286840b718cbd915fe8670fec4246085d7dff369a1c3cd87b43a590e1e3643b9ac9919842ea96f4da076f9f607d50d1c00677b9a5759eb168f589ded95bfaa43131b9296517a8f978c625cf99ee92c7b98408d73a0480e879ec85fefe93dddbdb3d1feb170db7b0603429b1503279c622102dd89baa62d961bb50412cea2dbcc2220f41107a4bd99ed4034b83b44cdb65b8359fb74d196543144cdd01d780d16d087dd9b438754d1954346ac85f35a408f12facbc53cfe729c49169e2b4d532db1f03b4b4289a56b9c87b26a92aca0f07ec18be34bbb39af7229792de255acdf478a2d1896f8ef8cfcbc04f3983759a6231bdcf6ce098f7716eb37c7fd6d8fee1360c3771c5542fb117f4714b507e5576ab253b0c2c9e5d43eb6565a0293df6a4982fdcd89e334bfd3d6d48af58d29caf7f931b6c8f6979e98747040ea5bf64ebb923f72f8012cc8e130170759fdb5c65046ca8e061f90ecb67f9ccb0e15983c1571f7bdbbe621594461e57e1d0ed11addc4b4bd803ceea5b6c10df05dd778cf93df899f8ae755942a0508e77f25fb55ae84f3473539e0b6c7f7bcf2f3f5ff51fbbf023da9255a5f8499d031e0ecf6644ae1f19572316d32e384eef247c323a6af09ceaa8199ed38a8c5dd977cb27c2946a1f11030c7491cb1c3763e24ba1c644e247825b7d882671fc59a1da74528e57ef1d59fc96b91ff81e6c512b540986a6e1e438d3e42bb94490a5ee0083289ec5400e228f2080f5b892a3c74a8ed778930d4d59a64b401a25e4370e0f08a8f6ea8e66ed698ad456e67b3414bdc4f3ec8cd0ee19f8c20f7eee6fdbb28b253cd65bacf956fd194a9a152178dc3d5fb339736f2d089a8adfaa50a608bc6f10984230d6cd4b62f274d6abaeecd09ccaada0e11cb54201a1ca774c8173b090eb546f7d10680b077399cae5918c41f12a9d68138e121ea9ffc397f448743ab4dde8006f555d0da3e79efe8a6bd88012099254bc6b1784e0f52593e9de9b811455a86298e5e1116082cc6db346abb8d89c0f758e52f18f7c671a98fe3d6bfe893e6ad2d789c32944b0a3cc0f4c556195cff7357966b6beeeb56427084ea742875890ef7a752bec4e1060aaace1b379e49828e574dfdb0c91ede83756a0021c132de58e8c0414565ce8b1d156647dc3a288cfc9d6842141a6dd36130ed3eb2454d9a80cd5319e1fc106e79d6938f6dc9f16f5d37b15e39c326076a60a4a4d81be3055f8569e6a00f6a2e3c38832d8a633613c2bc9325f40601db64846b853d930d3dd7ed931f6652b4e3b3e0b0eeb2ce0a4fd379f6d8c829c0baea47d608d0d3faeba279ab972104f4dca97e6ce66639e2df663c66dbbb6e4042abd9d5ac8e74b04c369ba2c65e459b2bc1519666390cab41af5cdfe78001acb8dd17b39bca4ec3903a531eb9f19f4f6110e4065a55c8069b493f936e042ef5ac19eb50bbb20d7086d75f2c9affd77552312d349cdce0cf62c946412629ea1f3ce862463146b9ac4b32395ae48492ac97504d9ff062847b85f170888fe25e4ad7765035b5087a4dcca1791f480ceb4cd8881800e43578c764d81101aa0a07881b4477cb1ea3c492e9a4dd58d48a11638c28fa60e482cfebbb811a23327a6fb1f28e521f34cdb8afdc3c8dde35287080b78e3758ce141e791b11757c3cd6686e3f4ddeee658cb62e877fc5d9c325d964524125ffcf7784dc6334ea877509670ea19cd1fe5c75cde5cf655f257d42bd7e119d17931b4bd4135a9a49ebae2c987c49c1416ca2f293d8ef686a2a741c20f1f7d3d0bb097f6650bbc70d984f434497b287defd70b5c4fc76e375e40e284bfe0c974536002a6f96b75c5739c9bdd2e1bb04b6303e3872de3b5b5f05a9eed17b5e52330dc74db8f6c3db3ecd7174ef4ef06f455981ec03267b24c4223ed3303d3cd9357d820864afb257cc86623418c750284d9eedb6eea746c60f753e371b569411bf51c04dc101a47b8c8d1501dbe8a5e63b41834f0a31a63c3945481184a5a2241c9bd51d99d1a6babcd5f8683b955d67bc1e4e8b39cd15966ccb963dc563dfa652ad4eabbc3737d53e43cfe386a00a79fb90b0517690d58e3daae7110e5d5e429aecaed7bfa5eec81bdd1d2e1194e46c97a39ca816e943e4a11f7ebdc914a06f3fbc3a0d1f8201e22206a3de2b366a2a5c92ee113ccf1e03043c6e8eeb9cf9dd3515fcc937d1fefdabbfe06515a75ffa3d1d2aa9ea612a852129af636152c4bcdafacadf2956d328c6976c97359ece4e68d5e772d1807587252d3a21597119e6f7d15cf2972b51e9b9b2772e75987a7a3f6645675db9db89cd075a1697630466d225388e3c1c078faceb4a931b792e93956ad93c552b6aa8ca893fd0983d1d6be64b37ec9286a4f11de73d0c46af824e16ad34d382adca03d471bf6ba2a95cd68a182675f17175a15e88a8755be84f733b5c59d307d18535ed80e336ae072a217fc84ab68dfba7bc9246e4ae3a68d4c4b7c5be31e65ee215431f6f55f6bb5a1e0763128fda80a6d7be1ed7b9bf3b0e53d5e5769ff28ba02e82b1b6fbbb1865e728bd81fa8191d2d672f6ccce954b4473af98db2d6eb5ca710072c30f219ad692ca894bb7d3ae5481f5fe2193eefff365062b8ae65f4b2deaa511a5a937832fee1167b2c1e880bf9e92eb633f952fb319a3d8b794ebd290c2e9ba852264dffa040c4167498beabe3baa767dc3a804b516791828c68502c41f96322246d92fa894441c1a221f9492aa58fb83e53a565131d6038a7dccc43628780b564ace52511641ed1880d3caef3179460deada1fa7f95e58ab6dd901c2700759d4914efc5f0952ff325385ff60e4cf9cd70c303e16b59e85676d5db0004bb0785603af2faacfe40ae4d161fab10309759454ce60f60a6c755c4375545ba1f1389e5313d0fbfdec22518469df37396835491bbdee0816c9b7453e24fac3e4c463938bafbec0486dbf3a439ab86ec6a3c59879c4807d19aa11bc0bdc4e954689aeb9b985a31e76f9c743f020700106ab8b0a71b7cc675cf258d7f52397c31a3f7106bf90eeeb5755f17218256b5e0735830c26e61e5a4d0075161d640903c367be5eab0dc065074d7eb7caccaaf79d6cf4071080503349af6f3491f77c8313959be3ef7f4c546ff43468c5e9ba7d9a3637c0aca721db1e58603aaf5c8877716fdafe2ff5fdadea383a3905e5e84c4479299dd388506d2d4fba2b3a34f0aa2b92abc9d5594754bda6726d0dfb1dc9be534f009e7ad4b77f0959d8e33735a42adb35de82c0bd4d91faed106a206331c4f501e3d5cd787c10c05dccad6632b8c2fa83d9481f7e89d738057929c1e0563a628c56ee0fb55eedb8151026e7fb3f5ee0c56673bbd27a37ab1fb3910a6fbe5adac86651d6eec44fb08c22ffa892d59a47934d6f309b5ec733e99a17cd3a9885b3f5134a762bad1ab3a9cc7a249ad7638285649cda57703d826c5743e312acbd1cc732b542e0e1266b42868f4a93559cf2b920b477354269954c8b5d8b7a9725e5832f7a47293059cb100b44db45a3dbb4c0416c34a2c2d37830ed6dbe7cdbd722ed5a0c085f604198bcddb012a3dc92ce6a3fcc0ad67b71c3de440e656f5b67998421460c7d6d2295ab04878ebb718b6529928bf425abf0fcd4cd37dfb07ba0c923a5d716ab416e7f200b89e47a6b4aaa3964460f5c9f413c3c01e5be39863d0c3398fc2c92fc58321799167d66cbac8d1f27d481d7dd908811b435d6d1ed717b20e5818a6c558ca00beafc83dc7800d264fe3d1e0e3bb5945f053f4dc90329bf64ccea547b77f8845bef12b88e44540748cb8ab92880810f89e123f79cd05d760acdfc711d9f66057e4e59ced4d5409a8cc3a4bbf51a4081d5e917623c4e8b03ffb0b0c5f6d72e1f9786526cef93b95a2860b2f934bc0bf402dbf2b39fa6e397eaed12d8f75fc4d0e470c6de7e0c2e3783ca9b3251dd035af50b73d22c3dc71e0b5805b36396fce8efcd6014f241e93e06b4b58fa3ec801410831d96753911d1fd03bc89e80142eae8b9dfddcb8e5686c25480eb45f4ee8314d158c8481210917143de18dc52f21c517e589a76d094a2f7f00757fa03b38fe9517fe9b104ae6e2c5b301b5408565db5b4e7e206de73a476ee18fa44545654f8f68ec5069f279875cc131eb18500f675a05c32582dc6eb58d36292116e5676ce52139971f3a20c6c07984e22dc775d258d5cb406183d4c2d2c12397b05fa9484b821329416415313391180af82b561085daf0fd1eefbf3c20c364fe6da10978a72dd6026a593e6c7d12e3a8c09522fb6c45c0be70afe7f0300ef51e5146502adafa132b4b6ef8890c41a441516e3d4f65a22726c98d7fbbc02a2ddb37e287b71253519151d130d20d53d3e57ecded7f5c2d5e09c173ad3f953d446fba775ac590b2ed7690c31d85f7c284ad498c77837080127550012a65d348f36eae14986356e9c82662a1461f715ebd9f09a9dc5a289a65c42f85f6f8f9f34e19d64d35355448a0ec11061cfc5b62b5a0c82021a0e38060e164299022e481f2fbf020f0b55daf9a6b596a7cc58bf99c6f9b17081ac704b1e3f11af09ce02b3f6ce0ccf121512c1dd7206c07bf3ec69c5abdd8f6ba93fdfcd51934695493bd9e7855bb229dc46145bb8c75b1d013b472cad0c52d4bce345fff1bd798b3b0a80d28f512bb54b7b28ffe14c9cce31eed427e8df7cb64c81753ba35c40ffb88894e4e9dd269e68a441b94df08498ac81d42365b7ae063153ee36e94cd2603f31126c28f18e6f7e3fcdc510dc06255eec41932c6e58ed1d25a7196f29b6e667e56a1f2ca3cbd0beb8bdf7e8523c3d0c4f6886012f1ffee50f21d14ec8345ca33f91655c91181a7fb2595c83d25f1406846dd8585271954770a4bd2d116113835fd31f7b0804e7bae4eafbb10b0f53cf581e9e595ea5790d906882a48c5b9c8e827dc3d3a2cefc87b493ac18aa1365f1bdaf7b5019a71f81f1ea39066dbe232abf4b500c815a279607d2872d502e252d2fb5e71a9ab3e32fc8d3ec3a07aec09878a340357a9d2d1d9edabaecb1132eb9d9adc45736a3744fa26fb260feb54c3a1f8b345fb65dc69e7ac257233410e75006a3dff62545c303af53db37eff44fd44aaf00beb9b47d328acb6f1f4a36a9892e4817a86b0b5291fe923cdf478f2dc606e2e83d81ecc5f5248620ca03ebfc135fdfbc7c91eaeab07589d3d7e6cf4fc0cce2af72f6dca28b7fb1bec7230ab0713d97aadaccb7817bbd8a355527142cf03833408a3cceb947eefc442f9eafa33c5cd07c1fd88c1b83539f7b516ad7a3dc0433253fab4cca4fa77b466505c04fa1ffdf19871041053317e12e2f5c2e9a68661547e8f6c3ee90c6df943d583e02973946de3fade30c3d51c2e35b8c7a9040e58dd8198552e4b4c7f5b57e0215d71a2a76460c0873ab654e5b42f558d6fff44f0c8cff04d5226f5c2669bb47e4a6dd12769b024396187977d6d6ce0582bf313765ad9cfe73cae79bf69490386ff6f552051f654cb8ae695b05b4acc7f6da09b6e7694f1d238237e62b45f6b8c920bc630701d3876c5ed5f2acc8d2feda86c8b3c0674a2413cc5666bd1465d0abdb5f5f311fd3fdfc606fa1483bff25de7768efe467927afc2c6fb7f0589182c6457ff617a0614db7679e6c20e1a14615bf32314432f9fa477d19297cc75017649c110e1dde76831dc4d10b389ecd264b5cebf512c915e2645e2c35e2699266d79d732a7a807f4e24400b9fc70ad9b2ff8f0a515446121c3fc1d0f7422d08297e1330fe998ed51eacad21f32480048a3d4a79c92e446e2f47e80ed1bd02a38b3df36ae49d787e6a3888482f51c09fc069d77ca35b23913e90f6d3304ccaacb2e22e9de189dd7abf4bba59dae43f70cbee24339b28985879031861d0a5ecb2117a794376ad00cb1e3e6728ac3a53cf2bd4f2a1a8a0ce4d35ff9ce93542b3e750d9718faecef2d428ba50a6672b16e997bb163ff9955085981117b760a39e27a760cd681387a0d5a80daf25e1b4b60a969c3aecd273ad194beeb3c28696f10cf4f48a930a916ea815e70c141ffc759faf374dd3a36777a1b140eb5ebf3ff261087d153c8ccc337f30007b5e5da56ae68636abd15b928155915986ca1458bac5b9a43646f1e476ea0f7cd894c84d2c8a60b88f422dd5704a91941691bd3798346c9c9e37243085e5717f08aa58894aeb4a95793a19ca673035bc6482f2b8606087ac67bc907ce4f2a37879029583a95a234600be57aa969271594ae379fbcbb44ec1c1e9e635588b5f20ed68d25c9448ed416e8b73f4a4fdbf0c42f81b7e47f151a329ab25c1a22377d11312ae3e93028d68b22245ecf507fd56d28320a4b7dd4b43b655e5ae4e5ef0314c75a1fec51e62e35ee392a9964351d05baf9676eaba0567c0a36cb055f6de156f8925ee2ba656721bcfc14b2f26c7b1385952ff660fec8b14767ba15a164c66929eba5898de3df4b1bafccc7e0a8daf177396d1844e6fab2e91a5c0f948279180562e84c96614ccac966657e7c188626fc608dd72925b32ddb8231711b6714a914241cf4cfb5e69fbcd84a0a00f3662d3b59c28c9a3a2cc46d28e3463b0ae58e329ec54aecf39b712c2f37807add8397a8de0d3686aee6d35abcae8c75cd20cdc2f134b0444bc975c44075fc336a4f55062bab23e83254526806d0af8a38c7e379b246dee00c13849bb0c9e58a6aa9b7b8dd906674c9c471974569cbde7158afa0bf1d21dee7407110e0c541db15f60d087cfb0ddc8d41d073593ce8a1a69326987819cec25b3b352af1cfc1b1e1801a95654c3a2fa2a8473bba3b9a58df39100bd2d9677a4eb92e677b8ec0f928fd6f4926171cd5f4324de4ecef2788b89ba553135b59fb0daaa9351e13e84ff5bbc463b914706bea4409096e08a52ab5be1ae71c89e1f555b18282396bb49638cbb0629532956704fb656cb9e824d7340cb1fc731f29e576817f854333c120a1f64a930964df752dc8093f656954c96dbbaf5b388a363054851aa4de3599a0c08ee1f1fbf9702a9e13ad089ae825b3976f08c4fc62b61c858ecb5ce446a56b693b13e745066da53609cbf3c531df6897be730d3e593205a128878cf833fe61b6974c4561e04b66f29e9a9a53e76966c0bbf9bf0e012c555df88bb60008140e27aa93c9492192cce6b6b3bfad1b95a683c5b04ead15f307131c81c6f1f36d362a59b441d7c21e3529c4930536066205c90ca8bb4e285a5c92abfb8a315f04af3a9566f717bc0932373aead0985adcb6f96e27abab15db302eade4322b0d50d936c59921cdc6def6a7fd8f6bcccb2abe12d51d943179d22db01a91665164df13246713f5b9910ddbea76cde89f32d772991319021507ed93288bd5f853f2ad092a0354acdf585d30daa8e7d7c039bc935e559ed418828027af0a4c3655c3b6d271466dba0d5fc54d682570b3784ec67f652e43fe1a7aa4f9dcf40144630621a04a03b2ed669b72b15d6645174f477c4ad55efb78581f0d21d9a5b558b1612cba9fd093b4dc66ba1ea62a797ca154d348a8f49903c06660775c66197e4564e807127c4a2496dbede5f742d13b98cb109f2b025eaa3284be0df5d8a7adeba70f56ca64d285369c23baebdea74bc932af506fe55260cb50f0c470458f2768bd16df177979d3be8551aa1eed1ead90de266919cd99a64930aec8725cc7c86be85042d288aad9472783b41a8dce154dfca68b5ac2518c1adf7a75f4cb7b3b7a4b9b105cfbe0813183c1d0fab7f8e286298599d5c5b141490d57f61c92f6e43a7d1ab27c6a435b57c418a454a4e10691ff87514d5111d7049ce2bd58531ab536ee63c748e2557a90a3a335f8bda82a9d1312e6ef93c22b8b0bcbf536103647e9c503149c6ec82aed855a01b5f29fef1cdc6934430a43330b435caa9985b5f5784fd14fcba85e0a3479a778bdfc5526070a1cfc41f00f218c75ae153779d2e9029ce2ee37e545dd395d16d0ae54d1b06235fb57e2dffd545102504308177fce1082b200b42721e90ed032375db92824bb53b1155d68a4aa382b742e4dabb019e7bd18c27eb94dee459fb701996212252048317ea1902fdce09386650bc9fb7a84ba67cfd846b70719a2a5d52f88273a8bc34fd2d4766ee03125cbf7f96a1702b9a90d3d88a82cbd07103cf43bb88d5ec20ac6fc04642c4dade13afadcd96f0094d22f810dcf73e23600785ef9eb4035ba84cc1d08d01e051132db7075022c1c978ae1657b2ebfbd177cdc363e8736d1ddc74b178a796b0ceb5b52136a98d2e4148b13ec46691f8ad272adc04f5bca9020ebbe3aa69bf68ead5b4f2cd965b1f52b3aab35bda6134a687ded05c4ce825927f9312266dcb180174f3ff5ef4babc5471b02d41b092b2e0c2c445d188b63fe4f4b9a250ac0a9693e526ab335a95f92345d0f247efbd919d4058737cd49cf46247c63e3e58afd897a5631cd85ff7b790e9233940993cd9691f9f0bbe89215baf721a99c5b5bd640b06ed657012371febf2a394e536902cf172114484075875fa0df67c399b4ddd8b8a6befe4e28bb8048c90c4019015a1a430431d5a1452ecd7b9020b09adc39a6c03dcc14d81fe3a242aa0f0f3c914eed1756effa042ed3e8f27bc31deecdacc8ff6575e97728c793ce5d4458f6c9f94098ae1cbe4dcb76b63151b631ecb7b7652c61b7d133280fbfc8615dc98996292e6726531c5f041adc1430380f0cb6058b9c89ff0e322ebf0eed82b8f25081aeb8e3a5eaaed3063f66f311bd5b268cf20b50b7f31b5ad3258a33acd221adb57d78f3b271badb2f56ebbeeb63902cd4ecc0c452e243331d26ab5a36c9a9a57ce7b80f50f31ddd6427c61b6acaa64a2843a4be719dc83a289051cdf6e7bda9019829566315a7a22e987ed29dd5add56a8071e905afbad3a20d5258ee1fa532dd6de7dae8d0f4687ed95f24ce490e999f9760111616433678bc01e22e776e4937942b19794d7d2361b4aad06da13e795fe37733a31402a4ad388d20349576c8c70425d4adc4803a42b54657494fcdf0952722b6669601b8d0a362356c916c7825e6c9e6a86d250cf7daba12d308cba971d2fd63492b47b40a4f56ed94e0fdf8f41864d7897b299fb32e312cc78e4235e71daf433daf4d801732d3188996d1e8ec945aa1581ba5d6543701089124cc06a8b43044f5c581d3d8cef4515c8cc0547ce033a451669a36fe9f277b9f1a745da4eb222a929c6ef7d2a56b6a9c614aeac230d1269ce5988c3ff39d0d298a9f9cdafb59e7422847d748166f5a14d926f47102d8a45c485271866022d92a5236529e4609592d5986d7c9fbcce1e1970a961af604b6c0d6cd09cc5ff173b44461834ec6618ea71d9875ff6b99e1e9e945a5e477c218fe52196fcedbee21a9cdb0f097b5f4f46cda2da21b954c9ff4097e1e14ae7064ecdee2c2cec2d3c1f08e6be52fa95208fd0a9668b3a27355e4c85af82f24ef63fff1bb2766ed4841bb8cc64e2f9102dc8fe6b214df8a3b6a128d1a014ab0d76f3f34c23583b3e3693292624e2f9102dc8fe6b214df8a3b6a128d1a014ab0d76f3f34c23583b3e369329262a34cb965bee81316652df452e3c5d9a6457d2e543d3594603369e41349a09d3072a9b37d81134952b55b519f6c13908d999eaf3ec485e8c6f21c9885af31750436c1631ff99aa4cab8b603b124060338be3af55eec9471247928c7f49d1d3f10eb95c59bda6adbe5de99519581a89eb04bd2e7a6376986ae661f3a07e0d48597ca5dc5c170e26d9ceea8403b8d4d5903c6b7ca3a91c4547b951fdf6a24b374bdeb95c59bda6adbe5de99519581a89eb04bd2e7a6376986ae661f3a07e0d485970959f71a70e7bbb10cc93fb02511ffc4793fe965dc5f9136cc9b1c6dfed08abed7a51911f9ebba14c4028e452e813d2c9465a0f9fec4d397e76662188395faf6875da28a40dd929eeba04172b1dd14413865521b0f128b312a7179b857b61258875da28a40dd929eeba04172b1dd14413865521b0f128b312a7179b857b61258a59a38cabc8f436d4094bd571ab80095d6aca46a9c5f979c2566624415237154a59a38cabc8f436d4094bd571ab80095d6aca46a9c5f979c2566624415237154be1e51b03f155fc7886a5ffc30eb60cf7fa20905be10e17ab4f914b1125625dbbe1e51b03f155fc7886a5ffc30eb60cf7fa20905be10e17ab4f914b1125625dbdf97539a132d963e7a5f3c03b2814f80cf5fbc94e4cfb7417adde39fc90daa409214b04eebdb714d6e3d29754df122b3f534e8b5866e3febd3bcbe91f6bd7fe33717ad6a705d69eb11d52fa4f1bf63e225cb0b768e5fdb488faff58d9c7cebcce0b674b8760f392cb6c8b0cf4aee9b9a0e2b242e765fea7cf437d3491236c0a287b3945e911d85fb24767aed053500122d1a5b80959e58d3e9fea620b83cdebd87b3945e911d85fb24767aed053500122d1a5b80959e58d3e9fea620b83cdebdda94392cf9570de8c612d5a5d7a63078056f754a278316629c354aaa53d55ca2c5f84bba6188fe6affe13abf45108dde1a7eb670e7c2947d375c508cd18e18d37db95051f394d44c17f46780a229cc83be3bf66a11bf95765541b2a3becc73ce248888047b9cd60cf20713c49635e9e2cf9235bff9b31ec754c0c5c6333f1b882c7236426ef56c4892ca87067c9c5054bfcfed9e1ccc22ff286847a3b90e8ee7bdbaf8fcdc48ae93dea3d12925853e73f5651e9e1f1419b76b91c3922a2ef5e56e8bb40ddecf8df05b88962106315e77320d8478fa855994948cc04b66673854b2a797120298377e3404c71265c785df40c812eaf6255b74593a92d8cd38e65050af9158edacb178deece030eac8105a968cd6ce815dadae1d53681164d5f78588a752087401e48302f86f79ebf41b3a82c34905df2f5dc3a36f6412ff490a02c9239e6239ca715570ad6a3217489e1859f3915fbc01dc7e9ac857b32d2b7abbf781435916b7d595b86093a4fc954bc0025f50010b75ff79df5fc064492da0f92f6c8e90954dfa57c9f71f17a1368f67716562edcdf203c201650279800fbce00c31f9a37febd607fdd2f4caab277a8faba7b5521c6e8c6c0f8caae73707573cf4524c646d42c5078d8def815a90588147d26ff3a24e959005dbd3cc738cc57389b2241f6fec197124a34db3bfb9ea0de8f18e76701f4f79ae6ffaa153d6c01261fb7c1d0ebbf318ede2af9343a1328e6170e0a7989dde0d55aa2263c90a18861bc9b4960eb03ad59efb0b5a5353e18f7816b193bb5a5e8da34ec06816c9449bd580672e693d91cb25c14138edefe13c7c87f926e09f31c6c9d74af349bdda433cac8b8661cc41dce8c5e91e1a97456746506b40408af9905997b274ed7418ef739ffebadc0fa733ec4496aa9dedc2fbd9f8f43161438d620449ebb88a5369f2deafb628659b5238748296c4151490b1c99d63529cbe386ff89028f75518e0ed956b106f5ebb2eb7922d9ebc2d0720ffb90ec147bbdac185df4e29436615d0fd723b6fbdb51446bbdd41a72af6a4abc1f5fe2fbeb3163fecaedb2b50c58af4597c6c01cbb2e4d5da8c4a606faebc5f9cb4d51e1f97ab29d8ddd2d9258008f3a0f6739ae930e2f089cca5225ab839b8cce887a563a4af2fefaa66941e7d61aee77b199c61bc0868fd09d4c1810102c63b42c6e2bfb182819f53116a8b7a45b88733ff38f16cba668f0afe9555e8d83038991219ebed9fa9a1322dc6c666194cd262ac2c4b85b744555778e275ee4472d076af4718e6559f5c655ff99e7e90b400730eb452c40c02b4c946fbe90731e3e1ecb60cd93578124b0bc23bec803bb7da92bb8a1cbde52148f1082af08ab21962a9b55316a487e19ec91bad5af1d5fbeb204f491b9f9e8eb595f474974072dba7ba5593c61084e9088e639d9b80186d0366b7240f333254509853283a1b3e8c8f94a67d500d841b0337f719ef98167f4b9320845836e7065e6a6adf238e4afec65b8bdc00e99d3b6616d97373b980e448555f939039d847ec0b6414d3ae267fb55de19a76a0250c48fa5a91405b9c8f328323968d3a7a20ef2c1915feb7e75cb3ca073cd8b840053af45b08b755e06a5ab6c6e9f0c3333e8bf56453623dfb4f60372df1188b64c10696e2cb22e96a47c444d0b0139d62a0eff9d56e215260276ab8868714e88bcd7cf986cebec171a87784b011e2fd2c937ddb3124d2449e688b2ef7867a8187cd54b00d7668d244466d07a31454c49c93b92c4815d7059433e60bcb69db842e0e84e8c1a5e029cfa165e0d2cfadb3fb95d0e678b24f45c102a21b7759a697a7bdb5402db7c7cd681ccc9d01624aa1b65d6cac3b47e4873fe8ecfce8a337d20362f78d0d346712974e79b5c69b65ec8951322a2758e623935125195ace7b6dd9d8e7ec9ac4e96bf9bd3b6340e61695343a555846933dd30e6b907b71a9b93c3f82159d755ca8d59d48c57ae3a044d8255ac897df8aa7be950e83b902c36b449b29a7b9efc86fa83fb5e62090d599abeb4f3073e3e4a7f40e5a4a66232006be7dccef56dac5add853026451f2d93acbfa75bb653e88d8ca6bcc20233534dce1b3d07c42b9de6a0131e16f87306cba95b810551ab8ae3646f4653eea9bd1406e66935a44328698075fa3ac1c56482b137ae1b53382c2b38ecf2046c8445fd6746519f7d24cd274cc506d3d9edea4452f0197a4b00c07326ce83ddff2f3a3c7f056ac20aeb9bd9db76d3a59cd7c84c16cdefd2ac6b75fe9cc847e02f81b09fa9b6eedee83d74695245a2774771f33c16a7eda3464459e718fd389f814d77b1a651bea31df5008061015dad71675735339157516fa225c1356479df892687539ec2bdbcce5d00c2dc25aa996943b802dbe6cf0b70b7bb757a3d4f17b56de76f0a448b57dab8115857f7f120b8a44dda8c26602ec31037c82aab4eec4d2ecfe61305461c5e21b2099c5f72597dee714bb103ed31782f700a8901317d793a4a14dc2b931c11d2b8d508a3c427a0cadbcb936c99448eb88830d5b70c76437d0dde26ee2f3cb5ad50e5ba7770c50e1aae3bdc8bb38b2ff3f6a87eff401366685aa9e76a334ef71b58b5c9056382fcb5a810f39d3cff978e4175b021a1138141e889730c467374bfbe6af7f8ae170060a8d0fbf16f7888b491ae99b437a50508566382d00e1b041e5914982904c8e9dd57c528a4b52bdba29ef9ff3ba54b8bdbf5da7469e4c7b3afa19a508e86faf4af7b77e4cb0d232ff3b92e3f3eef286375b25ec183a2da7efdc8a690ed2552d074db96efd28e40c844e47438171b957cc5ae4268d2aea767052495e5d3df4ded74a3095d43efcd2e572f09efb8a56aa0863ae9cb8cea3ad3b3c86822fefc5e924dddb0bdae5d3d94776382999cba41751ff8b389b21dfcf94798669e2438bacbe7169c0efc15f30e58a8acab8905084813e1a7011f3126800d43cae1d484444ebd633af4076800b2b0db262c502eb76a3015341f78d1dfee12bbcd1943aeee49e5005ef0f448ee23985332bcc8b0802c26d9708aff17ceaabe1338a4beea69c2a074684ddec24989791acc919f309a4dd7d8bd0b31ab79dab4d0a898712e71b4a7c98654ddd5a2fb2f7cb07e31401c34443f41cb0d4f1cde69ac3cff738346ed321104134585468889ddbded45db61c1243ab2c54b90d13557c8e1e4e50d7b8f40693f1033dac86183da37e7533ca0eb2430751153521a42f94a9e86637b2c10614c757d07f316cbac855e530e3d8ebca873715c4dc7d4404e3ee676b42b97ea0cffa0ea76762fb26baf874cb9270c3855c5f914936e025c8f97deaf167e94d9f78b847aeb10e0db09f719d67da993c020ac10aa3e90458785eb739405c33039763c31f8709cd49455a39ed68c5a08baff8d1c78cedb917f552f074dfdf5f729145dee69852b288b7dc0f7aede770794b105e505bfff0bc978f657374f69518a5f379fcd13ff54c59ae7f1119d47fdaf81fc1e2e2451e2cd1328049998fba62b8ef2d421c4930e6b6f0bb2464b2a86a7386410ea90f0d17fc2b652c0fc82462578183ef60b01f04df29b06b0ed74e323616631b89ce03691f07429eb0bfe4803deb029c5a4b04c3756a7f63a3346787933e60f18241e123af840002b63a24f0e86a045ba9db49162c432813cfbb75506127db2d078a47698d31f60761b091c0a50091c0b0dbfb58fe86941e11b15b24f1c4b76c7fd678718250f5bdc1e3fa36477564cb631d2d8ff7c976840e7a3e1241dca2f8784fe773f5b2dd3984c20104bbe26d413d447bd32324361e653a435576a47f85d8756111ea7c827de591b4970b260ccb28515fe2100424fbe565753f0142660cc5aa16c68eb349d991f5dee1bd1febfb36e86534e81fe0ce83bb16ca1e2e0db79a26307151cd3fbef86aa3df1c34fbb2b05d47a51896dc3971796d3831008471004a45544b9d1f0081c2c9411c7fcc7cccd231b75350327f9f81faece0f222131f81a17528499276a805f7acffb25f904e8804b8e4c620a195753e3c097a2fa276d5381d2f9a78d54608838b33bba50997d02246892cbc48a7410bd6196715d926c150b75697df050eba083af149e66e7a9cda3a60317e4998332ec9ee3859f1ab15c16c6b7bdfeba7882225e4cfaa3002281af9d8e714d6bb2db92bfa39e8f9f07b89d2d7d0714aa80a9a7af56ad83a1bfec5a3fe9d48780f5f47724cd42f0363014ead6b0916ab8cf62fc63ff49f67d86b2f479fed9711829b17f153938ac2c7c0a07b7d9db55afbb414b3eabde8a253bb505c161ac3a767bafefacedfb048756e45afd493a5a6510059ed246ceece9667710fa7322719789254aa1e0c475d45c32bd8f66c600bf1be1bfa2bb4223ebebdf0ac5cf4981b35e24d4899c93b13b97c6bdae903ba06ba35457b0a8192692e5f27b89ab32e876e5df53cd35c8f807b9e68c4b90fb6b7882508a8a22b0bf4df9a79fb1aacfddf1208fb818cbde33a067fa951df86d5d1339be9fa2c901aa3831832119dbd64b1d149f283b33890c93472bdf9ea8dcfbdf0a5dadaff87aac09776f709d57a45b3069bf7be98be1ae2258b00fb259f0f45bc67d9a8d8b87ff949ecaef57f0f3756653335ef08f6a05935d57d6b6e0337bf12680f43a98f8253be61398b0e1e1b6e9f122fad1e42807767c36f58ed8c8019e7d61818dc199d7a9a4bd54685f38c092449d951e1bddd46643ed6352d6c2ca5442c7431ee15c463b48f43d71d528a16296a16bd40f1efc80f0150c9a9f35fde7d8e4ad01c836b63bfe83394d5344aa89691f4e8d974979d6959f36721413edcab1d2b8600c631bc51a7399805902a1f56dfe0a1cc642942cb9be260cc711b2602b9ec7f3b0eab54b37ef936aa2fd6107cb09171c06dbad489e7f1b6f9cfbd9a296cb81bb8bd224233feb0f9316ae186bdb6bf13cb4cec7209ed52baa9fd17dc768d66c451ed1ba3677b9887f699b77e00505ebc28632312115c0aa6c3a23f4988b650eb54f4a4a0e0f6277fdd32a7fc38220ba16c608562f835a75617930b588d9483232a5352a11cc5babe93cb10427c65d0e52b1bde4954d01a6f654387c1daa00c107f1f5e3cd03fe1ea3f8b3d5c205b6074ed4e3c728f58853e721a3bd48c84c428db7c8f6c235282b93d82a074847c7fac58e69bc18ab4df107d980d6d434859b3d72814161b341bdb1e803ccc74f89a57b59990226f097babcf5a2954f5003f173ba74631cad1961dcf4d082a74a583a5fe4ce70fbc1c104a251c1652d090d569caf829bb4863b984fde0bc6bfe62d999e7f86e8105ca696e2c7e4a526d139a5b5de073f052655dd89c019b34b89f8a82fb0c5b33ff2605f7205832501949009df698d3ec7251d6bf9e07d33ff12ba5de1de14c8ccc78712d770e5c2b64dfd986c527d585071c5d8477267177ec2fa5bab06caba1be32f80e90e35ed9b72aeb1f7d058d5357c3e2a5e9f4765b8ace57bcf4056e43399ac7a83d9fb08e8e70509423e10cc86320f10fc4fe68c3794233b85bb9237e53315cf66733955c2c367db92f9a9b68ee83f225a31a1ff0e26fcae71c3a2bfe7a81e0b8e5a1eb9a7226a353eca24a7b97c4f9ddd11ed25f292316a2cb27d284625927868e65db7fc4bcacfe76cd3fdde5fb039ef2b1ce197d0616364e95f159038b0da8caee0963d27f68af8109a1e1cf6c465ad9a2143a4d3265a1bc15aa8441dda33c8bb4eaa0669f7fc9fbf437ff044f3d0f7d322c0afcc61bfcc6c6eeb99c028980ffca7907c57a0dfc0ac34307772628a4f19dae574416328ccc74c56b662ef84eb73b25ba7898fdaa25595ff7ba2285e32fb48588231b46eb344e9d33b0eb0a30ec47aeea2f846ca4a3eba54eec56da5ed2aca4c9a369dfebc53318573ca1f1a4fd5a150420adb683db92e697e83dc794d8ba65a8db52a8a78c5b2d59fafa487be2abd30ed8a13976896584daa9c9f6838537efc8d3d9a2e007ce3e0eb7e182602144cbd8fe006c38c5bcae89261636816f8349916ad5ab72bddf5f69017f143ca0334b574b879a870a777c39ed02bceec2ac2ba7b397ca97a4629226f4f657f60e18dfd08c7294854ceb67b2edaf4f3236d8c04605dc16219599586fd5047433636103068bec76bea3a2820454d454184e8612688773e687b2336286904933ca432e19ce183fe708cb0cc55c53a533fede287bd871f8fb912f3b902ef66f8774fe768699fbc096b74f314dc95f5e318b2a7f5f36339a5d1b5a43d58cd94d7f0552fef20f64d4d2616f38f6d168c87914f7143e229139abc827b0ed60b044582b5ce5f959059467b1589766bdd17594634969cd25d7dd75985bb3d717bc6fe0fb8743361b060734b493629834ad3c85b77aa6fc45fed8b7466d711482dddb56ea68f7bedafe2c3b0d5c5993a83006bea347697f8447d335446df36f862bcfee0a5f5ac62653a4174cb1b58d316659189d9814d1bdf026f58bbb08f1a5c495109a2627bab5dc0448e2e482d1b7e61f66913ceb8f3c575c3a94ff16fa11bc84fa78fd3f93ac41f13a4600273427f5a70ea4937c9762a83dcbf0b5cc0fa627559a336fcc79ef7c8e5e426bc29dd51d306b8615b89945b44c878df5686ea2037cbe528b928f04f7f8ba5d3f158fa6f8bd929a6c756cfbe56e4b17b555f43a3c1f3d03c4964bba81beffc48d9c1252a2d2bbcf417b25ac0c5f3fc5d7e1810efd8145f4532f80399a346df1a60f652cbb7b3256c72c4625f7e68281fdd14bdfa117ad517a5a178d63b93133381968668fefc4bbaf771591993f627e4ce256b5be7cf925546d16ed580212373cb8aa0ca15f6577ec66e495cc7fe273266131ecca9ae136e306ada42fd46d403593a6a7cbec20e032d539ff6bcb71f96ee36c138ba5db82e94485d40e7922b8b53066ec819393cbc2c802f1b90bcc1a3d70cfa1315534869e0315f86ca33e1a87c600f0fa280cfbe07452edd02766cfa82ca375348767ecfdf0cb6f8abe3e5f524f69b475f96e83079d392a6deb83dcc76839483bdb20f21f2668e05d089b917fa72c2f85bd7ba88dedfe2ac6503a14e97cad7b9b0a61473a524150667d75be4ee058232108f33ee0fd279ef4f8c3aa9a28df486e7f6e9c8a02d6581d3794eb7c455357179a7648a7a2632bba95d43b684a34dba710bb58c6797bdd565fbec827fe59528aea1bd277dba683b07250f41d06058d2699a3a89ad65f8d390a71bee4682649a5c3408a08af5ecb83655a052416b41d279ae15298c826ea812ab499a3614eb8ba398e248047b9f91855cebf4d6c3b9c439aa1e49b78a68553431afa9ecd46844015c59622f78ddb8ca8e7ba5fa63c9933eeca135b4a9f147ef48960b6e6e5d13b2a691a9c7d5b2b715147db99fe3731e52a50ad795beb10fc030a9d5cb5630662093fdd506c47e2574f57448aac330d7a42658e7dc6aaee66fe5c975810fd0e08f46e80337b6d422ad03e9e1add51aeecd399b41388a0551cdb58eadba795cb22d4481a2705b329f09e4bf3ab5808e16b83efc8519d62902ebba335082f5b5b34fc6f4f811426399773dc8384fa2cbd262e5f9f5ff5794ea8ad381676e55c9cd69e29f395e192b82aafb60f4c9fd99c53137229f8d0e06c2426c7780856239c79e344d69f4c79bb1214d739d36490be7d5aea039c517782d25697be0d00eba3eb8c544d835d75db3afd12cf1b79108e9707bece58578e412d76ad3669882f02f4ad67e0e734d9c99ce2d3b265f175ae1dd4303de81c8305b03f551a7132044acc15f11cacbd2b441233c96f48e99d7abc43722f0f0c2cb58e825aa6c520cfc5d0555feb22703ea3e2b7b955e6b087fd5d1885b764d29ae060b0a0544df97257fe44518dbb58f0c49dc9f153cb0c6d865c5c6099056d44f2c3492b168297f3ce34b043142ffb8e3d5b12f60f0d4dd1dc37055976fb7a156cd226cd46cf089edb092c937b8ac774ac1f460afda9c7e9967de8249c9e18396db22ee8bd0babc78437feaa52dd50f800015b44718646a6221f26a63cf3a5b98ebfda8facb78ebb6b421f0b3e0af8c33831d0708ed71161f5a41317d2c5d0c80363f08f4e5f07910eec69a92cae2bcef5eeb3debbcad54209cc4daba9a9d41e0e964bbcedf32a79e654d4f472d7dc550fbce5d753deb5cb3bc16fc7deeeacba72a978ad8ab13c29093450d060f0be46a9a7b3727f6dc0b040fcaf38e4d7a86c493a8df4c695529b560d81f6667517eabe95a3a72a57af96878ded5e0c710785df4d562a2035ddd7df673f7d07144380691fee70e1b3c7c34c2401bf91543d7c470dd912ba1ecccfe67b856cdea2400842d936ace1747b91185c8dee1d4024d877310a72f43b706cd360a2a9219f225531f546b0ec263f61a63de313749e5f9d8e7874b4140573a84fd715cf93ab86da8df142813e074b5a9ccf48d037ed32eaa0491e00c48faae3737ad1d7b1624f8089213157c98023ae82fd2ffe6bcbe78f8f262051034a4047935c0755a5fd3be0cc62114e522693dbb7b9e54fdaae90bc99180a246ccf93fa052d395a5937dd6e80def76e1284a7d1717f2c473d8e60524731c3be1b6fa2d0d56b5f7cd53bb0de6205fa0c51597629f308bb2d6f2b84cf4726e3d19d86b4eae4971e9836cf8acf2f4106fce58ff6606934b4827929d567682debc8c00c296857736d3699fef93e2c2c501fd0c90da07171cc7fafd08fff86d33b2b22dbf895b27f5182e3c31e6a25847917b9bc677340d6a7e9377d5e184a58c6963dd0d2dc9b4a419d48cf1ca8d20a77cf4ae98799f5eb24a4b99d7c47493bf7e384cc6bc4c6ad87fbea2f9482b98498b07f86544d2ea4634a7200263ec3b7ddbc042fd1e21a9d1ecbe9f1420d64faa1bf512d124084ca3e725f03b58f4e347e6985921845c3dff94e57cd9bafabb54f580bf562a236069d0b4c6058ccaba6bf102a47f317fe1b7afa2f8a9847b0760a50b54c33a6a47a87771218b60510327bc57f1cfcdb3dd663a68679fe6ce1926f0372f97d835013a64d809656e811c7994995d182f03406fb9c5dfe3b896ab85db0141d7e997a68f4f87aa40b159b5c0a42cb27a98044f58f6cd514c4d96ad77a36a4b24dcfb80e0b36cb009ccdbca07f1a397fe66edd96987f5017d214de623e982760443d459fdf434ac604c65d9996d0751ec697d97d285433c71fc0efedb04f39f3ee2806ee3b4fc5f32815c8cc52877517eb712d6e2919e8d12c11523f844ed965cea10aa2dc40c9fde09b45ebd6fbd896b069f7d0ebdaa3f7c4e18401cc42c478a2119f2ce8bfca7d6eb8eee6dbb9898aeb5ce735efd4a87133f9f2f9d915dc7354726252d97caa3f7b48768d6fd503dd2fd5e5c05412d516c2d123c620599afb2056b2c12396b24162b686ca85e34254a637bd5eb4054b654cd4d72f0b3bbda08c2ca2a4f55297797a08214f2cf0938fdacfc201622e75045b3d25cca60fdd051680206eb8c5359ce66e9c4dcb75695ae915868e6079361437304cdd571c1c836d8ebb8856e42a3c3990f2827ea661c4b9fbe80fd7185eec12c64ed1803b622de15a957dd009b80ae406495ba926aed7cda5eb2051dc4904a80f67652eac09b44d13da516e2ebe7d8998ddebacbf681ea67ba544850ab4290a73d7103b1c99afad41b7c5096c88d1d6f61393a916531f1a3e8b885b09de2d177b447306f2fb96fc4800c71713b099a63852dbf70d62ce47e645464e69813680b7a6cd10d8fc539babf3cd95bac8f8a24adc62677ea41d984ee23fcba62984044a1807db0d02eef35837ed919f6724dda3be819df9ae8408e6ae57e371cda9d6e943c64c72fe54a02fd407624ebcaccbe65d6c274b9255c207c597721a8746a88d25c687d91fe7e0a4db88735985a9f2e388a5b5e1a9c3f54064eb02273b9d8512f50a3b0974f889b8792683c3862313a3b241c4a845435b78cee9609844a88140eb591ba82c81343a92312ea664265560f76d32c1b7c1298f5333caaabf268b8688431d8e15e48c052dfcbd2e1880a59d7b135818f234f0b7535ec06a06e7d4bfd3b818b17619b26c167272d344e0ffbd9cadd127b2b20f09305f383dd38db4f3c15d29a2d049f596d0f56d18b8cfef270ac646a15eb47a17960d283ac6f7b651bc6eac16a254c5d555c4faa2a72a21b41368992fb70fb9e38242dae5131fc8d5c94f80b5813aa50a00dad16ad6cf3e14e7fe00fccee1ad6b3fe5083dd054bf713ea360156d844ae039783c0bedfe51792912bd3e2a13829aa300668b149c2835e81900351db5b2173e991b8c3be9e675117834e82f91217224332d8cbbce41a91ccf7983a4c2552764112ad0094394405c9b7ca7fb46f13077bcf68a79a059a300363fe3b30a3d58c6f617557eaaa1f4c826750a72fc1e8a4cd5e619bf2cf9b0ee8090ed562f248b57a55ce0c66a6fefb0fe7d5c8684e8ac10a6b723a6c190ab0f9a40099867616cbe52067d924d02c6316b047fe95a6cbe583c50ccce4c9fdde6d99931520d632482905c86aaab89f6a12e91da0df816e78997940cac212a2d133a77967d74d217a7079e127001b147288e60da4672f46fea2d345cb37cd629ed17048a84cd92065c08d68741969844954621f25db87eb754e06304760dbf39bf1be042b4a137cd2aaaca483fa174e18c7aad9a3d8f2eb519253cffffae7786d404bf1d5cda5187cb1ee025668a595189cf26ae49777e0fac7b9fb8cedc5c438d019d8ba8efed60c9c0af5443a78d4aa3271ec58273dcbe689737c36be5aff44da4f964af89592e5c365683050878e61d84e4f4130229b1adddd6d789235ffd96008d5fe028cfe52a982bcd6014844af2f63c78b7bdc345b548c9166563426c67a1be332faa260a52c5669c5766dea0bc2b0f73dd62420a8ad377214a9b3cfde7b8fe0aec5f36d53d18a7c865f22eee72e65f2d850e1eb46e07444c4065c6b63fea0f46e92a0bdc3ebdd9e11ec482f60893feb7a9b826344fe2c1f095ec60d00cced9955ee47b32fa8cc922ce85f55d37ee925b7720e67daa91c9444e7ae597ad4019c8c242b1700f68ae616230450f3b4e961333e46aa95c29f236579b859721f93bb4b4c56439aab6a312367ccbb53a0963337b60da8bb13bc77a2420dbd43feb43659f8eece58aaf2d8577ac18a55c5378ecb94fc96aef727257953fe86c1f93067357b4a8dddf2554e86e6b94add42330a76fbf8ca8b5a28fb05dea5f31932ecddae11f4c575e8bdc39d07657f97c6f2a9d4e8220a3c19df365501392c3fe11f9922d64af750dd335b80edb461ce6227d470b0613ab96f12ed0dc315bc81a06976fde2cea3888291ae8dd8430557305478270a6e98e81a430127826b3088f4b82d6445800e73cea00b40404f76b675025f7e4bdc353df1a1138f650a55f925126230c20f41391f5b43a1223c73d841ab06cff597fe3c1fd496c19e826230a6e62b71751ad5229ddb01f9ac2dafe64ae1b197e44dce825951e5c6e1a0395e520f9c14afdf8a54ddbdbbcc99b7898c6f49799d7d8672e1cb47e48a9d85ca64f2813b414960874fb80632b246aef958922d1c1322d6887c3c1cb035e294f39739b484cd3eabbc0399f705c691a7f6398ee9a1e4e4c9b808875608938c2b6dbaa55a1b788587799a8c09e0424b6273e6d6e9e78754c89e7d28df304eb5bc60573d39092b464835e4113774c194fdc52428918e81bee6d8086e9618f2ec386e55e3949ea128cdbfc5c43d28ad8b222cdd85de1961adb0b8316e77ab604d50aa5d75381b9b1a6fd44bd7f57173e75568aa12c6d73367d0561a8a5b3170c55f540d59fcb30dfd71aa34e5fc8c86ec82a73aae4bb0cb2d653a7efefbdb2e566bad5bac0174dadd1f95bfc03f0f90e97f50570dd434455395c580b41cdd844949ea618424687d5c28ce41c3348bbeb52f5fdc611f13f08c36f57cb019ff9f82750d65b6f358e6be644c88fe3b9d9d0fcc24fe1e57f9eded7c511865ad49b645f34563eeb10692fcaa9c99a993764177f9630a916cfc67aba63eb5087478514c3a400777c019026535640f4eb96a22d652333733a199140a39857745089f08309969c2979f61a1961df2e87d691098b6a601051e4997e78d38c337eaaf0597d611b64861b025f94a4e9eabd89add51dec35e16eb0199c89fe1c89849abbfa38f2e3a2fe9272b9ddbcca9e8525d34bca4df1553f175628dfc03ae9710deecfd06a8a0306d335cb50e406a1cef82530526c042245f9aa504c100c01085c439321d720ad83c71be064b2ed9f25da91e63470471a9a0740fac170d4f8abdec9c3c406227b138fd4edc3ec0efcc42e04ade0ea5d375b87266ea241c3020a2cef0fcea93f54616dfc331db2fb4cb63cd765ebb5b8172efd478843d51c955a2da80cbfab18f99aa1e30158367864540365f388c58a715dbc603bf889073c8262c61cbfccf1f1f236501decba0c979f3f308287810e943a6f927d2091ab82b84faf5bd7caa97c0433aec94ff87f59da64ccbbbca567391f67c88e76e8aef681a2a3e3d0e26b84061bbf1b3ba26e8432c03b4b8db5f3468da2a685340b426b7c08255e2298a8fcace98da5cd88153a339677e5d9b8dcf76fbd50be5797755e89471f9ebb944bdaa6cc9e68709d7c5bc346c9727e5a185f017448f2368215cd1c6dbafea6e6c11d89511289b64579b63b1c21313ab4ba159c276038dc0f7d55bef6a863143cf2706d06265c16283903ea2b24379858cbe8236f684395b9ef975f95de9440f36dd1d7f820c31f9dd70ca229806235e5ee118911285f682edc988af8192e5cae28807e720450f0d89c748e0e48a28564d54f2cc0226d69041c1aa5d4012ee0af2e0a8a5f26c8894c9c0d4315b01148752c908f74f4f759f0122c19d6f8ee8a3714b3b23a7c81f6b2b7e8dc1ce596345f8628b462e224cd4b4819618a0e8587d75dd2565b801f0574a43f1b668142e44efdf3141da06c25a846c9a8ce68498a226e9b5f7c7365d0bce1c87f9e46e8fce287a94027cf1606f14c64fdefbf39df2a4dde69073daec4219d8f80668184c379b525d74788b95a25ae1459c59a6a46ddaf4844e72dd269fcb32ccd1848e44c282b32e7fa979946f9882fc21581e8871b864b65b9f90bb4fa8a913454fc95cea5bd8a5818024e083244466a9209ecf4e1438463a4293301a9768ea66aeaee916e5ceff6c9f82dad897aae63fc47a47913f0b144425794589da9fe70078bd7023283c815504f7d419f2814efc6036189fd448aadc55ef52efad9ad706d94eff7a6ceea28ea9619979ac3158e2b4299f2135b88dbfba2af6441b5137cd138d242ac9c9a526e520bbd8835cc6e2f5590fb33ee32315e1b02be6c296b9d4c36b3c61c0dabd1cbd8d6fcf95635ea7a10e5ef64dbad500c455d325c41fdd6cf1477f9d36b3a9a66a32a77145ae2a91ede775b9eeaa612bbf841bfaa006262579e7ac76bf64bf0ad113d1c03e83a73157293166851ed27b8f3735df28d2ace2c2f593f049cabf40b4ec699f16eb75341894be37a40236610f897de11605f1e25b3e520c95e2d888a364ae6a972f24c741ef2c2292b9d5786c929dad168d29206c1fd025c68c14231fc7f22bbe6d6a87e40ef8ed16e21dfeee77bef9039ff039a4537d0ac29b6bae4691a90bab4f489f3522a929c33444eb6bdacde886db61a3a4f23c90f5cbb6bc72b39bf47a4b915d0cc42660af6879d651c9a783850e36dffe265a92c2c214c79d752e48771228c8396f5e22a0237efb443d0042fb7f7f2a2041077fac50bb5a886309fc13e03f7e217bc79e757b9c4cefc1f8999a369bfd02aa28023bf53df3230a3374e2e92a8b495c6d66f6c6e3189e5ec56bc05769a85e6170a87638be5cc9281e0bdb01e52b27160e9edc088c1978d25af8d0457112d3d1f342b577be72e36c472b0b9d2e8f33704e6e8ef1e408c45ae38f665c788a315d2e2a23f9f5a83f1caf023b96e5c2b7fa19d297c66cd5cca382381d01b7b185eb720f080fb47956cc4e4af593227d90c491dcd9045afed82ba09d3bef9714db03b5d3979977969240c8bf756e7c0a418ac546c316ce01b09351c0564b34bb4f6d6dc7711b4d59f1f852cb85269237d97f2b3a7d366a540d1a8540b909820b7721c0a45bdd23df50ae7a5a17a9c43221ef972c1f0a83e15da491064d424c23a3d513507bbf26106ddf0724b08bdabc6a86d1cbc8434749ce7eb63523819e7aa9a91782d91df656e20ecc33a09aad377f0ee7a715fdcde8a40ca1d03c7adc52dbff4d2ba003b38973eca1084b4697b0ba283ef0723493ae99ab0e42c12541209106b95df60b54a5a5156960b46c05841fb9ac296e536a99bc28c08505e1002c9efca3375dd346c6540880ee4fab054e2f864ab5179515f4a88648c34a38ff8f340ad1b18e1441e5fd6995ad8632acbc4ba0eb309fe98cd4d7a96e93dc0376689070c818fba4ed3b0f51f04c6f8a1cd024980718528c7e7a0892845a0dbaea3cb259c7d6a90a83bff381344f0d0715e1d5891879f5b03d6fc1cd4c86fc697bad6e7b266b4e1c431c029c2fc523a75c65ffae53bb4f69cc0ee5ea937a100f93da902305dbecf1f312ca98c0ad361da6e504a761a91a7719e90fab390ba2204291d007f35c47765c6deaa0145cc76bcc9f44452b1801c085c22023758680e79e36e948ef354d938b1191a5dc637362aa1cd22a388895aef12af0f61e15a33255544235153cc865a7356260e85c4b2a73df3f45b157cd04e4814372b247d923a256af190cd37b8f4fe0f5bd9958d8c9f80fe300f6ff69732828c2ec7e9f7fec347b9c0cc715f54145a31509ae8e0038cb956f8131aed7d2dbe8b14d16e60e8aa91401ce3180d6cc0d686e99e8c31cfc451341ec853313c284598ee13fff483c23f4677959355426c38d801f4c7287e64b09e36690ebbfbceb752ea8e616d29c386f508a44f87a4673b19b7be2567cd36a6852b242b566ba6524e2a5c7562125e318839298ec07f1352d695719d2bc5bbe2e537db24fd9484ea6bb4ebc8313b1c250d0f86046eeef0cac3b0f20c5582377e52e77541daceae316a74ea0b850b0d959cd0057c2175fb983411e750f4c38f2bc6d13b42f157248585a300c88df28261d77e40fc13afdd48b4e9423c12aa7a87a07aaa231062d7c146d97b7719a2c22fdd29db56cb979682bbd783ad0ea3a53ec18dced81376ace2eca875816f434fcaa520a88f4dfc2a50546584e073c6aba957539887f00a560c948350c375c185ae75227809de46f3debad79085625a0a8e430262efc13d7a9d630f058c37f3c211505e9c45e35348fe5f14717ee970fe712ba48c54ef287d0abce8b8ae9d38fafe723281ffabdced7792bef8545ade3fb38be83321953bb3d0092e8c433442a51e0862736daaf3d35aa47dac3c7fc4985baf7682ccd09164298abf46afc1317e8cf39ed5c261745cc0e321e4c2b06f917eda09ee82efea80c179eeda233fb7549b77406b2b437297a4e4e53a348298e6ec77fb45f4059daf8c147ebd74ef8680157b097d30e2cbdd42299b48729ac18f7065a7489f56e4a93bc711cea207e216de9e657b41fd42a23c7e232041767c909451e9978fa68911415739fc86bf7a8d37ef143637a31b88830c86d52c976dfe63d18796e77717ce6ff954ef534b089d364c734197f04cfcc0561469d5f95861f9fa8d96b0e805dbd3d88fbc4fc997a47f99b674e4c28d7610ae99592ca9d37fda8bb0386b09ec317dadda5dfc6c160072c2563abfe3e2f9fc1fe191a657dcdf7dfe89498705fd3dcd22e9aa9fbe6e0e98db7e12a9c47a132e21760f501ab0ea4633483f219636535a40121fa0c50756f08ac4a8b95f271ebe7139dea3691321b65bb346cf3476e398366574bde633ed5011bf6ffa7b506635a55559553b49f543c55fd840d5346165ffd36af7cf61478b2f32544552c9d2ea124932ff4cbb5c991550122e9f982b52e61f24ba4a8740bb8a1e6e21693f81f4a07aab01cbba6abb769e951b738bbeb223c867079e74e54d5eb6d14cde840d00be438d44d3ae7b02eeab3c8b73085190fa86f9edd3d4f92507b23279d4ba190c9ae811fb1fe5dd5e39087ba48233a16ade68448f38ed999a0f7d46a963b2aa831bf5f6030f1e5b1e3a491ae8e7eb6c314c34ae857fa62fe55b8685cad9ec6ab4cedf5b516581f14da284eb2d3c60a8199d67388e61d8d81eb36a23d81dc6f5aaf723101aeb71dd5241bcc2426a3af3a886fb274e97c8fe31267e360b80b0a95c48f234ddf55148d3e3c27af7f797a83e4625d185896f1c9dde27ba18f64c10fd2fa7aea09a5e93845c0db1daa9651bdb91bdf93cf60c375fc3b97b2f83b1123dc53f22d34b6940af52af11ba537e37d27a8b63171052ca8789710684fe50862c8b9522a901938062f61500c025024406aa7800ded9b829c8ce8e878c7ea5e614b6859c59f81aba655860af84e76fe4a9a79784ec42a97c928361885ec0e81c3b888370b280182f34cd161ac6aab64a2a1b10cb58fb85638159c158b26cb37c4f5e8e93d884f96797982c704730b4c2c7abf202410dcb63e9c4f6bb0a029ef3739ccaa0dbf105f8010ae54f6a7ccd2066ebf913cc25dcadd5b779dd0b048d5f74a8768efdbf1f010417eef70c8caf05effecaa1dd5e6e7353a556f474406e13d37abd410b2d19575a920245da68b026d23f7d56f930bb4a2ab1825ced32eeedf69a6f7b4f16db0d09f5e7f4d058bf04bfb7b8f485f3e215fd295c16db974cdcb39963812d91469551c954d9ef6969134b4289b2f3007598aac3f73b2f8ebf3ecde8558262e3498e8d965e821d87c581b7beef976bdf2c63997a643eeb354a50889ca6fe9a7492043d88a07744a3cf947ab0d995c996720c87aaea2268a40fca31a600e0bb26294a269c394cc00dc2bac60330b902838d0412d67325405df12aa33817dd1b74dbd05e364624f20c92dfbe0171ac7f922cff154608a09b3c7cc305f179b65e5fc667a89b9ef78d6176755871fe7cd35b24b4f5b41739138f660867597cac80472624489f6810671520237d4df3e23a1adce9cd9875faeb4e4a94ca838051674068cf9f7b85774c3d5bd2785228599867a999fbcd54715fec77e7041c9051c44b51b646b5090ef6f44a0d26f7f94cb482440d23840339ffa205cd6a32e942d51b7f626fb7ab827ba2b55d326c20fe425fdcf7dc749e01cc0e2abb0310e0539eb80b8934efc98774691cd7b9d24c18e4b36a66b44946452e5ad7529637e6d17c7b8de352032b47833264af87572dd658415b039db7a6860e3b5677b0482273f482eec51dcb6a848076ac18b0d8573d557a581ef89d2309f11896146cbf9914ecb791925ae7d476d17cc5ccb9ada3073881aeaba27ce0be136d29a778079589b006fae383511903900582adbae0c4240fad2405a2b5b6f1a7c5870d0957d20251ddc789ae8a29f91798ca7a83c9b9ee7597a284681fb8901700a111b8de8b22ccb5ddd67c7857b0be193fa266d42fbbc073e5ccdccdcade75f4c8fcbe05ce262460a49c9c288189ca0d2184f158f7245d0664a7de76f4b04ee2e531752f7c0e0319eab6360d4ff2f748798bed63ca66aac2e650c51afb96886fadd35b0f81e58602b11f29a98826f855ece3265c2b56c80fe54100a2665a715a3acba017254e08b9b47b306298a6ff20f387d34648773ba812834de388b4540c8f626164c6bad803ec1b73a3cb45c1adf68a7d736d9d4335155d485c2e8002d95debb3d62f81f4f30d785f8010ae646b4774ed75d4018c9548cb6c9cb68a6e5a814b7335baddb34ea4f5794fdd7baaba8c46f154d8ba97f524facbb52f20d4adc72bc0b51e72821548d710b2a00dbadf2c17ead7d1b2a1b0f81831a0aa7d5f22f2468be502e1590de04f6c320486c62e88a0348ba37453637e8c8152d228459a4a883c1dc1dab5d14a836e8d64b8fa2e9a3b1ed26b48498972b95cbebe9a7d954f3f3b1c90a57ed395f7eabcfc8de16f9f595355fbe64f9c20dc6482a13eecde7223e0277010df653eb821b15c408c4b031ac30b54dfb5e045596d5a9b7883c5b5a95a4fad0e1b654383beee444a52702f522e6455f3457a48f1bd3229715131fa4b6fe77da30a2c46e2b0bb04e157b2ad3b859ed7b26e6e7c14b91ba3384a402447056b3f86a7c42bd5fbab02031b35dcff98bdfeb5a6ec510dfd71e8b309d93228514cbcb4244949c046673c07b6a475ac7414e0ae9de95e04f52305f2fa3284511cdc672d98d022c43788efd0216eb41b5d7c447f5113af6aebf4077f2ae5197c9691624fcf4b15e41e40fb52e4f40142b07cb9e0a110f06b6ab77b4b4cfb3bb3cba78aa13b296d83b8457b398d18e978dbc2e808b845a7b797e459fd014f5bc66c0827d38d87fc0771484631e86f8384ac18c271eba7f30e811cd0c2dc4e969e54cfcbc13b0b9b376e970ad016c22c566a21a18d5f88cefeef2e64945926d0a849ccb64d2ffcb717d6200b22a10dda68a3a579cf16903da40174777e03464ff6aab5dcd99ce1935e95da626f32784567a2f0f5636d46869b0cd812db40128e73a3739ae9b3088664704e8ee069de69aca1228e392453583df16cf5d8e37a3896093cc0056d80ae64cbbb74c3153186b1f3c2b9b5aae7ba355a23e3136055d08a40c2042ea0c91ee99853f7bdeaf0b53a8d3eb52412f2e14696f4f90cc316af8d7bbfb32b6ba455e44a9a307d57897b02084cd41c2474750763cfc3eddb1718fe1a344e39f4e8073bf12ba5bb46442737655a569d8de16af9d96bfba7a7fcdcb9073a3380ebd73fc57b5489cd08a6ed06a05187b57e3b6f29ebe4d960bbdbf6f1b5694272c9e98cc7dc94ebaea8d4f0f41c0d2a51e31829e21d6b99f3ddc34a968262db95da6bef50d616b8321ad7fb1d6f863e8a9a76168fb1ae84074bfd1d4c90a0ece1342638b1a8969ba40ae8b0b025bc2e79bfafbe22d5cb5e614a042e9a39f61444a0202a8afca51e665dcefe722f7752a79073ef04945289d0ca9ca5c9b698e31968c04359cab8d14bcb4176ad3b8825db9f084a651cca6bfb92272b77d414436cf2035c742fb58e941a337f6b445759b60cd7119a8a320b6c9e9bb72957280567d3200396bdffb057f45e7b4b5dd9eac384c7668d3d96145b841e1c4c2f79b27db3f3e67572e75cc49f7f8b7915d5e26be3e860ed30153d0416fc9df6d93955f5c941857b0de8096a6bb76718b1aeda90b1fb27acc96745e3b8fa0e77c81b6b4c1514a739f7bfc9cbd9f68a7023aed0a9c997d7f41313635559c3b1a77315a7f71255bfd3be6df150e6f2179dc07ee5485f630f8eb19a39143436cdc3ec8d9e5cdd9dfbdffb8c6e4c1cb6f66d7e6479588000f46a81c75f5187adb531a5b86da68d5a42263133bd319b102aee2a3111ee417abe931040dfbd00dcae2ebf4a59828147cba1c7220c66bf1af4c0c5ef97d9c6100a754aa8e92ba0756aaa8d708cb0c7aa408d6c945d0def5c129587df874d6e27017948cafc1eb1179e96e500c68c5f97f5e5079c7519db924f51c7514dc8b108117600bd9465e3fb52a66134d46fcb6f6a7980efa09c97b90932804ee2170bfa53fa2636f08ded4c9e34d7d23f9ce7ec1330c74dfe490e8af320dfc5d6d1095102925577b5367269700f0121933494158c8cbd61d7c6fd216dcd0c41f9bddf913a4a02fe3f13d47acdf9b2d5bbcffda0d078197aed15b97b7c074cde36aaca5d963eccffd0774b8124161e039d7f03f8dbf589e704fd51f746a959ec7b3131e80f1678cab83b4064cb88b72af3b7bd3ee33ec34aee9021a5673b66993d763561dab2e3ade578ca5cf4259290bada726ef196a1e2a2acb5fa74f009abb35e2861359b69f01bdaa7feee5014798bcd3333659f0dc5015865164f967128447b2b25b5e59ca8a71ddcbc96b841f1ea3715411160413c7479f90911f56b9c98ffb7f18f17f48ff2f12935a11d0bc5f49e6e0aa820fd55fa9eb7cbd6e156d977d16db41c4575b586d83ad5258e7c66e199bd93e4178ab35fca5707185d2a9d2a2ece56a421fd2326e55fef5dda21ce82cfe1f97821e72ace5224d7559dd5771a1db90a02a586307df37dcd33934451b916be16101832e4decbac32ef62dcb210c6b9031fc1c2badbad197a3e1d79977acc3b7b3d6d306b1672d27745e86a7694b0e9366ba791bf0abf54ef5e7d0e35622afaa130ac99de6e9243a389d44cf41042abc84341735c30eec43c30fb44be0a406ec20b412b1ea48b59516c985150e6f000af007d3a5f163b018f869d7dbb3da59485d55e87995ae787d11730de2872d28a1f6fdfa776e163ad984a50cd279145552312cb41849bde93344005588be1fa129e21c62aa3a79dc4bd45f364f9e5246e379be8c7c6396e652de6efccdf38d3adf7fcc905e50ef24d1b7a4a35c27f6214033889a5318b808d580993db4ece69b894ce75aee932313cf70875767230bb0e357372acbfb404bdd385cc1a717143d703193ec4f7de2aafc9a050bdad60acdbf519097ec0c5b8f44cb59c5970da181b1a804f47531aa123f6fdea3116631d94dfd443e9a920feebf24dff9644a95aed68ab935ee43197cc0eee3b190b78d4ed38c31177c0f9ed2838df252d5d1212bb974dd242651b546a250023d616287cb992b18c01daca35b85bbacdf058adebf4986edb36bbf24abe0dedbb4d8de3ceacb6b3a19994fd4097364d696fbcee01691a53215a984ac3a45452784ef56edc8dce0cf9296148b558afc3f850f954f71dab3df9f43b1514bddbb2eed433ff839d61ecf0841b61837cd56fab023993db7d93ae21098da630325888ad1b622dfc85e0ae4e2073c408443cb4d1d53287e1cccbdbc7e229ecb1c41ec774f67d6efece438c6e619c9786ec1d6d592f7e44f53249288bb12e5bbb0ebb2b9230473a36088d9fb5b563e1607b4afb5605d3e3eb720e49a7064bc4eb2ff57024032465abb0be4e78057b69ff2db452dad35d9ececcb5928a068ca6508345193cb6cdca5bb624e5f8e2b71357f2b7e4054da70c9006aec63b5194b363ddd8b652bd0c766cd0a81fc509d45a7dc255a5b793a02e9f0e88ca0c5ec6c0771787d81f5a5e0088f3fb86e533eaf497481533787fd3bdae3fd310e081851a16f18176ee9ab6b26a1313eeb37c747d45b0bcac0466fae1e31fb3ca30eac8d5984eccd5c3a8eda81490b784ff379711332ef9eeb6b7c01ee48cf667f57e80b619b62c2a4d62667154d2ffdecee5b53ebfbe4fd2373f6be403a8bd37ca771d69f01529bc4bc2e281a0250d37d521766055feefd4d649c05954c50a0cb3e5bb072c6de55260ca1d3cd940abe02a393b638a0460b8f16c868f6085015c32041df39efb7ff08d25e54bccdce79f29b075fdef75c3b9de730c01fdd31848d7b71de5697e8a48921241c140e2b73f8fc427985aaae248d1d27bd50a81a047b606449168269f6adb8d398e78eee3ff90d0b19da6e1870003e1393aa4310c670d0ecae14ab48aa44f15b674353d7d31addd61363a515aee098fa9be0d584488a287f9bd9e55db25bb3da3f0e0db8268614d9a374b7dc36c81e0ec1b0c87007fd91e1062d18d46002a92c4ad2c97041daaae0401d3d20ade2176d7b09c96d14f5f9fb954a831b879b94233a006dd23a9cb6e81487b51d3cb521b83abcda6a982c2b4de92f4e9e99f99eaa2d57ac3dcc407f898f7b3a567fc74219e882c27fbcb619fea6fc3bd227901f5c4f1838e29c88ac3dd802ec6cf28e253d44e3ad29bf3b3ffb4f9c21844d6a44e13f8238ba74d360b5243db79844d3210714fbc084962806e207d443c6c96e6e9893d1988f99a7a4fa6755582f4293d530f133c0f71f11f3831372844710941e99037ab9b07b27e2290d72c74d845b136a33a2213d5a34c77918c89821883d1c63a61069306c0a4817505719d0933ee4966e721b964ee24e475ed173e3b946c0cfa4fb026305ca2117ae46425026d581d3aba4f0b592996286be5575689684943ac4bd905ba8305458b0121d71aca9ad2312f990385bde49b591e9a4bf2d870aced70aa03edaa80f2eb12dc8d2da9b603125180ffd8d32378d90a95f738c5935af0a34664b095de95bf2bb7e7809a6b16a0326338a479568ad39dd5ab13c015696123c8457b05540d21e1b3c4a9efff588e6278b7d1230ac205751c67bbec1d09a795b23f940af456e7d3ae2ef28db6027280e81fe77108a6582ee1271a1798556c73e3046cf84ff3657f6f814ac6dfef5148bde064c787405eaed4a2eef8e922fc60f7ad44e3b38f17d4387c94c73e235dc15fe2172fa5f230fcae493898ef8746e5932d45f025fc92f969b1d104a9e9042ad7c5c698c3dd9f7c931c5e5c0c4995164fbcf172c1b606d4162c99b80e8aef04fc4754107c94c8b9765370f1182006198f4e19dee485f76e763b8ca0e7908ba77310d2b3278b76633917e54ee22bec9eccc6464dee8ca749e7a7eea04f397e1a3edf11da4d417a050dc5da9267d888c0e02a04c4d274637c6976f11276ef35571eea278096e5baeea6b68bd9ce8a616749efff5ed67b07e5e84acaf00326af486bc00c11d9465fb6f2c30df51ef0b894358091f373c043f63163c30d28f5e328b4a1f6c1fc2e377c8a235d09903ba31f4d769b20040895ba57dcf1d63d2ad8b437edf4847b1b6d70dee5a4d5e91ca193e00768507fc7bdb8f823516d1eea670e7b2f5c348b314296a1c2a4f32d901f746f0bcd28492dfa8531a8144c5e77cbb548bde8a9269da1c27749b5d2e90ebd4e77392228373dd9e74899d20d9b63b3bebbb1781870f647a9b16d66ec065410ce9dd756a98880f6f2fa1ce4f5ce588ac39e2fe8c89990a2a3e84e358eadf8bc3e2ce17d44e171a67052d299955b9654e6df0002003b16d6d455e99ac978bf7e101cb333f6dec723633ec7e69224b89cda49c1dfd0bfdd03ac287054d4cfcee22acf13ec992a600192215f9209ccd60e9d6aedd21b08c753e1b610cff5ffafc388ccf46c8378a13929ac62e05bef07f3cffa2d9c0797f661c8098562835192c3580331e3a42333788d13b2f7689f900e88a3fbec14977fa053b84556516f558cf4ae05be795d5f891e5a341dbd1bf44c0bd0cda182d89636a0af88873d2ab2961bd2d93d67e49b2b09128330a9d5614193d6cbee7518c59a91a1aec549eb8513cd1ac4482ba31b1db24d32003ad65312a41535a406c52ae450cafdfc746c1d70d3a066b92333f224e84468d9f4946415457b2c63ab225a8510db8637dee8852d7afe966f7539836b4d7d42cfdffbbe720b2e11e23409fd6c316c8e1d30c0a4974c9b0648396212433a1e2e86f3a049ba0727ecf611062980b6d1dd051a0d6eac45f93e6326a132163cd77bea4d7306dfe40fb1db70e693bf13856e5f6101692547640477bba2ad7b18ef6642ee2daaee62b857a36d02bdb33c21dcde5ef3a1dba7d36487dc51e4e43dcd7fff2d1d425b3bc1bd8983664434f304b5d9f39ff915df3d3e3ec0074c3926e5e3050c3a2b4640e9d068ad1148965e26573844dd64bce5cebf4abe7bd8580cd08e16fb8507e58877c45c3d6442f80f92a65db781b1e00be2df212ec4438703b80892a0fd78527e99cab902c98012e5a87b47708631eff9c525b1cabb5bd352e5952da76314be57303b9c0d76787f04f17f1729cc0350fe3affa28345d4b8a51d74a4f29c9f130bdfd5cca9c484a1537fe163081a35f0510155f97f2d293b731230b056bd0e973a94bd122baf0804a7bb604ea4e5e384f3f23223db2af993ca0fc636c9e513752dda28bcc109833069feacbe499fa3a9ca893b9a209fc61e34374b3712cc9471d87d3b031ed726c249056eb7f4718892fc5e13612f4f56c90be3277a662bfb2301365f11a98b73d510865647986b01f5dde7fdcb9c5f34cf5b0cf1a0681a9e7eb08b1da90eddd688f7bed678c2eca26827f4bf3b5cfe7fb8eda24420cf6540ae0588204b62fa9b0df4787cd18a7152b9025faf2fd7f2fce2ae118abe81f2a53d928756d85168e605fa95708481ebbe994bc427c5e7ffb1bc5233bc6e37f1901dc7dee4f87d4b0fd82a43a59ad815f3b80ebb236e063569261c0de7c3c625d7cab4b6fba7fd140097b5c885b1625595d10e33df081973df03eb861fe74e3f97ac7544cd36ec55d336b735cf401710480ae4dbb59492b65892c18af8509e6b8010967c3bdfb32054230968390984d88d9aa635eccc3ee3a32b06957aba7d80948d49764efb6f146a64c521def21f84c78db1c43c10324f1d91202604673f4d233d51bf00ebc99ea8b3083810be2c51dacf7844022e1d7f9968c03d3c6c5089f935b8dcd6048a27ffb3594d8aefa7aa099d74f7bf10ac27916981d9fb134c33b59222bdaedd9076e6f18641c12ab7e24f5a235034285c0a844b01c241deb1c8a0a44d2f885d72d8bc389f94107638b6b2ab4f987bf78bdfd01d5c9556b858094f85caca438217849cb65f39450b3310c12ab23b8ca76818f736fef81e0a2c68f5ab240841beb96545e2e3143d06d37dd94d5e0af0595a01b0320c9931e830163a1b7d7d91643ff0fc48c0e9fa083fa59d46c84d1595f5ee530ea60a8ff10552cc5d20fac75483b11411f6e87f4ed7c308e105c289cd82b1a77f5234dfaeedc4713c4cabe94ee3d67194e21d8543ddf94a4f4cc445a808c86d8ce2dac8deab2a90419aebbe6481273789f353c0d7ea1a3ebd30b6ec88bbe4a403547ebfb8a34993b868abd942cf0caa42b3a64cdd51aea36b94a2c556a2285db3e9497a3fef0d8c0a3d7c767eb2d15240120e2c6716f5af316dc5e8c00938451c75d64ff3d039d44ad3692537d091ac0fe740ce6fd6193b357c7efb623b8945b93808f1764d51c2ba3bb0957b15f8b7f98cb34db32123054a82767b79e2710edd4e8f01c3a56cbfd6952d6bd8c549c04657a8f144b6bf8a87fd56464d8f6246a081c656cac87664244b41be1e10b1a5889b57f460eda6fb86a15ef24b53a949d123632f51d96909be3c6a1c3cc4f704c56fcea9dc7ecf3c7f549fce867e77aea99bf3e5d11f1238168acb589826c39b6c3fb997a1b791237aa207ad8790ec6258e61bb2343b8f0a743d12b1e32df03393c7c2a5b62664a641228e6b1db930c7a4f370212c4d7a9095251b24570e4d1238eaab715fe456e57309a15d48dcbc497e1d444096d9ed9facff9a1b42ed5c0171a418a135fed3857cfd352f52127248d426db22e6ff81427dd3e009b5e1bb913bae417bf6754edb72e34f33d242a73d76423f9b4a01ae04cd54826461ae78017ade68d098c5af17d8e2591c63fa7fad49253291f95a35df352a94f9f409404e39766d0d39dd31d6144a6b3a7992897b977aaa14a99162633bb7efdd459a08d207f09bb31abdc41c97847bab0e30645a003c689b07a6ba4949df299aef1ee0334b8026ad2c8ba5bf919ebe597cdc4bf44617d8ef6f989c02683ba8241e53ed678535a862fd82a90a4893f262bd77af319e9a1db487c22266b8620c7af8d6f64f0a7c37952e26c20e0a8e3af43cfa11714fbbb523cd05976ec0cca08e7ff100c3b46865b670f4b8b5a5a423bd713c5e917c1e54ad2b96ce107b24af173c60772b18e66ade5ab671db6233657f486c30554793ecabd02a4fd4697a3f4c7cbdd3f404d9751ea0d39a8f5b5db4c6373d8b3416292a6328d5f48b412bfb238c9d8076868216b8f11b66f5812a1ab8229c579a801f5e8ee6352931d374fa21ffc9e7448cf67f40239e2f01b2031ea7c841605c9eb59df7877a502e5b031e2310003f93ef168a0925761326a906bef29b94e536444d28260c45f2c293e29b785f80785acc50346df69166031ddf7f7a8b7d974e7fa469b56828f53aef3bcd71f580ba56c82018d9fa43b13f1d51def6a364da7cc0b8de5e73ec64dab816453eb337217f7a78674caecc0c8aa25df7b68c532d9a7f61c7fcf7527a79d1dadd9275b3226b16401904c60279c10fc4576576c0b970484e0d0fc42b0f8832b168801ee7220cc0f226bb099af819a211eaa7f7df7eccdf88685fc0632be19b5ccda16191c8f27631cc9956aa33c157cfc09419fdc8a95b94b27577669ca9c3c36f36f1a3c54fb3ee90a066394560474935d72b9b5f3d0ab3285155395b923aea2b95d55c098d48a6e1d7082a0511679281b5a4cc97f845374f2417c6e491d6dac79434e8502da335f71a239f5efc3960f828ea3bb1fae2c949ca784211149d2ccfab85880b7f792eba1c6469c47a22fe5a700d13c857484fa4ade15b54b7b0212194dde8a619f4e0bca3ef463ffd1c452e74b1ef4de6268744313a571aafad4352da3abd6f519cc331d9e1a693659644d811b58683d985f68a6c38b757996e7715fb6c2cb572021c6cbdf80d84d88ef31c6c4000a4ead0efc4db002f04fd6b95f58524a505338171a97b8a5e2de4c4318498caaa820d19d9345ea7e75f78bc05fce6cfd7b40fd8e0998a05b7902e85c1c4ee408e2dc012e33259d951ab83eff71bd039ce88000fbdfdc01300f5c6a80c96765df938d76c4a9d7bbaa804c73504fed45c13712eebb8658ef4535e1de3216c22051515f4efc0f4dae285b8728c10ed69d6975d0a5a9fb2fa06acfc633104834c1306dabf652d9dc9a3893de48d2ede4d1dd1970467b1f216164e6334790faf0cb9c87820f221e561a42e7d539d79858ea5444d829811b69d81d4be88eee4e97b762306f0eab6baab22ac8d1a896378b783f8a19b2dc2339956f25ca613d30362122548fabb9fab4489f306ff9253da6af5bb9c4435d2f595726037f11940ad774c3dbb7f44a60dde245d81f6ee794fa3056a1e2c2779fbf7fb552cb9165fa14ab72803db60befda81405a6d9bc93253334e614acea58eb88920c76c5d3f0246dbef9b001780daf503eae188493f1b83574a4723d12675ef1b0fef9ef65d00efa393f354bcf3af2b5a610730342fda438c78892e521a1325f62bc90c1a5d26b54e2a809efe87e2da2e4229c742a5e193df54e06f61258b835771e532c91cfae4df4039eb817a465f02e40a1a812a8811778e47acdb125908d7a0a314f6aad5abcaa1ce65a4919abf1e4d2b6d8f60755b4040aef1e14c513686cf96a2a49942e1a5601f7eab89e1917e5aabb05e338672d5fc9e43b5a0e68b281e58330a6b827a0a1225c04b5e6f689bc3f98eaf367ec7ca1470aa8e0ddb57f3b4f4405de163e9919eb3db4f9c3301d1b290b55eceb7d286601f007103d727bcce14dfcbed43ea30f900c8d4866a22cc9a31d832ebe4eb5ba4edb1d195658ec43c88046e0b9bee58c4f300336bf32c8a7b9154de601b38303e536e57b1fc166053bc4722dd45d9b11280666060ea857ed5b183eb72d71ae6523efa0c8745a00e01b82be37188a93cf5c80188ce421ba94bee257c0371b3b6d9eeda5ed937675d1408075d9bb8455bfde1306716fd8d20cedd0f29c91e5c46a0e425e3532616eb60ee2faad1046bcc1cdd55104c4d2264b9f9751a00529f0497104b6330af22c36cbb5d4ae37a3a7fa17ea563ac70730d031ca05775d03452351ebc5eed52df0c225dfdd7043e44302a543e8b7d1cc58be79f6577fa02e73d4dfc063ab317498971794435b7b05c627aac8634dd6648872f5c4afca11c1f262f19fdd1263f62d5e57508de0a3ca121c17ce5b752384527b3bb585700741bd501baf07a017b9a51b25f398d34ac53569a16555296b547250e45e4f70595010cd7f67e5c78ac93a1dafc62f66dfaa19b5bd82fc2ad78d59c34d3d73725e2e5915b7888539c3b66c3ff155d80b50a79916762d8539c69560a53be09dac38f3a683eda2152d8261cfdb75de125e3faa3c9be4d47f9db4e00d85abc96cf157cea0efff5aca3a360d6504f2e50f57ac50c251ec3b7e1b728381072cc47ba011527bf6cbd752bacf0f9521345c9fea5ecfaccf8502b862527f5b912864fd9082e8b902bb249967710bd92dbc497defd70c2861588b93c2564421ce4d6fd4a4cc4da1e6999af1313171dff2a6181d61dd3dad126e0bef1ece9ae2a1ca33bf12b1c9e6becd42ebda0f0cd8df0cc3c4ae997233234f9d396b2098ea4584f167d71e2c7d1b4686e6dffcd955ba53b794b83bd84295d59cb4305db301020512bd9a841f93d62e1f91fe8fb2d94290bed21d50394850b5cadfd324159014b1406a8c5a491d5a8600c5fbe82b202370ffcb6a5ac5e6ef4e827e811ad1b04f06444ade61fd2773f5bb87c9a0477f2bb7382427f052b03127b871ac77c497bae54d268fb076b13004c2c3561d17899ab2c971c9dd19c05f55566b9f1b54aeaab83f805fbba9f4bc8b63a6dc481da71625a5d5c0df71760dcb543f3e507296af84114554d43bf77657c543e23acfbd9223f85598993c9d14dbf03ee81ee900c93fe9e6742672b069372adfc73312b78a294c47264e8960ab2c4d54637defbfca185f40124c60267247d0d5d3a942abcbb5c293e70ce5cc748c04b9f660777c57e9781e82753a52dcc2b6ce354f0f583acd5f65768b7288af3c306fa6a488c8e4dbe383f9f272af2e08bd37d736377f4027068e64854815f8f1ce6aed2eb890ce0e9aac2667c5d9892ff908b6eba39feaf2645fb7e4d24ca1e1e0c78c53492b9d626cc47b969daf3ffbf9fdde387b75ff7a35263cd75e406af36f217718daf559378c3b3ff6180da8b74d810b76383af2a3f295fe7344eae1720b382f9fe0863bacd3a8237e52f4fe2a7a855c23b7f50deb9f8af9888b358afeb47fbc91d94507c3fd29d0bc3bc9ff3a144e0f8a570cb76d299ff0e9cb29ffb7f5a5bb2866f1345f3916d3806ba1f0f1a959749f4d9a6bb62c9282fbee463712b2c35602e27a0ebfef813282c4beebe88143e4a73010225c8f5dc85ed233efb8cbdea04a2bdf24916b832874bf6ef15bfd0689d6e25623afad0cd00b771bdb8628e503386d432d0842de58d8561d2009214e65c990a9c22c18feed1a252f34132d948270a6ea84f36156a52536bf9e899119b5aa7e5afaca5c2af48d0eb152b18173f111e0b46d00773412ded5ebfe019654a15c44c7937bb90c384b017e99bd175ac3ceddfca311f27df71a7adf40ad20b2a4190b99500888c05decb621f7188af5e6f9c21e60a111584d4d6b0923be3c8d57e74a5bd3792c53e10a9b4bf2367c6e84f3c47fd3d3f54b912c766ca1b926908691690a04891c3f77e9fcacc4023dfc08a4d7518d8ee26301b05839b8c911b4c3bb953f29dd9e7612c061d74ea664ae873c570bd1ce21d77f4ef0cdae02c9f74cad62f6c480c2a9e2de324bb2ef303caab6ee3837797feef4de37e0c9f599788f1d8425a682fecd88aa2aa44be7cf713d91ae32720990e6c8e992cb354874ae8d95d0d15c54f3c273279403b970a976daf02fc829b15c0ea5e2ecf0404cfca716f2cfe4a8858f10f8b33003f31c61269389adb92bd0ffe681e211562b451a63fc0ac07f618928b5c3d235f05b193a6b4dae0c61626ebc8f55b2d7687c7bf9a4a8c4a8e537b35d62d03bc18eaf92f6ceb72fbce0bfd0df9b1abe08c0e25f5fcb86dea673e207157e340dfea139b2da09816bbdbacdd6c9e76b0472cbaafd6d5e7101823fcb14cb5b48d860a96e5e01602977a0fa518ea42b10fbbd16e9ae2e6301265f565b41542c114f2ecf12501c7414b16f066c8a6f41b69de1d6d5167eb873a6588e6d905303ceb73c1f501af2ffa9a5df8fd5bc83d412d74c2245f7a5ec41e2c535dc57c2f1626a46222789ba278b2291afcbebebcd53c366755b4800bd8e560d7a83f23f4cb0b277c2e4d836bc920d5765875809de328176ed45fa8a8f97846109162c1f587290b575bf284089996ff51b01f3bee987e5031df9d37830d839c52ed527d952d5dd659d7990fa93db41e5124b918a9de305af51ac48be8faee2a20548ed4beb62db20ca259db23629095ed4569c984c8680f74d745acf6aed2e28274f23b323aafc3155dd92af79e037e8148e67864e6494b0f0f6088ccc65ad3ff41dcba2863c5275af73b2b1b3c6c2498a673c6c0216eaf368c8c821f0ab586f21615f4e5bd7ec9cb6863e364538dbfec68f3cd9d720a187595133a9039eabdf4ad79e6fc5f6c393454ec922a2c958796a5ef01b65ed94bc2663e8c0c948b8a6b52608aaddcb60ef8b46d5862202ddeb720c63eab13ee60e5b2c2dbeab78e372a2bc195934f77dcb273f74279bd62da26f3cd55c0c9d21ff39edd6d5012c2be804b56a1c6f1fdbc5a9c3af4246d878856588e56c0d141cea154f5e07b5ea2cddec1df4ebab505bd21e55b904104cc056714eee44c61a3b7308866b37a64d23942446214b926c2586f5b5161dc81d59a1ebbdd3a6b1d7e1960db00d069336f0a967c00872d199860110845699b669271ba7ce31dd17ebdde5a45e731c91f9804efffc3e11f362254e9d33428ae1b35791348f2be99970002e6d99663f57837cfdfcab4c410fc7c94401a6a84777f2a4129983d3f569a9b97efd5a425f09d29707f51d499defb869d32a5598146ae837a53b1cd3aee733d5a92ae598f1c5fc3860350b51582d7c0f80a1711132e1d022e75d8899fc3796ea3a444b9f86de664dc996a39355673fb1139993b0b10096eeeab9814444291f2024f553df9f4938835c72678cd3eae8de4937a103aed1878f407c6b7885b56a53f7f3efd49b781806d01bca5493297be5dc736a11e61576b06f3aeb0984abdb577262b97a44a651970e79d2f25ee2396993a5fc4fbe1f43553ca4e819304041cadfa4476b1262fe8db056c0f018322a65d7df9e111d41b3e892d0ce1964ffbd80dbea69f854df326a5aa2427ca14470626270d968e8f94da64ba67ed762c5ad17874f9a5bb172f23c9b35d39b163852764e124837a708ebb1825cbaa3b9b3f6bf9e4f05fce80287eb7b80a9c578e1e6306bd12266717c7cb7a35de7e1dbf96a6e4c8bdbde55961957c8b1a1a93bd2b8aa410c2c3ba11e44c96440287d9fb4f6b970a55cc573f056fad9c0675f06776ee6dae7d41735ae8b55fadba2947fbfdd8c8307608bbff034999712e63d2b9cf6cc54496f67469f255d45f8a13e8f7a64ad9e00f74c0534ccdc1fcbd30338debae72aaf9daeaf54381bd33bf8dfe0b5fb54943cbb820b55ea59951e87dac7f2865b413d35e959d8a1fbe809db3de293dcf08ecc05224fb1811aacca44b46bf8015d639cdb7db8ae6280fc636a4921d55bdea25e804d7f69a4b923d92e42303fb732fdeea3a768c8d4114169b887d4b2380a34bcc151d74c01eff8e7200c638f7933d127791f47d64f521e462e5142fa36b40612b47d6429c79199b517e3099960ce9f4ff25b922c5ff9d73e9837301965c4e317a5ad56be439423506600dd8face39aa6b6164ec2007aa8f4b871e7a4be33ae63b587f312d0b0057ea4fc4c1409a39f5ea34747ef6f5a1a2155544202663961b586b051a005e8c6163f41dc5b378c95aa4b7e4b1d8b39705193303f469abb41622b1bdffda86ff829251f23767d682ec44420910be70607528d0a7803ec2b1821cbf8b488b0599d653fd80efdcf8d4cb6695d032bd5010ef9776e7ca178e3f08fd1ac2344946d1a5c639089c86c225e6b1f5353393ba111515791780d05612484bd85609171370292d8a1844e657feb3c1f0286c07f438309d542bae00a74a7f9b2a19490f049c877cc4177507fe883d60fc37ed45855b4f91da215b98259da834f164d66e5605adede49cb4cac64dda1c8796dc900e6168ced9bb3b97affa7692096fd3bcc5e2486208825d63fae8eeb3d1ac07324b4f913d1c1e825361b11cbe878ee499dce5a79e541151fb581df368a077d929857c1ef2619eb374287c72e3aa11546184aed65386ce7f2e43beb4421d9b8d0707c966af904fc48e0cf2fab0ad4a558afd5ff5887a54186df9de5d41512031448677f210b00ef290c2b9e72bd9f73dee7ce2032d655dc8bcbf60e2d516727e00a595c65a61bcf8fbfe72cc517c8f45d695e6c7523002d38f8e66d03e39f85462b1a6ee9ca1e4fafa2cfa2b24eedacd3b3d5d4e02554394262dbdc121b8841df96c426eafdf1cefd6808d9de37460ffd676e7302fe2efae792997c413aa7ac46b23ec4eea9edff8a39fa9d0f0f806f9f091d5eadfed7767ed66c8a23a773941f31cfb08f1e817a11545e4a1eff26bde240187b200c220d0720c3c8047d7baaa2a945a0073eaee92261fc31c581434c4fbfc1f5fc3add35e38cfa9f4f75f4645782fbdb295539cf400ea885623dc4a27a15145dc7f23fe1d695cd6c7c213924b7c79fe41d0070f1503b9e4e907602c28fa6c45284eae6af827dfa88020e5ad8761a99c3d1f6e4c8749ef3c7e876e6c77bf7892589888d7f99771655e5b8e3c0471b6cba8228c9e590823cda08f7f7145c4e64e8a24afdf22946e7b46385f18de9548c949c68687813f7f672b50fa895a1b78cef40b68c9e850ef18d066c6fd2f3e6b4ca389c21ebbf8ef013d579db8d86f1c68859984e846280d8459b568138c427da41dc35d89514946522ad0e727645af350e99f08829a861427fb7817d51cbfa9c58c98fa7f2bdf52c3fbc30e187c7839ab43d0d8f180d3d2c410b79cd57158c957fdff306b5bc94a1f09630ea0441d32006b31ea356e23c5be7ac244fc6277f39a21c9a17375ce1de621034b93bd40aa04b660424d0520b926da63b7941a6ccb85df5b07cea0e240436b91a289f07d0f487c89ec3549f930952aaaf4d36edcfc5c14f370719263ba67fda2c3c3d6cb7363016ef6fc67fa4fcedd58f98e3d4e54bd06296648fe453264ae9f359e6a9004cafa9937178c445601d2e2ae79123217ee8d5ce07afd51931ca7d55172929ae171d08fb51cb71a4e31e4ef767241397f89770b0ec72ac4bae5969c205b4a3c758748927b3ddca8af43ab9b582200414e5e512b9b0deff39aaa6a4a4900a8361db64a8e1cc53256d36ab42a9f7046b9add259d057daf1369db6c3d16c95f3390ab0b7d47be9a44f4ae0b1129343da3e5244e63b10809decc3dde79a13c9d374ecaabf4ae5e82969d4f549c01246e3e4f115c19baa6b51c52aed7609ff54af49d2184553281e9432e0a9f09b320885ca9fa8408df51100b534e62cf12ed635f492d1f5fe49d6c8cc36e8c5549948598f95855598f10780189ccd2725e5f5fa590f821029848a0026fd17c097eba3d81b9bad57c529c15724cc03cb7e6a1a1272e14c42967b203be02bb092080c3ffbc947a4b3748592e8e682e689eaed9778b4f2fd3d0c1741446506514b693f140b2a803bfdea6c316ba162e083db4a887b1b46839c8e53206af0482c9e7b4324fc390a2643b9a30c5eca18af92401bebe6b0bcff8da9e77effedd19102b5729b153205d6d61af6c1285b921ce65daf13f96a1565ab68c93e6bc16e44e445ca422b06e0898f6d20174e6a238203d6fa8d80a5d0f0f8dfa62ce773db92b1e1ee02a05c22e6aa710d51202b5dc4f2dce47dd9dd8e138d3893bb0a325dc94584746d756ee2e83dd251d3102a9074308c2374b95c018d6c93e0e423bf4940d021e4da1d5b044f660bfb0a36d3fed600d20121ead246621fb7a53907fb71a17ea681c52929330feddeaf7f9a50f70e771436bfa474959e4fec44de3270b64b11c0e92d8e5f79e8ee297940ae017c05a6261b97b12d25413bf302c77274569ce73edc4efa09f12899f570ff6c44cbc259a07d355ea6a741bda561f995a28b0ce27a5b9793655ffcb25ee8ccd73bc574cf855e228c36a7e8049af3ee652bbc52d5b7a054569c626d40e1c4e92566ef0c345b4334461715365004cb247b611e4765884d899293b4a76d14fc5c7971b35679ca3a8a23be15ec43e05230c50321487d95937c65b37e45197ae2bf5b665443e535af9cf8f949a4fec72d852da218fb5937174de0ee2a98cbbaba6603f06011cc5646a0d334614549d8262b899dcdac8f7c17a005a2782c89da59f609eb3d527156024c5a3c60f57d03af552be0b64a3a1504628fad0e418057c77ea8e637bd8dcbd7c76fd20f46d2ffe5aefd95bb2c8d12b9d0e9e63e73507534ba85fbe46706669b39cea468033ab587d414701e7e4253227584f366f3d9ff56ca0c241e375c8e0c9251daf32e1d47b493a147fe79bf09f6dd8200ced4f10ce71577e7cdb15ef1cee9ca30ae47ab6d7035be429d1ae6952d0e6d22c01c16c2d523fe3d48eabe72a3c67a201e61391955bcc70cae68e1fbba3a96e4aeb1dac8dcd60b41ab0490a795153beb0b9ede2c4c335bc8056e9d31cbbdd11a8197f77e0c02e9010da42444e7bbeb05403ab4ecaae83125f139e061e0ef4ef119a5dd0df7c9f49835570468ea4bb8a70df8f223fcbf40c7031a5af312e6c6b780f7b465440f3aa3c864573a8fb8d0809aca348eb8da1ce0fa5133874e6b875bd15651fb9eb179c3ad19984552f5023b1a61a3a1bb84c839cbb40716c53a64406d1ca5a4fafb01eeaf9aa8dbc3083b080aba03b26c5f6651de92e91f2eb2033fb40bcf35643d4759510afd7c5c53001e3da6a9c70cc2d61aa63d8371a613566ea6b94a2be825050ecfcce3894cc15b6d2434652b100b9cbe11e6b1fd5f6bd9679d87e4b5927b7cac2d358fb5a339272323b58452f6b042e1af207266553a8b39e775824104fa38016434adec088f8e1e8b39464bfc68c4aebd58fe70d21cb58d23c6ae8106dcdf0d96fa21f83b03c5ad56685acd28df0c071f5ba3654d0706d86d98de0b3ec531fad8410868c6d753303c47be124d68da406384bc37b399a65d44fdfbc0b6b949c847d95d7c3fb34ef6da48e95b5b945de6453fcadf47eea643f76b02d1e4490bbfc75dc46b0ae01208857f5dec70168bfcac2be04221549bf5643c9bf1a61dbd8eeb3141a2c2b4f95070fd14d974694c1f5e4ed6bcb270bdfaa53af939e51f37ea25c3ae0b6d2baba3c8b398e201c57883be08c397b1aea8329a9764a6d1b773412377d15497329be33aa66960c727ed4dcca03aa422d82880251ce055a95cd1f933b5c9cdfc89cb219a42fe9ee81c9c2dd688781fe9b71b4c47bc634c0547f53e9bd1337c063b0fd8a7f452e3f00d505ded772d78bda9c495ae142cee21f24af467f6fe6e53207b598d6095a3a07094584f310c834e0edd40233f8ad34dd424da4754c2152c866765818b9ea442ae6e3fd37a35a2828e4a4ba8d579b012d82304d7b2dbca9f40f615180b32f75064e2368f8fcc181ef03fce18f18a73c294e30b8cdb1526e46fd95bf69aad149d78cb388cd1d8646cb88bff356af20e93ebbf54ff4ed1211127da4da5c5c8839310ae88396a5a696e1caa3e15bcb4c54978b29038a186962e70d1c5e47a8113aabf40722c47828950e1d3c52a435cd4650b456b6196d96214728ff5fef29b1f06611da769fc4f1a11e7e02ae04a725e49f888b40c8c08ea0e5200083612e40bd332e717ab992f6682ccfe2d260614541be98e16b545212f0527ef59b4fb8ec3241908f530b5750fca63471255bead11f3b00ea0874ec531c4d2c92ab53efef0276741e52152e35705bea1922690d7ef3d821673e0f344d501eee3ca599e6b89655cfe8829e6eed9a542c1279a5ced9b3d84001199205e17ebf899de6186a714b572b54958d809694d0ffbeea31574746c89ece93f6ebc8669222b77caaeea99c5ea2341b1be5cd0b07a87ce9390d8799ef329222e368ce58315a11db61b17ee792639e36ed4ce4bac845bd67ee0dde04ab3df1bd79573b060ef51a800942c8d0dce0fe80d0337422e3fe0b60636c7a77349c8db12224787e6b71f5cb6a1ab852f9460b1d931216f4fd402173dc47214ae1d5832473cf99af08c9a0e1a7e6fe85a13dee44529516ae7e3f7b97912a1369edbce44a88460169bee11ef885d5745f3586acfa86acd24140b8459bae5a7b52c52882d5f8923f2e4582ee8f0c7c783ed449c50bb5468838eae33b74c1ba15d764f8428b905de46499b9feae6005913aa614f2988d6c667be45b9a9ed8c938ab774e05202e3ee2f2bbf5f6881884ba7dda9b3c855a87f5bd321e794c61c01ae807aafc92c1d4b0edea96bc5ce676f2fbf4491d8ffc2456f898b01f3a611d238571c56c0a3091220b5dc39cdc35853756727460dedb291b6c0509ecaaa2a9935a5cafe9adcf1e49360f8323e0655273aaae6198aaef6c79f330f4d6686f1aab9046ac9d288b36e694523dbf1d4cde652a0d9227a460c292e62f32bcd0b7191ce03fd0602a5cdda1cd9d725f7f4c54af2efd6e3294e72480b510df32e95489fc4f0d2f04ed87a5727290e1e40d1fca8eec2437a89f0281483c84eb8596012c4d5959dd7e27620a0580bb80d9ae998ddbe5c5bff6aef1c47297dafb925cd3dc7a1796e05723cf048be94c4bb15f12c2e1cee9cd336976e10aec8e83686dd455b6ca6e8e31636231ba956d6021417f0e335ea6ea9ce0e78627724b43633385c0acad8a0335a999cedc4f7179076e2901557afcdffc7350acf818ad5980142c77cb4a143a7fa544545c1210c30e43914257c15098e402003e68661212ac1f999d0119ee9892101feb159cb14f2a2e4f5c89edef9b4c72e3aa532859d1c38a9498f1805d5c8c2b82b38537e090f202b037ff779c379ac67fe3a346140c2caccf99d8679651c83d7ceca05be59461a23c4291f0c9a16ca4d058a3c50defa0db0f185465c1b137412f58f1bb77423c95e14458ca3997fb92a70f5a4e591cba969b9d530e15f41b8a2318f88aaa604a52dab3778400d45744716283aefd6636fbc23908593065fb4676ef1004579ae96437e62dad4a52edc1189ba5cfceeac79d5b989e792b845d022066081029ec082f45059efdcc9f2f1cf45d998f439e0de1df6ed27694d7f8db7a3ceee47bcd90be88a24e71c7a7214dd9b01be78d5eb1dd92a839853b73564dd70f2990743d2af37e2aa4b589e6c3bebf883867d34ed17a954edb371f62d16ef20519cad605033a70a21999eb329f4f8a80702931635cf30b4a380e120b8a7b763385fb4b2f2209697e2b5d092e15315f4dc5c72d5e836808c2e20166ec12200debec8eec46d44c824a37b49f2e81e7cbff07544cffdd04d8fdab4fb4098d292a5a943b9e3bc85570b7cefc091464f796f701f15bc2270a1257ea223fe516d9a84e4251642900dd3e5696b1ead6dd7959d4d9106753e2f0d7d1d122713ae901606c624405f91ad5dde9bd434107e63809d5e6b60375216e835e39ed5c3fa40584224e4934839362c19584698979165a3ad5ba92bdb1cd471bad45d5218372abb5a9d6467ec91cda0504992481e8de655166a416af16f063fe2a01863cc9ec8b5e0b1b591ae815ac0841d065a6fe4ec1e66cadbc470ea52dfce6571ee0dca87f7052b55a1d5fcd2ae395fe3581b19798bb3aadd468845c9a86be176fc4f9abea5b5b7e73fe7db40065d05c38c2c4929a8b1ce721813bbc9173bcc5d75c92bcb26e869d4d24de3fe8067d7190055e422ff622d84eba922e684fc9f4e45bd80ce5c5c6c9dd90e260c1d068324d9506dec4bb6c3544001dcb35624e121a5d2dd6f64bfb499995076f8c50979675e4fdc5e735d56d8230bb719b09eab1ae73f65d388d2ff67d6255ea1b7dfddd591eb1a769188911be8610ffdef3f697c96b48d6311a0350d8bee40c79ae59b88db0078c6a14c64a3701ab4a036f6ab0e0f04d2934d7741e842395e3a74da90060c5af3c61fff43423fd8c475965bdc4fed24ea93d97cd70b69961797802a367cf57ef1324bf618491265c9fd8529abe0019f844a3ba2902b5f7e4c0681c0a63832e9de90a0c44bfe520a75d56a40c1c2a5c785510abf85291109eaf6fa44fd23d4edd0520dcebe24d96e9281e7ece78da8fa359960223a1384d3d70796e80ce99b9f29b3fd46b961b6350a9ddb420a523b2b21ea718c85688c723168258bf277b239057207ee173e52653e495167bb721e4fa06462c6bbeafa52ac515d04fbc93d0049ea5d2ce3d2f55f9e5772b69f0e37ddb3b6cf4a878358ec9df8603c3e9d7eadcedbefed1db17fb6dd1f77e64e4942fadea4e065e911c937ca56950f75c6c2498a6d58ec9afda03cc7c9794bbbf4d792c2c3a32cd9b338f91a51202dc338371c0d1c550942460ce89250f83a8aa1cf32bfd6400332448c402be4f527ef978a7d92312503c7d837cb960db1ca4125b02c561fc7876e2066f07820e9e151cb15a9aec481ada7eb66a244905cc91bfbbe57e148c828cde6337fb35ab206e6454eabbdb665b0715f6637335e4696008621ff6791bafaed029f2c4a2d35d4e57f6f7d1e596321aa479248cd67c62a10d0678b7f082b1d14e740284bf7c4ae5d154cee5342bb89df75eb1cf62029c208a104d4805486a81ec03844de2bf49e945ed4acbdbccca5c249764d89e00fad2030af284791e6a27a8568982673f6f47c6beae9782ecf830d257a7934c9eb54e89b2bbf8a20aae34d82b69da7649dc28f5b5225098f971065632616eef58436a48056a8a328395a0dc276a509d716a08a1b811178bface143c2a4fd370a01968f37c6379b570ee21279c8ff6ad00198fa7e4a46bf7ad76dc2f624a4f5756136e81d9f1831e4875b649f66d90dec18f70092612aeb3e940e15aef0921541eb6abac75fd1ad011ca567d40238f41412de33848473bcd42434cb5069dd3d9d38c4f30db368c9c5968805cb0583d5eda321505880ab5bb4da2832c274850b41738b20c33e7d11fb7c6892181537aea064063bbe1dbc2b18fa3df0580d9bd02bbf520eaeb466ba6d099a6e06b271c4d3cf14c301f59eaae0f0bd8c72da49efd56429ff32f1226c1cf633eeab22010268c61b7ca44b17899104da37b8efa939902f605d47fb139094cb585ccacad15816a14e2f81194e864bb5084d1845273092040daa4ddb54fd1801cdf8738fda2a6dc3fbb95d7d1d3e9e8feff873f076537c104ce8be528238163acb8f4af31a8db8aa813b368b3171a82a9a732289c17c1c3d559c62dc98b214c4fae5aeddeb4adc62e1110192c722e281829e045b28952812925c3bb0261f3a8b62acd8535529b45521318cb415db7d45e871a74f191ddba3eac823f831c8662003214e20fec9327fba27c72dc29129028959325c8e29ea5c87446f4fb77a56f9e05a4b2c4dcf55aeb70e3ba479809cd631866228adbd1abe29d8fc0f47821b95bbdb36008c7f94df9351711b7db54d36ded149c44b691d29d605a8dbc8626f037668386128a678b77d1b86735054440c78d8878c8e743853b7b46ad60f0856a14609ea983167a52bc0016e8c906fa4b128a87ec7c2ecd24914455863152c1a3a067840cab16b98754fbf5b6d109587a56fe650d29dcd3fcdb690e002d1f3fc453aa81735dc9643430d2b4c9323964a9bf29210bc3141eedaa141587036ed78e0130b225582267f55a491d62eed16d25c14bdb3ac2a4aa7dda0948260d97d626e8d70a6972b77a99fb19ba62b10765a4a473bb2ca70158e73f9ef363e828dfb42ad479d59e84ec117483055a4c76822932f5d0fe22b698deef4e7f6e97e0180590a676dcd6d43b10cc856b33a72d05862658924387821667f144596f678d0c4556bd2c50d8d02866c3c98f4a4044f4cb60f49b0fb2cf5dcf8789388eab90f32bef4c92df7d17552ab45fd0497fde1d428d97b670c05e9d375fcb9e716b0b8dd3445390633eb871824ff6651e1a254b1f4f30a585cc100e35d86efcf13a4c5a05a5a909f6f15e978ce896e8226f829828c1d02adf3d809a3c9f72a2f7e9ac706c64679c453c8fbaa8a1845177496817d77aaab297e28aecf85183e020761743b4d4b3f679941a1e5383f741796a5d1175832277313da9f29599ab0b905991e23b6cc57fe77230ee4de1960076c48b08130822eb4486dc3ccbe8bd8c0548cdf721925c298f43687ef9b92df5e5573c794a7adbce84ff9b2eb8ce3c3f26072fa367860989f8c900b1fd0aefda6d6f6f1af3ff35972cdb7dbcfe5fb3dbe13ca333388a1950edb12da0437505b523a8e15543e9dee945a02e43bb68ae3c923a6f1e8b0f05e93517db54d87bd9ebfc8f0deb550dd4ab7b2dafc77a43f623dfc45194e0010e767fb867689811902a68592cfb8f60446a5f124891c606f02c046367879e1549c0a328539ce97724558c38df3740cc5c2c99a06a06b7641b0fdbb9ce3cb1c5d995f25f2063d855d613f54cb3b8f8f1f257c318beb51a8c0818ed7bcb70517605223463cd624cdee1317b5eecaca1e5a3430ed3d8ad47238a9cf393020854e146d181e4e67c0bae41b4c0f9d752ef5ad4192956df492835a737011c16e1fe8cb1ce9107008e1a7db83ce2b4fc42a1e50de5a9f71a41981f98a9066a6425c0589d3ded93f6bf31d2e50d47dd4619415ae4add8ad3fd0356a27269898f4888a35393163aee4e5b4062739b09c322e8c8a1a570122551bced9f404d25f4aba4ab36c9f31ab55fb8fa281942c6618bef76c684c14fd342a74ce013cff91c9a8d2836b443054c8102b95456c671bbf7749496a2987986b93fad47451100d130feb5e9feb330762ff0a4b2ef96fc90c94f55ee643975d4e343e9c78eb7d8d3026abbfaafdff793cc4cb82ba1c60e990d092b10649cec6d24b746caa946ab9cac7a281501ce9c646b0f6ce60e0405ebee5c43e6265a44374f37b9539cdebc3162b3279deea9993f166d1518f356de1c09c123960b2aae9495c7cf3edee89e400919158b4af07269b3a8118cf8d7f5d19f7f6c76b994b3ee18ec9e937e22786cf6fe4b472de7ef116167a96a36a242705592e910a2212e2b96119ff1b5fd5f7c6f1ac88a8004ce345185c82b895f4ae1063923a581c398671aa01701ddab4240218d8b74634bb7ede7ce34261dd5a6a6b32dc5fa46109182749fd0c3de5e7f49be5837dd5376da7b6c5506099f5c15b5169afa04d68e4b16f900e4ca7c6d342f19fd3ef6a0fdd85d6615c6cc8ddc9dec0d469c2cb26d5fcaf3dcb1d676d04f5e5d6febf1a51f2d3fa2abf5098939707fcd7b3d001d5d746259e41c6c32a9dda2091c48ae7db940fbf7e63bb08abe04e8ef30d230667aa92f141d58566940e461bae79d6b047372180a5ebd4b4b8241ffebc2ae0503fa0ceae40695b9bf3529e8bc4d890653ff4efc146b6a306d1dcd0d22d92405a62c516bfec3b86ae9857fccef308a65c408a0c07097e2f1e66325214d23edb2f13629c058cbc34b5f7bcd0723b994aed2587d7992a0e8f7e5367fce78c510009dc4460d61ae1a3c24b27aaea497493cbf0006e11e7c9a36b8278b51603a99ef7ec31ec03c7cdda4cefad49ab2fb561c647232d99443338aa4764e7d2e29995398cf83486cfd938785492d01e3bf9ad05c03c05aec8bd88e70bc0cc4ea9a3d91d8163093512b9449d2a082dcba59e816a194faaf4cae55a38f98f08c406cf938179147f70b5b94f56cb2d4238f56497b5af9247c2d9ee629426a2c1d4520706c00be725e536ebf478de401e62de0353980222b1c836a4439516ad4b67a3c2270d406180dfa1cf491bafc7fce096ca2d565f609ed5c84cf8f94fe356264d24ce6f1dd3c4109e67db10bc1a961b0a3afaf4e8d3749803c80d8658427669ceba2c61d812d53e0063bd6991c3fc81d5a2f881ed0ea29100a11f4fcf42c5691d3ca869761778e962b2eba8a8374c6959a142c319810ed8f511d381a383a4996471d171462b819372365b44a2c2e135a6e3230cb9fb8d53d1c819091aa1950038d008e56bcf35fe7278394dc20b6e6e303eac309d3497501120b60487d0b060578384309bab691d9c177503fa4a28ff6fe0dd93120fced222804b3e1201962049ae63b36f54f83d0546ce1fbb8fc11d9a35bdd882864345099cffc801043b90824a7f42ad5e966d657760bac668da661de5e4af4bdbe6385efb11659ec2b2569a6ddf8dae9996d745bf63837fb311ea817719869b405b2db5f821f384e47a269a8c983471e2a6bfc272b59ddf287a98c1a08ba171c5d94d5282290daab117478ac3812de0b6940c586f78701632a5d80d54c91558b9f9d4d98da3474d4841a7b284f62e5cfece7aeeaa60e0cbdd90b6e7f01226add6bbad126bdde28a4daa56838b959987211498e78de6b0e59d362119f090408e112353b1d47268f42f96542af4393d4d0b1826b59aab94a008f7b31e4bccc8b4bdcd07953cb3f9a1f52475b5dbab7cb6d39e340a08224b7458d95f3c5634c8208dac228d14607f26ea6d724286af49b0ca145b9b1ddcd93813004cbda6d45cec9b9e1d043782c643407b6349404ca28daf5bad323e512c2d38bcdcf82a2d45184bd935e679b5f68fb4c04e1276eecd37606e7670cfc622c810b04b44f407bedbc22fba0ecdb54c8d186aff93ba633fd641c9e6614fb4b151e0e52f63714688b40797133536476303f5b91cdd4015e355e46491486161d518375544608b5e4ed4dddee7b07023aa7b1b493b8c0993433266be0bfed9713397415afcba5132dedeccad92014fbbf8039ad3d3ef4ab4fc124886f447f6ec2c56f86882a45d1f30bc1affda1ddbdb127ab67b94f16af0d0d223571e27256bdb9a2ceb086856162cbb9fea961044651d908a8c2dd75c508c5fc7916447f0c4c4a01b6223d58b112d7b6559a063ca74f5ad3426d9a60fce940be8eded35d0405703daf5df7f7493d6a07f09d410a91d29c8f45892d12939663c8ba6cc23159a2756ba8f7032f7adf6842a7730a0755a6dccfc9ef87aa10da92ee853034ee929d231cdbf4d1ffa22fcc23cff6e08b01dd604a5433680151f8d0d672ab4d683a0985b45357830d62695a9d8bcf3d683e31b25c1df8bd87a594b234db288ad94d7a64a7bb84457b37e697d084431855074bb59e232982ae6ce35e2b86ad69e364791de4413fc588d6b88016b21dd0c854e62b46ebed3a934c514c95ebe556e3ed291ad716ae246f87efadad42bfbcafc05313caf7c6822995a63a62cfcf810aff8ac0dc97798d567a01393b2bc2775b043a5641ca6ce9d66cb6e26dec8895c78de491c5d71e8229c6868edc5b526e168ee8218bf68ad66fb76e37f3ce07ac1ea65ddcb427aa8f930fd5d368b9f41506c4ddd43ea15ec7739ee5d576f6efd774094487afe7fbafd32a1a57dae20e9d36ecdee5a221ed07f663e0c4f4ed313369bc0e923549c5488f43d34c46478b6700551b2706a4bf8296904e4e390f550406c2df0773b9457a2864c4d33a4dd323de06869a989d9dc53dc91c210c1cc0647a728bd7fdc87beb74e5ee382bf6c1ff59e2f41d05b3a580d5281b9cd23e31babd51d96a978a708f1a50b856e8a2db4f4e33d4c6c5d2e00bfc867b3a07dc58e099983207a92a6d19fa72faf759ddfa9936c9147652d02cb9c52dffa0e2e22e292e7841f56bcc21cf7d05f61f7ff0c7ad06d437d16769e5c16e20ab43cf5a91af514c362483a9da18cdf49925fca6245e28172e4626b6a8934b009d65406b70cf06db448553b2728513de2e3c7cdcf4d6b71fce5e845e8465cc90bf4b48cf827be35d56162c96e6bfdfb0c632fc9dfcf43ee4906d4d3d6062f3a11645c4c726199ee78cf49d67e7c14d73a2df8fd1473a74681d7fad554180d8ef42d5787c7958d2271f7ca67e197ab38ca8babcf5144e60c0c37b0e73cda6f75464bc075d7eb6f0acd68143f7eac251510fde2647d7f856c38eb49fda719510ec7a7fe258bf7925bb06fc5ff40b3db077c626cbc94d4a063567100ae42974690b53f8c5f2a5c8c7526a0dc5a0a51a5aa1c555968298a1eb27a5badfc00c1a95a2049ef7c8f8c5977907e9eeb26623e1d7d9f6f2ca6e60bd35240d6499491e4513d9d92dccf5e9ec098c839230fd22f7abe1fdfdb1b74acba950f9677a04832e0c4460f09ecdbd4ed192d8978b763d0fc91bcad05dc44e6d9b6fc56228870ac7bed18f2ef7d026697ffeb85fe9d0fc4a38ed14a23442bf3a77908bc9d3a26518067c94dc7d8e1885e434e10508b5128892c07d53b86493576bc31cb550db083af21577e3bc5f6de700df0c0c05f3372bd1bbb1e55a3e74b40ae0200da89956e57e4d1f597f3c0f226ba2315b6f28cc9decf9b3e6256027dcb143edd12237064bafa5df70198ac9c0078bfa91254c882399bae89c5583d55f83b33f5d39a89dbf2481cbc171ef5721d16964e0c8ccdb94eddbcc665df1cea8990b712e52c723b377ba4bb82fb9900ba74147129b11d437b3edfaf79c28a908f610d6fd8dba27056b39b1b494cbf2fac405040460f6ccac70620475e1d9d1bb8204b1e3ccc9166a1d8679a6cdfb35a0c6134e36cc3be6783e4d8f9fe335714ec4fd10e80aec6e6f638cf0df9374ffc34773f26b4041a5ceaa2df901a38bd12b554f01f1b19944d0ee82dadc8450679d596b44756dc680effffdab4a03ec9c768cd1ec5d2fc4e3511d94b0c614d2fdd754a97b2ea500d335e67150e07bb77e1b3abff05b07ce9e439434ab19b964b56b5bd0d7e3a83cbe38ffc94dc41dac3a1834af0bef1e02dfe5ed34aad5049c5d3eebe22ad273458ad1b2f46872e436bc16bb2ac83a8c0d4a3d0324c34b7b29f548f19cc95ca13aac5822cacb26a676e66eaf332ede4517a0b09d04c6fe24563bc9b1a5a7b081cb8a478d4db4f5e6d7cb8bb912d9addb056b522c3b76618c79de3870c88067d3835f6548eb9feaf657ab881cc9259946bf768267047015574aa10ffe5c99d984ef47465e6f330544f99ffc4b7cc3e1c84e272e067f24fdf3ac76ff1fdf13074b4dc7a01065ac0ea3a4f81cba51df7dbf493ee8d2ffd80ddc48fea3c9346b486f8ba7795f32b8dee85c94e009361046754df66ded82374cd8d5005ef404eb8adba5a8893e57c646be69365ad04cac15debbe710ad1411dea6ce09c0558473465be4948e78e0e519744b1861482768f4d63243dda587085245562e0c71365e86aa2c48de2c6284dc279ef941a5426200f557aa2a749067918b3d08fb9f9ba7c287db1556c7bec31abd134be7adf260f3947e61e9451406427091eb86d7bc95ebe0fda2182caae2061250a302c47bcd3f0c3befbf3c9752c6875a43f36810fa956bbe4bb032ef09d7943da985dd26cb1947f8da61d35d416f8557f8367ea036eca93fbf0c963ff10c0093db965d35f1ce988c6efc6cd831d49b7530168afaad95499383438a40dd5744b0f3942ce83063a8f17a50ec9ff3644ff47e5b8824332d7fea47e1c330667692f089e2723632a9957a24ce4cdcdf4fb3298d5e66fab3c806e19041549e077829ae6ec8f56ede0481f92449c94070db25bd91dcbf4e025231d2068e1f80e9f32311bea81bab29ebcf787278ed7041954a27e51494b08d7b2dfe583f3e357026d7b77db8e052c5b0212682390f519dd2f5fb5179b03b35b21987aee7448cf68dce6741de66d032094c34f45245b6b305cb82be82bfe4571795f911b8c51ed72a3938b3706334da7159ed5515160625ce9d0051b82716ec9597f8dc65870374baa0edded1d753e236993b4bdd503d2c349e253263fc0da652e611b8119d95fe175f14a335fd321198d465394f984b53bb767cdf7d23972fee640265188c0f2fbdf35b93432d6a56a076ea57b1b420afc5d6928168321e2daa5f07272e1328bd806c18b9898ee9b1a9a9f0c0f77db72706a97b479b3d0dcbe61e3c198d29cb6701f4161e125ff299337427781a38468dd3da528aed3c7e5e070bbe97f29d067df8ff736ccaf522f93b773ca4bca30755bc2e23ded52dd89f9ab12b474f0aae166b23e072107df92cd4575e88ec0a454958ff82f6042457920edd35d5cc49d95455cb82329c84327224f49edad78aa2bdda9f0cc6586e0219d12ee63376948c2de9115652a9351d57d02e8b49e3c105d1bfb401341f0ed6b3beb3b795ed3883f47530790207fae633317a39b05ea375354b95106c7736d6025345efc14e972b2b42eeea50d3ac3fc7578b4b142c4c2e0a6af1e78055700e154723a1fada8c23a8e9ac7e469010886ba055f2f5d2200a3f1d40bb001ef2785e0d0d39dbdf03dce966c3e3fe1ffdea06e89bc3b8b7b49ce20efc7532bba0e4eeb3bdd0e799218ed2d956d90d1f47bede75dac87989563b7542715f2a31e80807a92e5c9711ab1adc2776ea6c836f94f6d3d3fedebc4e4bdfc32ac0b7ad992ee48d409cf4d66bab2d5768fd684821ed265a2e3979fde8b54b4b00833ae0731b447e321b3fabbcf32e9db1a1a3b2af5f43aa0039ca5537150fc522f96cfade63360dd99f30311a7723628ec2e3a2f59ec7b4aafe5db29b6e14e446895111240728111920db120ed92cd329830cb220d8dffddd48e68795a8289c333848887c9697f9b2ceab3b37cc7cd2687b18b6b09cdcd76b74cebf1b0c0ee72112ac6660eb9f791f643974ef7a2abefd68c45b8f385f7f97f19a5d41ad8b72cea6b06b16f632446355cab03e23b1994e5b30f0263cd7f9cca07ba4eb0314694f0d58eb3f05025c0f4b5497abf3537ff0a134136a647f74da1a500a203123c61d309f7e84725ae518cfc4bb5c5408a8d1313f1aa5d3a00d90746e51469231d847104c210f2b75dc777f579cc4e49265b1f4302f45aeb0047100ddcd8acb0e1aaa5d54867311281f9590ac7ab72795bbf919c3b9e9580122729500a8644bd1613b774b49aa5ca032ab25de5696a65d2b11abbfa464ce20e6aa78cd9b2e363047d90d136296bdfb5ae366a9c496ceeb85f3485b959d109f3b70452720437722795a142756505edca989d41389d6051dec14134b8003c6b3732f878f36166c6b3eaaf23577958349f6c0932d8003462da3b3a408e5e59610dcfd4ca73656b847060030603dc3b42a9c3646ef1bf0b44a9a9a92bec98552b4c1c66b5affb9bb4b64746aa102a3757b7c4bd0abe7b24b47a465337d6d52b7a1914d926c73645a3e09ce15b2b78c515b476253f2229fbda1a92d1f567781d73bd03424c12ee193eb68be05fcecc0dc27c880e0183e56951e97643e5fcf9e3591f485a2804e83f8f8836ef1344fe7424a513d98b59a41f1df9778226cc2bd2b18b4f2b0195c5add17aeb820e2a6d6bd05065de4066e8021d11d1714d49cd661082af543cee5b737acaa7f3a49611b397083520d1429e622c4961360b3d7395a5e0c0613f7e264f6760706b83d19952416465a6351243ca4aa6baa49b539985f6b7a93bb55f817735c579a2e7b72aeea238c44af1ecd0a94d277999444ae30fa15d7c9ccb4ca91f49d1894e7e59cf81f1d4d234a82a40e75a40277eee15f5aada7b8f8ddcbb55643ba75623620a3d83de0606c5c78f2e1ccc616e68eba55d329aacf748e670ca72406398e729836de5543d7fb651d343ecae1a957b84618ace9d0e593836560a53b926f2cb565c2dc8acf203a4571a4c8c5c60aa768f89baad29aebdc268a2ebe760be1d34861ae630d600ad165685971514d925beb0195dab85faf30b49cb28b07024dc2495c71b428adce88c34a414c0b3ad6112490868e45b9cb31fa86e3a28a90606aab900bb14d540bc5ce2e2a1fb78bdcc723ab1725a1650323571ffd2df4e05300e45f625e9aaef1ffc3d7522ad5a52f32bc9d3eb8fa8e635f63b52addfdb7960fcf17f4f54f4fdfa5cac882473bb352b26540c8f4f0c71b136ace8083998c3ec9031ac42ab027823f8d05daebc977a92321bc1f30fdeba91acaed5f07e6fdd01460f37347b7b01914f4351bec464b6dc8e6fde124ef3a097b04d2baf9e8d9275e8e4cee331862d19bc9bfc57bc5959880fcacbeb9b9946e4d242a07d4396f9de319686c39d247137641c7c88dd96ce18bfe9bc85da082dc232da59aa2df7a678bee7f640f0fc94f3da6a98408e3c15cf6eab86521365311ae0f945fde59098ee883dc4c3bef7ebdb01f501e7d1a849e131ed1cadd85cdd763d90b97e9d3d3aafd5f63727902283b2b168c0ff86fef61540aca482b40848ed37affccd07f747615596fe6679c15df18b7bd3f57f7d6e54a2f24c9e36b6705d2d1ab814ebe1ea7c96d39f926cc274e4c8374b83754b0402d044ea48a3d9c49cdfc1c5fa63f50f101d24c60bfd4ad3b1332f743eee6e1c4eaea09659e983efffb87c948f00c299778afc82299dff188e41e48a1aeec653a88afe4a4370b51bc63bdd0cd1c76e2d8938b91c7039e70c061ae7403d706f85d201c469b65e084a82acdfd26ef746fec34863d3a1b5954cc8a6498959f655c6aac9f306613dbd4ff09ae799c6ad259a3efba7b330999452aaf182f69cee240a1cffddc58a62fc3d20a589dcde84f0f6e8303dfbc5f4d8685ae917427ee3d7c9e13c8ec24a4069f9f2124ca2465a61092e22e140189b3e0ab9f20cbac8c7c25c55104965d55882da0f59b6f5a02982518a912b93078c3780954f03738e033ee919f7812b106274ebdfefd5c1082eae8166ae8beb502879c4e241e4477d2a45aae6d9cb00e9ea439565c78d76f1be39f3066ff811aeb17ee89b52ced4be2fd54dbf478d4a1529c8912bfba61c9f24ed0b80b77e0c850b2eb59bb6857a7a601ee692a03a306bab2a80d6d6be5c0d1bb59bcd919757884549241593b589a0e71e4453c66f9078a510dd3e8ea51035c47d4203fab0cb157e95ce04041a1cb2e59de31f6116ea3ce05386e9990b2f0df023bc5a81780947b0d42cce1a4691dd269a2514821c9604364fae96239f2b79ea70557d7bd3c8ebb96cdd1439bff81b7aa5ad7a1614b6faa8d099d4ae05c0d75a034c1e54f3a4b234ac18204443b32d7a2eece2e22f1d735cf960ca4e7753ef90ddb155c5063235deaacb9a17e4d4a3ce492f74362cb595f5b43ee4184ae23b3af8368c55eab3e80db55c8319f45952d7e6df3f1ee6d63b1a37f42ee4e38f89e8c632cdbea78281d9b58e16231a43e92d39001849577e80d7d76b690e2683abd28b73cba2fc55db32a081d81991172dd7b31ef95476eec7fdd887490f7de832215d4e34ffaa53e9becccce1cee4f149a3b1cbba3c4cda06ab7dfaf1ae905ea4b2c0e3e1a663a38f3de7f6404cedd61a0ec7f5c3cf0f906f1dda29a5643e75fee8d740ac4523bdb92f15c57bc40b2db151328ad5fb1b9668590bfc4f2b64307e6510c1467b0edf9c2199a1c1814e34656818e6c165a4eb5c1618afc4243f08cab68a6de77ebba8361b36f14b4d0927173a034b98c5d05049697a9ded84d85eb99a79905a6735cda60e0ba0d1b706c0ef648f5d096298da46daefd9cdecdb6a0f4584d3a27b754709de61575197bf5a980696c98ae49da3f92f0de8ee7f42dd543b746526fa3285c35dd6ab00ed1e466ba92a17e4655e01897731ec18a587a4cf5e4f8dd671fbb9e2130c0e9fea962b4a7a3c2bca1aaeba6a66f6cf80e92c77792a41c80d91b849175d912aa17cfbb7da39a2b542557fad1cca643d6200303c8504b1fdb663a6ba3428dafd37a8efc946344a505a001316a602b7ced133c0700f34b1d3a7ef6008c9aa8143d6ab3d4abe5501e2badf4f58f5daf0d2c13faf5b7d6ead075091ced30fd280d048019563244550cdf2774656a1133abc07c2e7a258445f650fc89f1332a7761df3820068c40b7f22d44a4e62cd456b51de5e3934eac8ee70b74f22bd77d93a5077c5184f3e9089a1783aaccfd73ba9a904128c87de9bf5ce5ee2beeb8cbe5aaf6f687df9052b75f1a4910fb46ad983d9b5ca53a33a59f0f2641e060d6372db1e5193fc1a9c3901dceb64bd680e862e641eea1b05108ce97a8e1823ec17c46a9a43bab0a8b21fab63914d01dac6363e42db448060e8dc33269c60cfa198a583da9136c439197436ef68c31fec48c4187dfe047b1f88e7e349bf9e6a56ceaa07d442b2317dde9b30f59df245697dcfaef93df947d6fcbd47b27f1616d7c0be68ee330db6e22978e9057b5a27cf7bc124366c353baa368ce882c6fc4a305b94991130bcd27b150ca35a80177bc43daff6dfb1a5db766afb3306dcfa61e7ae1dfa68f52519a2544276db920cc82a65df8ce6fba519163552b4cb08692f2e462b427133f86cf861109297f6dbb04e065584da122480eecd0b9e6b3565d2a563a7353bcd935635626f22232ddb58344f0fd8222d4727d13b4a879d20919d79786b9eaf824a2910d295c5f88b5d50599a7545ec29fe713c0e94eef7a751a8516d0c5678a052f892d464836fa4c6990deba71b9ec56d294dc6b2ba8c4fc439c89e8a8fe2148f0233e532282fac501d5bb8dcff4fc87144ed75e8c3ef2ce1466ced68bab8e0e3a2bb7a1f55dfbe1ba1f6e2576949290f23f14ba4f7c7affa4ab29b91c074b560deae95fc69228cb818dcb8a3cf7dab92f30a515b315a7a4dbf6bf05e1c46e3d7d305f058ab8e2d41cc966f8ca4ac97eacb53854e7a4b1fa2fa2d441e43456a031f969a803eb9ce374c56d93cd80e0df5302ea2a01293b78d30b2dfc25d17fa2eb87d750e2b9ba54bc105ece75f05b7c16ab56e2a2f74b1f78fda4a74941953edba5cca266e1d10dfc09039e51e9651df7ea42c4774ead5757ac8560d3866c3fbf0e0c72c1fd344c8c7779efd17f4bee48d4a0e4ba89d66dcdda1adc180935bde4ee28ab1a81a5eb4d02d9a453fc3bcea9e6bffed901070cf58a36c620f3cc644ead7fd56305944de2076fa84ebc4c59c6eb63c92df00fc8724a99c99b94cc30318b42c3eeed2f45e8103fa1271d9d1b3385645623f4ba648a80f9d5be2dec06782a9502f1410dcbad2fb08c2f817664914646c9acf56f54daf1f0d890a3845222dbe238bddc5691f71ebbf0085efd84bc4b97c1718395fd7bcac6bd782fcb95225252add3eb525c640ef28d7e1c4c395744b9a81351110d291fadba2bdb9f47198a7e7bc6554c056995c839a44b60f8b8a806e535a5ddb531adb0f981fe45ac24398ef9cf25a04b8f67419f3e40d0b7cdf760c2dbe56189b5af1b5e3f8ad389ccc11bf9be73a1ea54fef75d13d4b56d00d3a6af4ad47d3c5909e13f80eb8175895c5c17f17f4cebeed44adc80d6d409fbff4437b2677b63a734e3e13e03783094f5f5ba99c5bab71242b5d7a67c365c2c51f08cd8c0639821a8b0c1f698d46ec9abea1fe182820ac94f8cd5ede0c7633d24f369b5ee5c9aa5fac4dfea1a3487eeaac5b58e769bea4dbf83ae66c01bd8312d7751ec93d8a992a3944e82170a29b6dbfd974eece1cf4b52378a2c4cf54d063c1539b6edbbb34ba557eb197a2abe511dd1af738aac34d0417d9bf139984dd88bb76ed047daadcf530627a1f367c5b5ea33b95c440390fcbe6a07d751e3ced64530734079093b35ec8e9f2eea96361432d8070bd0019bd861646d4d87b98a09de8811178906c832febbb6ce07bc30f3bec8711ca64d98df1f677d3b196ca5f076c3c371eded52a63a2d0da3edd31cb282a4ba9c55d8df46c4663651d795c017109f12fecc43c92926785dc6b63e5b34220a3d7d586fa3f684e3435b26f6e25785c7f1eb980f0359f2126be72acec367dc1989c8c89ca03ad24ef5a9639b222fdb1f42e0a2b3444c8bb770a82d01c08d664c9b23e27078a2fc9eea449ba2da5e53c1296b9be3a57204d0a54a4d3b31b542c4246bde4b0854c8824a89eb617427ed7ee9bffb06a03d96f054438a14be3b9460da1f0f1f16246ab15c55d80edc960fab58da127b8125e5505fbebd3cdbf085ceda65d1f5a436af9af65c51526dc4b58e07d52d4b454e8899fe1688126531eccf064cdb56a72cd7ce23a89bbd4216d056e361458c3be8bc9acba695191351cc4704c03e71e066383c53fe50eb6fb672875fa6aed8c6d97e20bb7d195c6ddf811ae31b075ed551e137f3ff80ba0df18a830f852bee5b8612da325f253a4d3513db3f61a94ae26a92e12a8a8759374a17bc5ca93e8899a6a23aa9c544a625cc8cfc69f52bd18e59bf6c4560a0099d39b823f1de1e28dddf1cb4cde28876e28f4e821b0a39e2faf9080949de4e434187d6c9b75758c8fbd25e3d44a0787d114135e667bc5f2cd1015d134f196b782ed0ddc40d98608922aa2f0c7927bddb38e2327cf6c77530ddaad19cc17080a441f6b289c585242d6838a61f0378f1c6a6126c051170b0283dc5a0daba50f225d5fd344ade04432dcc04cf84aa8b29d56bc5abb5cd2a3453a05d9052397bd7fc99543e6dbd7b6832183134068fd4560de82245e082ee4a482d539e2c4d99e945b09173af73ab407eb8bd9d5a81be750f35006d01347e7fb355405bc81ac2b9d3960f3ed63feaa98e8f9b6f342defbbf0507e717a1c5ab9655efd159f2ab72ef0dfd7f2f8881baa3d0d5fb4b352641e2fabb5b2a73d9a81bff82c47d491f8663f1df73aa27e2d170489751cb77537ee994ac2caec0c87185b0793059272dbe75e3fa8263b4bc67dfaeaaa763164818c98185d7f46350fd87037f4a1ebf33ea31d722cf8b9af0b1887c16befe59e67b139f8c777d2facc46a8b1c2d75c918edc99ef990f22d3145011db63adc7926853e64e2c3766c6697a56b8ec50f37d282900c35d856cb85f9ace12c02a48d73957411fe1358fbedaa5079160f3c7fa08eeeb58cd83ee5e2ffa31f4a5fa45e39fd96dc8befb55ee1692b361c5e8a89ca960e15ebb03cc49ba8291c69ef26e670f10d4ac4197570eded5aeb7944ddf3e960a0d4be74d3e2aee58670ffb899fa91f8a2cf302844b5d009a2cd4dcb56da41b1ee0201796962c8f5487285f6f3b0c6c51c30b0a77f112e70a077e06fd29dec5a7bd689572edb1dec97d7c3f75de10444ed811f1696ab772426e646666388d1aee09cd1b441bef8a35d772cb5ed70f61e67e1dcf11c1c932b77a04b47ea7e3c180df51f7933ff19a13d86a1e11365eb09fdf6eda8931539dae9b7901f5694a1bc25bc3f4ecc54b96032e1c23bbf885ac249dbe030a8892ee2e6200dce20b6c8f0ed73f97828b2295ff86783c86a7532b1afe8e34abb7be29197c8353064508a3b02cf8f752300416bdbf316e16f118dc6157144dd23885716cc6ad22c3032fd17754af93bf19e9a098c12dc15580936c4844a695cb5774c3f8abc707cbc89ab725fffe0efc7e3475e2dde6ddc4fb64044faecc9d92c4cd86154e6bfc082a5219e7c4dad681ebf89f466e739b35d51a9104c4a753d5cc4d6f350e2b351fbe157a251d987ba5c823c2d570775cb1a311c39f664e3e887dbb53c33088ceff7d0201f4e7aaeaa3f148c256caa1090264a0fa0e4d23d2a79355d2bc4a180260ae080b0e97111b2ebd972b7b0b21690d8af955319c2eca0e2b3e2c1d43053b58c09641eb80b452634be0eb160cc1631bc6b77fac47c0d3fa93d236706b1e25fe64ff21be47d2de373e0ecd786e37b47db22fd8cf182cd4a672e93c85115cd271ea5f6af6dd68628e0c1a0e187fd3fb700e518d296738a2fd857a8a57180506af037bc97de5bd4d084e0362a25ec2c48bf08234ab90e40b36ea6e10fce896f12f2d4a96b7410c64b9665d1aa3421b73c7a8c93c5f58f5f70572ba58821d48759bdfff4a1ad95740598a659a5587825a1e8cee3129e94c8359a009db9b586d8f556e0fa94de8ede8d5f896829eded19d588a12f68b92659e12ff78bcbeab923ea533534f02321be69aea174bc204c444c0ebf44c361287515ae10181813ee408c5e1405a1bc5361cf31b482df67b54592a90ec34967bcf2fb8c489d26e4e61fab1f54ab8a838bb311b9521a85055cd3ed6c88ed51c824ecb7e27aa13766551fdeab17dafba7fd0f478ffe6c9a1ce1cd625b29f8687e52f73b27f8c1b4d5c4dcd119508f093800cbb00497f7d5c29272002537eef9bb541913e63b0807ddc5110972ad92ef3d6804dd5a52c9d1bd2a2434cc04d6d01886c5a1c5a01e7e10a48a5d0b9b113eb6e97fef2b8975924f99adca9d08eb207d0aab98119a8d4d6a7f36a1fcf6187195a6dde4fbb26e5f65ff0696eb60f144da371e44415ac78f08052dab8acd09174eda1b766d371473a8942064827ca500ad1c810f2461634d8a1e98bb875fe7b6edce5daca49a3b75c2de7860b6d3d6f56fe5e20c3df3cbbd7130785c7abf90cb42a79d8aeef05691a822d9870c0f49c93defa8e484209117976b9d3defffc35865c09ea2724890c0c1b5d8e54c7cb58e648dbb24f85f5e15682d7d31b1f44ec91c0090e01a2925bc643e64c62ae1892637b4948230b840ad6e5a39ae90d644ba1b1ae7dd88f400a09c4502f8e1a93a04d1530f136196af6b253e187b9abfa7413ecc0c9dba5cdbc282eb7a112329c583a04ed42ce684ca834382d66950343164cf72f32bd474812afaa2fd3cdd68ed68e5ca5f86155b4e071d3946b0f333c43d950a782d8c7deaa6dfc161524adcc57e01c447c09a20f681bb486dc9fb2b6ec238ff994bbebf9d206b5150eef226b3e37daef3b8e750fefc6c0fe5246fee1b325fed660742aa59a555336ddca696fbe9cf3a0aa5f54294db4fb4e6c6678a7f3f5a79017f98739bf81229ea7920a00f420e19e13fd4fa13a464c494708fc37d49cfa9257ac045287f499388da985fa67cb0ba1d3bdca1472ba82f6e1bc9a4f84ce1224b3fa3ba5aa23d9af446331f3f489d9e876c018aa354c5d611ff26ec61e0bacf1757912b183db32964c9849ee7437665cd86bc13e2018cd4c7d88ad405730c645a88dc3add6d14519949ab8f592b66425a5f02fbe8a2d815eaffabe92fd5eb67008ae87f8c7c337037a478eb88067756029d5b78ed6687550005e2c37d8d74630deccccd453f597c8c770cc48952c14e8227e84e99b605d7b5ae278d0f6e278dc120dc49d1c9a1d8580f1954015b3b729734092ff22f54e4c960a9f2e98f65843eb8058421f3f8656de9acc16e346e4f54c82fab2b784d2d420d6e7120c45f89618c94f15e97d72c4166fbb29bad6141f86de0f5fb83c8ce2bab7ac911100cfc0b0cc6b222e3583afba4a71d9c91784875bfbf44bf8e5679a8369a2dd3764d4c40362e3c79c391cb3cf8160f89c9ad26ea735757764c3857457c08fbae4cb9d04d7ab9d5723455227067dfa09200a85b34a32e752fede69c805e9795e36417727592c94bd302c70ed444ca1f872e439bf5d44d0c1c5a3c100044c4db3ea380ba9e5c3771918a018c0b28581a2956306290c22384caae116deeeaa39fe35ce076d50837cb1c4dab89b3ec2496abed7cdd07e6faabcbf62642143db6090c706985bdef7219895591ade456ff456e3afe076587187ccb7a45c19b141454638a59a8d3fd9402dda8e90fa526d91bd11a210de5bfce13720f84f4e4d9e415bf9bdfe93962bfd92b190ab80408019373ba1e65dfe60d0ece6e2c3e9ac7a8ddc305075461cd9074f69a0135466a1234742a8ad1badf0530f36b8714bb6d894b96cc4a9bf1964e0ff1eefbb445d796e4731384e817afdc2db72868e62fa891ad2f1b51c1c188409f8e93c10d2c422846472f5811656498b0ee5f54088b5d7851b1fdbbc6e65990f6b0a2ca4cbbb36cbd8ad6620fa51a275d68511170a968175dde48176ab3e4e5f60565c5173c21d6f140efa45e772a3b4b40cbbe956c6a50425963adad0fc6bc169a79cc8995c0e79ef76954b6d8d4a6e38cb33844c6e0669a1cc67d0224bedd200982e4e363cc10c00e99ca1fcd84726303f7e6b9f06a773aa852a85b730f1f74d7493378f9a80cf1cadbeda8920ea5142f6c3cc71cbe644d6956431fffcde5b49bc85b2962692c3ca1462bc9002bdf8051efb1430a113f898888dba50ab1fa951daafb4f49a5c82b0634e25e750829183e6458f34b36b9c501f3a300b120788b4ba5af671267e0b1e7a86fad805f467caeda1c81eb74a56f8f6ec41a40c856395bf6464acc1f254c6c967d745ff3fff71bfd7ac8e5acda20cd5e7616710f06400aa03f3aa1f889279ebab3ff01ea24ea694b7e4f49b868cf3b09011b89a4661fb3a8b2b083ff0d43179f7c93a8f1f00991b8776c4bd5724280789d2f45ab8ca1ce7f6bf0665b1afc4fa16d25ce344fec6cc9a8a1b0edd579008a453c7086f3648df75515502bd7cf313fd432542319784d64d3d50a773ad6d766f404115f0ae5c8b635940d050b2a2c942a310b1e8fd5a2873dd99bd679055aabfcbca7353b027505fc1b37376e90a103b2a6eeb99a43d5c5964e31c0a0c4eebbb253ab6a80d7ac0e2b9657b08d9c33fc69ab811a28ac07382a335e73b6ad931edc20359a9b35cf2ab3fd3054d7518e8fa3ab82dcadf624efc18b7825c24c335e119448bde4bb8ddd025692e6dd559280c043c89dc0b53573ea04a8baabe6127ad18649cc3c7807c90d7b7ee9d36f4a655cfb600fc5689f9d3d2d85a04a0cb61fff271631f2bee624e62533019c2b260f49a2c8b4fcb3589d0ddfe60d7c4f759f2289c1678694df9cb0933c8b13e022b12fa76df2390091298010212d87c0cb92e1d1aaed68c6479483bb2eafd80e17745e9dc050c460101a4a95e463031a357ffe1a36729c1c17f6a76c2d138609239d6ee61a91dc0f41ab35326b9eec9caa25196094f3ebe0983a527bf3487e9f3e1d1f49c9f788c0347cf91e7ee1bc37f01440608f2d6e3fe492d344cd7a305e14319992b44603971d986a21e67704ec2c753d0dd4dcc7666db176bdabecf27faa0bccad75d8287e1f45d54b57d32a2629482c3a87d97fd2b437b2ec8d86151eaaa93a24f6f8f7dd1cebac974800c4415d2644f75f440b377be1eaac4cddfd7695a63c70647b0341e671547c4f77378ff6f4547d2705d41062fb88829d9a129b1ef17eae6fbd58a5cf3a412a6d0c2f88776f9b1a42a9252c303bc64e4f64896568e1d4063aa106b191134ecb8458acade7f46dfb31e04c6722be29d91bf8a0db01985aa7d1b1d9e1ee9cd5ca72c156726c8694bd5033e20ee1d1f365540aca2b44265a004d41f8f034344b3f27c38b187809beb5d9c62ce20ec7ed4a2ef1d11ec028f31e8bf20febe7b1c5afe8a51740b3849c0bd07ca6e513564304a27adfee2016c6d395c35774f8fb4d468f2ab0e2425e39f4da8418b90a96ba7f91cf9d669a6eced30ba3da58332bff781b8d38f4e4660d68161ba8a93dcef09ee84725381b439d2f8e560c485277580bbcee226a8f9292e5a57cec37c38230815df9ecb831f2e2792f4345da5c649002aa9b7bde2fb49331c4a6e18bbf74164f345d98ae73380a6d55dbfb423fde4d7301972f2e9755265f008fd65745ba146390006bb348d391bdcb696b2d3ccaf0cd910463cea971dbb5071bb117ca7ab9bd628ba29b922627790557bca4f33fa774031c4733187d2719e2a4e76cae29f96f11b95e9e60973e47816c0d3753248b73b719300c41685cff6bc6fa6f6e4bf037de653b2cad631257141797c6bbbd10ef9065d959a443dddb0f12e6d50098dc64c7801956ca835692f1b77cfd78029674e1874ee6f2510ff160e3b9ebbb140f722c5e5ea8c8bb23c8d47daa9fd7a0e51d951eda65ebd094e3fdef90993aed9188360ce79e475f7e3ac5c13213c4f63ee77976d7f852180171cc981caf9100595d7d43cc734b5e4bd2774f6a2768ebd4cd4a1dd744903b0bc8b5861ec92b59cd8504069be04a5bd001d8e619a02cc7df081abffcc23a6e6340f21043b9e7674ff1094990f3306c0090ffa27f4215c1bf7e0e027a91b91e3c8bb8848401f97e9859896416cd9f4d28ca1033406b1f40b654ed2970e0332f9156438ee931ecb6aa845533b1f07d521234cc1bc4d99dde3212ef3053a1fd844e8426b400acd8657b37362e411e49c370b51c9d505839b0e2c92816146a025888236a4331e1fb051963a7306edd5ac60673669bd9109323d7f02da1a314e684cc122339a34502e7df277bb4bb2eeda86fd44ae72b2ce190331f731acaf50be48f2a34722c206fc6518b7abd656a2b1d1075970a2db6876b8e8915cf614264ca6f78d8aad7f40dbd456748c776c4f1ca31ebdb623cc9a3954916da58e694784daa843292b8459fd02049454bc6edb6e54f9a8d7f79cdf2d16e2794b59ec6cbe672e7e0b2e337639662735a8290f97d911585c8922fb3477ddff7f06a62953ba4be65b9d8a87307875caf8ef9554b14e1da410a59818eaeb6133abdd339c2989fc062fe18aa6a1020034d62e4356e595d85dbaf09659ae99eb3c2d89699ca1654c5b69a5dfcdec95b415f623f14f4f92f9d11bd9c2cfc8a42562ae4c24f155b7a3e7de79e10e3adee4d3c5e982e01f23d0fe2726e4a8d8701b908d0c8c0887c5e10005e9be28c9e9409f451512939bcd9c6e45c865d8c4dd80f86a9403673caf626ef0ff19623a43054801288bd207edcad4dfa4518100970a08cb3ff29f07fe18d39feb65479c77ac55687f22df347f772a6d28b3aab644fa9ba20e7bb4ed932d3dac561ec9fdfd908172bc99941d365e672c589cfd29931bbbcf3565b0957fc060438734b1fede4eb9f8c9bf637d9cb7de623b9e2d2e6dbf6b45ead7351852004b866346775341016657765ead90d2b39949ef35d3006d1b87b7b186dfd7a426dfae394f0426b8d85b942f7f9cc16b1dc9c11c7f9ad1bb5b70d27ce7c3112cfee33301644fb709399fc941076677af39686186589e59d66dd3b6a0f82473e7a47475a045c05688f93f776ba5029dc087e8c7b0a28b718409c32d6685e2a09e8a158cab05af53dced3ef92a001eda08ad24e6fef8df8c709bff2f55439b09e45b17c039c1422bbcdfe409916ec5c114a4681102f2559b8fd68b3a2d807caa9f46036ef566dd7035b80c7885270eace19db418591d48f40f72dc45050068475f6dfe1894d9b4148f2b65c35d80521348321661f6ea07dcfa7f5c69a15d4fef0305798288a8300efe186ba94a25ea6a3746b3518339a81d0233074f8a8f2e8cd0a4e991b0c9e967ad218a959886898ffab444ccbf8c8e4c61eec57c5f44ad69f46102726e76c53401f332439b443d9b1fdefb204acfbe6044f002919a095e48ee8164b0f3e5d3e519caad36c403dfc56f357550022b4f35d1fcf962eaf586a6c7fbe3fd085baacf239bcd622d7163f521a9645454522e207259ad15fb90505495cf8ba96e4d06917ad0a9c5a7628b1cba459b353eb4558b13a88553fc94ece67bc657a8cea767c936c6c43fed996a626ed5edc1177c9da89dff3c9680b3fe4c07461e329aa099643ab2a8f6d22535da74539af55b9bf186d79d42ceb872a6ad8384e5784f589ee1d8d7184c3189fe83c2e59d5f21cd0a2ca91333c98d049293aa6550404df3f555fc06b3b0f4c0c717b312e3a4e10248b4697d0e8705456e6dccde01de7cca4cd0b2977bbcdaf2f501547ade765bd3469a3abff4146e6e9c3ace81f36018f76ca69ccd12661dbab694fa123145581d97854590fc311cc655d7d41f8390adba5bc3c45d7253be17141630e2d73aee1601b58918a7f15dbdfbbe0f400b7b49906f8bc53c74ba2f58123b41f834500b61abf04f17825a54e305edb8e3dac37c6b55e88b178a57865b4e43c063070ee46408edbfec1792b78c59dcc18c095106977cfd5176156f3561bce6033aaab4134cab4bcc79e69e4c6cf85f6c03aaaf6b364b71f246556a3844936914bbdb2a78e4d6544f8137b3b9e42f8a8a87a85569a7b46ec612bd8610ab59422fb2e9adf986f75cb8c1b2c5bdeb11ed8c37e49baa09b3365e63fe37292d7e6a8a45027cd849a4125afaf06a60e3dfd703bb2360485566750b09eff338e9a04ab31d97066d0f61de2f7195994c4fa274f2a1359880df4076e18ccea7f6a6376aed51a02817cda6f558a61b511b384937de437b1a527c8d7661253b9d43d0dc593ee183f0809a0561ea3bdd926ada8522ee60bd173038ab00ea3dcc9591507d558851306073ae8b58e2965993998f4a9ccc7c774166f91a37b71421421c3c0d1a85c10ae1110d90a7b1497a25745f5ce1d2e4b54d51d26849150501abcccc35fe662821ab7cf8cafd8a3dbe5d2ec7354d69da936a59b2ecf26ea709e694abd4464a5f416304852b49cfdab517df3e5c8e058582475d8f523cbdb0d57b8238d628521bed14e3047a9d1c3e895f5e945e9a6403ed617c939f51c6f910202ad657ba2a7a1ee27adaf2b6f9ef3d197ff6123d1d858a1d4cdb1aed67d5ec68cba16b1d28dd9e2126273cd64e8846a6d5b47603b73f6548844b6bc36ab485cda930cd864b2c1550c8381ad4d9d0f94b56e1bb553f8c29b4b268e2ea3d9eb82c5a513deced79fb60a8207d7479814c9808a6df671ae55c508649951856273438afa18b6bfa597f317b6678dbaa5b92efd8ffc1375cb56d4d6860e3ee5ddb13b636ed011f7ba233ff29435f6adeff3ed7da14c56c05d33767e588571c3cfc8c40f530f36245350a6fc57583fae066eacf06f78d20f2664941841494b52504b117678813b18085cd0c37cdf239b397e1b2e714ad824558a8e62137c4bab3340cd0b3b9c3b7e95cb7df7cea8551de7e3bbf1dafa903f38d81d754fdcc4b0c344f77727b5cab9a58763687a2045b6eb6d21c7e1d9b3f28197e6418b39b360d0554514a67e253f5397ee6b94e6aeea9f51f866771da8ff94048a38f07fac9f7e6e05a9020736b06e7bad08aaf7e07505842e22afb1be8c520f55dfc68bbc934b4dfab7a64cb7391681fa303ce7febc62a6712d7ae6036d20afd239318fb61eb04e66e3b92be0bd8816e1dae1df1a5e679b71c818dcc0d0b350dc91aad67ee558c6c09f35a00da34e2473e8aa1784f2e1e117f90be6c5d9234a0bb2b8e38d2bff863c347985c1406214bfe17765aa59d8bc9c938a52277d484dd1a10e63e7e3ee34e8f795f1aaac4fd71617c4dda7a26e0dd5098f80b8ec2289eabc9986a08bf53a24d152137540d30c653ea38223cc7d8b5330fdf4aa2e32d94cc03ba71da5b66ffcf8fe4a24e5e417e4898f053e275680f8f4258737e309b159b89edd6632e3b95be52035b3cb77d32bbc7179440285ac6bb7bb22e5f0c12e8e77312c59ad77ccbb5255aae349b350350ba27c7f1ddd2a3d519767e3cc07d36b5b640fa1f248fc74b2531bbc077968d0a669695bfe6cf82f6e79550cffee80b4dd79cb95e91967e53306beff07f764454534f158a79dc376dc59164ef694adc92b307211277cf3d71341b907769a6d450cdc31d062caac5d48e4e6a4d45c0deba254df06b873b7e2ac250856bb37a8a48dd3b12b331d10c637425b5fbf9fa4d37c0d3d2a802e8af03dd2d743d055fa401d4940c3091d81c460e74aad29406c0320f2eedee165293d09bea0ca0ebb1e8a2bada0bc91bf56dabc8764d88c513de21b92112ae2e43c5e035f26a48cfeb0dc2518be5181d9209b9016ee8fc2221a1c1f21bf7444e09a9e2b3eb5b4a0320b3051438b8f0ae7c2045b44b39f1910d295ce0182ac12b0c7e9c6296fee96a8bdf7d60f4207d99a8f5ec853b2720ffc7d821c9846d7595f2fc938c95d035bf82e3e444e3645c51481218d3c18f7c7694bfd3331c7ef73256d8239230e3e7ac4ea9fba04f1a121d73dc8d6fdeadc567e8b75dfb426de6d64db6e89b2da9d56deb6e55664a94f75e4d7ce51e1b9bad98fa5786e13a6deef81fdeea75f10f30b284d515075ae487a5f9e10aeb282e091ecb8c49b280fd0809805331714528d09edcbc8e665af6c64133755dfa69472b7313ddb4bc9b3a87b63f86c4953021d2a15a586bdd4bd30d2fc70b3b18a4655d919a9561e2eaba1d4a26ea65be12e8ccacf71ee17fe039f4acd772b19a35f8a381fc37e88c822299cb1d0134ec3234772efacc6d51e158f27f13931a7c687a847be1ac7281076ff41a6113297408b180c078490560fcbbdda05b35858a4e27eba9c2379780451f767033ceb9f4d365a63ae72c919b2dd78df362c1001bf624d32cb121fac54fb13aea18ed0258cc0680fc609c2a2ecbc04df3cd615039cae90ee840d55d9f2d19626e7af3a0f5e6460791ec6c8dab57582311a56c06a9ef5064c90a1449fd57673dd3bd5f98978c997971ab34bfd6f456336d313581753ed8b822df40c4b4a64f6618bf4dcc1695c2039e310e1840ae4b1fe6e66124feec2b094741b2d7e688b9f99b3b5aaa151fc82c2086a1b0e0c2dc2d36ce922dd85884d8dcad955296ae20f0d7d3bc50b932bde90f4f55c715508986dd585530ac8e2153e1758793cd4c3efa14d0b1908d2623dcd09c9c77c9c0fa56769d87217a04364bbf7141949dbfb975a2bf0d6ad3a0b0de787a99cd89af34ed70c47cfc7d6bf6509346c683092ce3ac7773e78b9c7adcb2c7eeccdb81171fd7125bc523fb5e0a664e592ba3c1cf1096fa7b9a453945f9282c4fbe922b24f935df2ab4e87faf7c33181a698116e1e92a063372e2f35f2708801f3a759f4325499c642d48a9c2dc2482cfbbeac24dc87efdfbfdf5c60e488ab0de3c9d638a69d636fd5841bbc35c6b4e5d7979545a2406fba0b534fa08377012864a7e4c0a38a796a9eb75759c03a464518c8d63bd61bf35054669452332984feee4132fa3dc44939ab622b95c992606e98f8f63a8156105b145ec815729f99ac5fea771ddbb0d1a945997f7b39b7fd979744e22f5e5f79c64e904be7c586dc516749ae9d276106faf573ce2d789793a1b205bdb12c4b6071bbf5f9f662495fe728706d50ab4ee9490f1c748bb94edea4ce162e8a5576f624ca09578b7f2de68741164179f6c240bee86256a5124f7390672dd5d02ce5d2a64bec9e5f8d3c8a538c416986d5b02ff9150fb417492f1f162e12167dda6dbed0ba3cc2c2b630ddc0f1fce3d136e34252b79c25e46bce1f0213902d017247f04b141f8f8d5f64b0a556a0bb3455d5ce1212785b01813dffde0a9b9957455534c1bdb0d89ed3c4a5d7f983c1ffe0d55a6a44baacd2d8b58ee0451021df628ddeba0827ec799d5e46e5c5c7c109bc16a90bef0e0f0090f82a7da276903e0b3566c66e770c4b7d41b7d87300c8b092afd0c1190a528750349befcc7bbf7e2c1ba32d8f98ca7f6dbf4850195ad46968eeecfdbb6dad6c944f8658b1e8f4e0f681840d6a03e9fc4471103283a7c703366507eecb7ba2c8c7d6baac7df29808bbb15dc8d86509295a6dec6342bd75e08154977bb4850ef54d06262d636b2261c7e9c09f53881a6ba0f971a2209c7a9b47a69f90453b90fdaad878b00367ac14b056f6065d47d6fc6bef23b4266c40c9d08380d3ef27367ded54b570b7505da8a4fd9f02591fc2725f4e29d283872ae790ffbf16d5c94fe723ea24f55014b3a791df0d6992ee21a5b3145e80eca9f5a74f3cfb0e5a91c660e422222de251163407d0c67888f17823a07f32fd3e62a18e0c076aedaca9d13ccdad55f11852d26d1f1fff7f2arootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootxorg-x11-server-1.20.3-150200.22.5.63.1.src.rpmxorg-x11-server-sourcexorg-x11-server-source(s390-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.1c.cEcOby@b4t@b-b+9b!@b a@az`D`@`v@`v@`t6@`@`<@_^@_^@_@_O@_D@_*@_"@^^W@]@]m@\A\,[@[@[@[ā@[t[i[\Z[Xf@[P}@[D[:[2*[*A[@Z@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`TN3sndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comtzimmermann@suse.desndirsch@suse.comsndirsch@suse.compatrik.jakobsson@suse.comyu.daike@suse.comsndirsch@suse.comyu.daike@suse.comsndirsch@suse.comsndirsch@suse.comdmueller@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comtiwai@suse.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comfcrozat@suse.comsndirsch@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comtobias.johannes.klausmann@mni.thm.dejdelvare@suse.desndirsch@suse.comtiwai@suse.defcrozat@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.commsrb@suse.comtobias.johannes.klausmann@mni.thm.demsrb@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.comledest@gmail.comsndirsch@suse.com- U_0007-xkb-reset-the-radio_groups-pointer-to-NULL-after-fre.patch * XkbGetKbdByName use-after-free (ZDI-CAN-19530, CVE-2022-4283, bsc#1206017)- U_0001-Xtest-disallow-GenericEvents-in-XTestSwapFakeInput.patch * Server XTestSwapFakeInput stack overflow (ZDI-CAN 19265, CVE-2022-46340, bsc#1205874) - U_0002-Xi-return-an-error-from-XI-property-changes-if-verif.patch * Xi: return an error from XI property changes if verification failed (no ZDI-CAN id, no CVE id, bsc#1205875) - U_0003-Xi-avoid-integer-truncation-in-length-check-of-ProcX.patch * Server XIChangeProperty out-of-bounds access (ZDI-CAN 19405, CVE-2022-46344, bsc#1205876) - U_0004-Xi-disallow-passive-grabs-with-a-detail-255.patch * Server XIPassiveUngrabDevice out-of-bounds access (ZDI-CAN 19381, CVE-2022-46341, bsc#1205877) - U_0005-Xext-free-the-screen-saver-resource-when-replacing-i.patch * Server ScreenSaverSetAttributes use-after-free (ZDI-CAN 19404, CVE-2022-46343, bsc#1205878) - U_0006-Xext-free-the-XvRTVideoNotify-when-turning-off-from-.patch * Server XvdiSelectVideoNotify use-after-free (ZDI-CAN 19400, CVE-2022-46342, bsc#1205879)- U_xkb-proof-GetCountedString-against-request-length-at.patch * security update for CVE-2022-3550 (bsc#1204412) - U_xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch * security update for CVE-2022-3551 (bsc#1204416)- U_boo1194181-001-xkb-swap-XkbSetDeviceInfo-and-XkbSetDeviceInfoCheck.patch * Out-Of-Bounds Access in CheckSetDeviceIndicators() (CVE-2022-2320, ZDI-CAN-16070, bsc#1194181) - U_boo1194179-001-xkb-rename-xkb_h-to-xkb-procs_h.patch, U_boo1194179-002-xkb-add-request-length-validation-for-XkbSetGeometry.patch * Out-Of-Bounds Access in _CheckSetSections() (CVE-2022-2319, ZDI-CAN-16062, bsc#1194179)- U_glamor-Make-pixmap-exportable-from-gbm_bo_from_pixma.patch * avoid consequently failing page flip (boo#1197269)- u_sync-pci-ids-with-Mesa-20.2.4.patch * sync pci ids with Mesa 20.2.4 (related to boo#1197046)- U_0002-DRI2-Add-another-Coffeelake-PCI-ID.patch U_0003-dri2-Sync-i965_pci_ids.h-from-mesa.patch U_0004-dri2-Set-fallback-driver-names-for-Intel-and-AMD-chi.patch U_0005-dri2-Sync-i965_pci_ids.h-from-mesa-iris_pci_ids.h.patch * sync GL driver PCI IDs with Mesa (boo#1197045)- U_xfree86-Fix-NULL-pointer-dereference-crash.patch * Fix a regression in u_xfree86-Change-displays-array-to-pointers-array-to-f.patch (boo#1196577) * Credits go to Simon Lees (sflees@suse.de) for finding the fix! - renamed u_xfree86-Change-displays-array-to-pointers-array-to-f.patch to U_xfree86-Change-displays-array-to-pointers-array-to-f.patch since it's a backport from an upstream patch- u_xfree86-Change-displays-array-to-pointers-array-to-f.patch Fix segmentation fault during terminal switches with multiple attached displays (bsc#1188970)- U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch * CVE-2021-4009/ZDI-CAN-14950 (bsc#1190487) The handler for the CreatePointerBarrier request of the XFixes extension does not properly validate the request length leading to out of bounds memory write. - U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch * CVE-2021-4010/ZDI-CAN-14951 (bsc#1190488) The handler for the Suspend request of the Screen Saver extension does not properly validate the request length leading to out of bounds memory write. - U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch * CVE-2021-4011/ZDI-CAN-14952 (bsc#1190489) The handlers for the RecordCreateContext and RecordRegisterClients requests of the Record extension do not properly validate the request length leading to out of bounds memory write.- U_rendercompositeglyphs.patch * X.Org Server SProcRenderCompositeGlyphs Out-Of-Bounds Access Privilege Escalation Vulnerability [CVE-2021-4008, ZDI-CAN-14192] (boo#1193030)- u_modesetting-Fix-dirty-updates-for-sw-rotation.patch * Fixes broken rotation support for DRM drivers without hardware rotation support or direct vram access (bsc#1182955)- U_xwayland-glamor-gbm-Handle-DRM_FORMAT_MOD_INVALID-gracefully.patch * xwayland: Fix invisible window produced by Xwayland (boo#1186092, boo#1184906)- U_build-glx-Lower-gl-version-to-work-with-libglvnd.patch, U_meson-Fix-another-reference-to-gl-9.2.0.patch * fix build on sle15-sp3 with updated libglvnd/Mesa and their new pkgconfig files (https://gitlab.freedesktop.org/xorg/xserver/-/issues/893)- U_xwayland-Do-not-crash-if-gbm_bo_create-fails.patch * xwayland: Do not crash if gbm_bo_create() fails (boo#1184072) (boo#1184543)- U_Fix-XChangeFeedbackControl-request-underflow.patch * Fix XChangeFeedbackControl() request underflow (CVE-2021-3472, ZDI-CAN-1259, bsc#1180128)- U_modesetting-Fix-broken-manpage-in-autoconf-build.patch * modesetting: Fix broken manpage in autoconf build (boo#1182510)- add U_hw_do-not-include-sys-io-with-glibc.patch (bsc#1182884)- u_xkb-CVE-2020-14360.patch * Avoid out of bounds memory accesses on too short request (ZDI-CAN-11572/CVE-2020-14360, bsc#1174908)- update U_xkbsetdeviceinfo.patch * fixed broken patch (bsc#1177596, comment#18, ZDI-CAN-11839/CVE-2020-25712)- U_xkbsetdeviceinfo.patch (bsc#1177596, ZDI-CAN-11839/CVE-2020-25712) * fix for Heap-based Buffer Overflow Privilege Escalation Vulnerability- U_present-wnmd-Fix-use-after-free-on-CRTC-removal.patch * fix crash in XWayland when undocking laptop (bsc#1176015) - U_present-wnmd-Relax-assertion-on-CRTC-on-abort_vblank.patch * fix for Xwayland abort in Present code (bsc#1176015) - U_xwayland-Avoid-a-crash-on-pointer-enter-with-a-grab.patch, U_xwayland-Check-status-in-GBM-pixmap-creation.patch, U_xwayland-Do-not-free-a-NULL-GBM-bo.patch, U_xwayland-Update-screen-pixmap-on-output-resize.patch * various xwayland crashes fixes from 1.20 branch (bsc#1176015)- U_0003-Fix-XkbSelectEvents-integer-underflow.patch * Fix XkbSelectEvents() integer underflow [CVE-2020-14361 / ZDI-CAN 11573, boo#1174910] - U_0004-Fix-XRecordRegisterClients-Integer-underflow.patch * Fix XRecordRegisterClients() Integer underflow [CVE-2020-14362 / ZDI-CAN-11574, boo#1174913]- u_xkb-CVE-2020-14345.patch: * Fix XKB out-of-bounds access privilege escalation vulnerability (CVE-2020-14345, bsc#1174635, ZDI-CAN-11428) - u_xichangehierarchy-CVE-2020-14346.patch: * Fix XIChangeHierarchy integer underflow privilege escalation vulnerability (CVE-2020-14346, bsc#1174638, ZDI-CAN-11429)- U_FixForZDI-11426.patch * Leak of uninitialized heap memory form the X server to clients on pixmap allocation (ZDI-CAN-11426, CVE-2020-14347, bsc#1174633)- provide/obsoletes cirrus and ast usermode driver also on openSUSE (jsc#SLE-12127)- specfile: reenabled XFree86-VidModeExtension (boo#1164020)- Build XWayland also on s390.- added patches required for NVIDIA's PRIME render offload support, which is available since release 435.xx (jira#SLE-8470) 0001-xsync-Add-resource-inside-of-SyncCreate-export-SyncC.patch, 0002-GLX-Add-a-per-client-vendor-mapping.patch, 0003-GLX-Use-the-sending-client-for-looking-up-XID-s.patch, 0004-GLX-Add-a-function-to-change-a-clients-vendor-list.patch, 0005-GLX-Set-GlxServerExports-major-minor-Version.patch- provide/obsolete no longer existing xf86-video-ast, xf86-video-cirrus on sle15 (bsc#1120282)- u_xfree86-Do-not-claim-pci-slots-if-fb-slot-is-already.patch * X server does not support mixing fbdev with other drivers, so claiming pci slots when a fb slot is already claimed only leads to quiting with fatal error. (bsc#1119431)- xorg-server 1.20.3 (see changelog below) superseded the following patch we used in sle15 before (bsc#1112020, CVE-2018-14665): - U_Disable-logfile-and-modulepath-when-running-with-ele.patch- U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch * Fix abort triggered by some uses of screensaver. (bsc#1114822)- Update to version 1.20.3 * Disable -logfile and -modulepath when running with elevated privileges (bsc#1112020) * LogFilePrep: add a comment to the unsafe format string. * xfree86: fix readlink call- Update to version 1.20.2: Lots of bugfixes all over the map especially for modesetting, glamor and xwayland!- Update n_xserver-optimus-autoconfig-hack.patch to v5. * Fixes provider auto-configuration with nvidia proprietary driver. (bsc#1103816)- Update to version 1.20.1: This bugfix release fixes several issues in RANDR, Xwayland, glamor, the modesetting driver, and elsewhere. - Packaging changes: + Adapt patch N_Install-Avoid-failure-on-wrapper-installation.patch to work with the new version + Remove patch U_Xext-shm-Refuse-to-work-for-remote-clients.patch + Remove patch U_modesetting-use-drmmode_bo_import-for-rotate_fb.patch + Remove patch u_modesetting-Fix-cirrus-24bpp-breakage.patch + Remove patch U_exa-use-picturematchformat.patch- U_exa-use-picturematchformat.patch * Fix breakage of Xfce (bsc#1102979)- fixed build on s390(x)- u_modesetting-Fix-cirrus-24bpp-breakage.patch * Fix breakage of cirrus 24bpp support on modesetting driver (bsc#1101699)- Remove /var/lib/X11 and its symlink, it is no longer needed and doesn't work with transaction-updates (FATE#325524). - Move README.compiled to another location and use tmpfiles to copy it at runtime.- U_modesetting-use-drmmode_bo_import-for-rotate_fb.patch * fixes rotation in modesetting driver (regression with xorg-server 1.20.0, fdo#106715) * might also fix boo#1099812 ...- U_xkb-Fix-heap-overflow-caused-by-optimized-away-min.patch * Fix heap overflow caused by unexpected optimization, which was possible because of relying on undefined behavior. (boo#1099113)- U_Xext-shm-Refuse-to-work-for-remote-clients.patch * Avoid access to System V shared memory segment on the X server side for clients forwarded via SSH. Also prevent them from hanging while waiting for the reply from the ShmCreateSegment request. (boo#1097227)- Remove n_add-dummy-xf86DisableRandR.patch * After upgrade to 1.20.0 the API officially no longer includes xf86DisableRandR, so there is no need to add it back.- Update to version 1.20.0: New features: + RANDR 1.6, which enables leasing RANDR resources to a client for its exclusive use (e.g. head mounted displays) + Depth 30 support in glamor and the modesetting driver + A meson-based build system, parallel to autotools + Pageflipping support for PRIME output sinks + OutputClass device matching for xorg.conf + Input grab and tablet support in Xwayland - Remove upstream patches: + u_xorg-x11-server-reproducible.patch Solved slightly different + u_os-inputthread-Force-unlock-when-stopping-thread.patch + u_xfree86-add-default-modes-for-16-9-and-16-10.patch + 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 + 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 + U_xfree86-Remove-broken-RANDR-disabling-logic-v4.patch + U_glx-Do-not-call-into-Composite-if-it-is-disabled.patch - Adapt patches to work with the new release: + N_zap_warning_xserver.diff + N_fix_fglrx_screendepth_issue.patch + n_xserver-optimus-autoconfig-hack.patch + u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch + u_xorg-wrapper-build-Build-position-independent-code.patch- 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.s390zp32 1670409351  !"#$%&'()*+,-./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.20.3-150200.22.5.63.11.20.3-150200.22.5.63.1     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """""""""" ###### $$$$$$ %%%%%%%% &&&&&&&&'''''''''''''' ((()))))))))))))) ****+++* ,,,,,,,,---, .... ////// 00000000000000 11111111 2222222 333333333333333 4445555555555555546666666664777774488899:888888888844;;;4<<<<<<<<<<4============4>>>>>444 ?????????????????????????? @@@@@@@@@@@@@@@@@@@@@ AAAAAA BBBCCCBDDDBEEEEBFFFFFFFFFFFFFFFFFFF GGGGGGGG HHHHHH IIIIIIIIIIIIIJJJJJJJJJJJ KKKKKK LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLNOOOOOOONNNNNNNNNPPPPPQRRRSSQTTTUUQVVVWWQXXXYYQZZZ[[Q\\\]]Q^^^__QQ```aaQbbbccQdddeeQfffggQhhhiiQjjjkkQlllmmQnnnooQpppqqQrrrssQtttuuQvvvwwQxxxyyQzzz{{Q|||}}Q~~~QQQQQQQPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNxserverCOPYINGChangeLogINSTALLMakefile.amMakefile.inREADMEXextMakefile.amMakefile.inbigreq.cdpms.cdpmsproc.hgeext.cgeext.hgeint.hhashtable.chashtable.hmeson.buildpanoramiX.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.hmeson.buildopendev.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.cmeson.buildconfigconfig.guessconfig.sub10-quirks.confMakefile.amMakefile.inconfig-backends.hconfig.cdbus-core.cfdi2iclass.pyhal.cmeson.buildudev.cwscons.cx11-input.fdiconfigureconfigure.acdamageextMakefile.amMakefile.indamageext.cdamageextint.hmeson.builddbeMakefile.amMakefile.indbe.cdbestruct.hmeson.buildmidbe.cmidbe.hdepcompdevbook.amdixBuiltInAtomsMakefile.amMakefile.inXserver-dtrace.h.inXserver.datom.cbuildatomscolormap.ccursor.cdevices.cdispatch.cdispatch.hdixfonts.cdixutils.centerleave.centerleave.heventconvert.cevents.cextension.cgc.cgetevents.cglobals.cglyphcurs.cgrabs.cinitatoms.cinpututils.cmain.cmeson.buildpixmap.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.cmeson.buildexaMakefile.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.cmeson.buildfbMakefile.amMakefile.infb.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.cmeson.buildwfbrename.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_ext.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.cmeson.buildglxMakefile.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.hmeson.buildrender2.crender2swap.crenderpix.crenderpixswap.crensize.csingle2.csingle2swap.csinglepix.csinglepixswap.csinglesize.csinglesize.hswap_interval.cunpack.hvnd_dispatch_stubs.cvndcmds.cvndext.cvndserver.hvndservermapping.cvndservervendor.cvndservervendor.hxfont.chwMakefile.amMakefile.indmxMakefile.amMakefile.inconfigCanvas.cCanvas.hCanvasP.hMakefile.amMakefile.inTODOdmxcompat.cdmxcompat.hdmxconfig.cdmxconfig.hdmxparse.cdmxparse.hdmxprint.cdmxprint.hdmxtodmx.cmanMakefile.amMakefile.indmxtodmx.manvdltodmx.manxdmxconfig.manmeson.buildparser.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.cmeson.buildres.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.hmeson.buildrender2swap.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.cmeson.buildusb-common.cusb-common.husb-keyboard.cusb-keyboard.husb-mouse.cusb-mouse.husb-other.cusb-other.husb-private.hmanMakefile.amMakefile.inXdmx.manmeson.buildkdriveMakefile.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.manmeson.buildmeson.buildsrcMakefile.amMakefile.infourcc.hkcmap.ckdrive.ckdrive.hkinfo.ckinput.ckshadow.ckxv.ckxv.hmeson.buildmeson.buildvfbInitInput.cInitOutput.cMakefile.amMakefile.inmanMakefile.amMakefile.inXvfb.manmeson.buildxfree86Makefile.amMakefile.inXorg.sh.incommonMakefile.amMakefile.incompiler.hdgaproc.hextramodesfourcc.hmeson.buildmodeline2c.awkvesamodesxaarop.hxf86.hxf86AutoConfig.cxf86Build.h.inxf86Build.shxf86Bus.cxf86Bus.hxf86Config.cxf86Config.hxf86Configure.cxf86Cursor.cxf86DGA.cxf86DPMS.cxf86Events.cxf86Extensions.cxf86Extensions.hxf86Globals.cxf86Helper.cxf86InPriv.hxf86Init.cxf86MatchDrivers.hxf86Mode.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.cmeson.buildprint_edid.cxf86DDC.hdixmodsMakefile.amMakefile.infbmodule.cglxmodule.cmeson.buildshmodule.cdocMakefile.amMakefile.inREADME.modesRegistryddxDesign.xmlexa-driver.txtdriMakefile.amMakefile.indri.cdri.hdristruct.hmeson.buildsarea.hxf86dri.cdri2Makefile.amMakefile.indri2.cdri2.hdri2ext.cdri2int.hmeson.buildpci_idsMakefile.amMakefile.ini810_pci_ids.hi915_pci_ids.hi965_pci_ids.hiris_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.hmeson.buildmodesetting.manpageflip.cpresent.cvblank.cexaMakefile.amMakefile.inexamodule.cmanMakefile.amMakefile.inexa.manmeson.buildfbdevhwMakefile.amMakefile.inREADMEfbdevhw.cfbdevhw.hfbdevhwstub.cfbpriv.hmanMakefile.amMakefile.infbdevhw.manmeson.buildglamor_eglMakefile.amMakefile.inglamor_xf86_xv.cmeson.buildi2cMakefile.amMakefile.ini2c_def.hmeson.buildxf86i2c.cxf86i2c.hint10INT10.HOWTOMakefile.amMakefile.ingeneric.chelper_exec.chelper_mem.cmeson.buildstub.cx86emu.cxf86int10.cxf86int10.hxf86int10module.cxf86x86emu.cxf86x86emu.hloaderMakefile.amMakefile.inloader.cloader.hloaderProcs.hloadmod.cmeson.buildsymbol-test.cmanMakefile.amMakefile.inXorg.manXorg.wrap.manXwrapper.config.manxorg.conf.d.manxorg.conf.manmeson.buildmodesMakefile.amMakefile.inmeson.buildxf86Crtc.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_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_init.clnx_kmod.clnx_platform.clnx_video.csystemd-logind.cmeson.buildmiscMakefile.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.hmeson.buildread.cscan.cwrite.cxf86Optrec.hxf86Parser.hxf86tokens.hramdacBT.cBT.hBTPriv.hCURSOR.NOTESIBM.cIBM.hIBMPriv.hMakefile.amMakefile.inTI.cTI.hTIPriv.hmeson.buildxf86Cursor.hxf86CursorPriv.hxf86CursorRD.cxf86HWCurs.cxf86RamDac.cxf86RamDac.hxf86RamDacCmap.cxf86RamDacPriv.hsdksyms.shshadowfbMakefile.amMakefile.inmeson.buildsfbmodule.cshadowfb.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.inmeson.buildvbe.cvbe.hvbeModes.cvbeModes.hvbe_module.cvgahwMakefile.amMakefile.inmeson.buildvgaHW.cvgaHW.hvgaHWmodule.cx86emuMakefile.amMakefile.indebug.cdecode.cfpu.cmeson.buildops.cops2.cprim_ops.csys.cvalidate.cx86emux86emu.hdebug.hdecode.hfpu.hfpu_regs.hops.hprim_asm.hprim_ops.hprim_x86_gcc.hregs.htypes.hx86emui.hxkbMakefile.amMakefile.inmeson.buildxkbKillSrv.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.manmeson.buildscreensaverxnest-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.manmeson.buildpbproxyMakefile.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.xmlmeson.buildxwayland-cursor.cxwayland-cvt.cxwayland-glamor-eglstream.cxwayland-glamor-gbm.cxwayland-glamor-xv.cxwayland-glamor.cxwayland-input.cxwayland-output.cxwayland-present.cxwayland-shm.cxwayland-vidmode.cxwayland.cxwayland.hxwinInitInput.cInitOutput.cMakefile.amMakefile.inX.icoXWin.exe.manifestXWin.rcddraw.hdriMakefile.amMakefile.inmeson.buildwindowsdri.cwindowsdri.hglxMakefile.amMakefile.indri_helpers.cdri_helpers.hgen_gl_wrappers.pyglshim.cglthunk.cglwindows.hindirect.cindirect.hmeson.buildwgl_ext_api.cwgl_ext_api.hwinpriv.cwinpriv.hmanMakefile.amMakefile.inXWin.manXWinrc.manmeson.buildpropertystore.hsystem.XWinrcwin.hwinSetAppUserModelID.cwinallpriv.cwinauth.cwinblock.cwinclipboardMakefile.amMakefile.indebug.cmeson.buildtextconv.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.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.hglxvndabi.hhotplug.hinput.hinputstr.hinpututils.hlist.hmeson.buildmisc.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-config.h.meson.inxorg-server.h.inxorg-server.h.meson.inxserver-properties.hxserver_poll.hxsha1.hxwayland-config.h.inxwin-config.h.inxwin-config.h.meson.ininstall-shltmain.shm4ac_define_dir.m4ax_pthread.m4libtool.m4ltoptions.m4ltsugar.m4ltversion.m4lt~obsolete.m4manMakefile.amMakefile.inXserver.manmanpages.ammeson.buildmeson_options.txtmiMakefile.amMakefile.inmeson.buildmi.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.hmeson.buildrootlessMakefile.amMakefile.inREADME.txtrootless.hrootlessCommon.crootlessCommon.hrootlessConfig.hrootlessGC.crootlessScreen.crootlessValTree.crootlessWindow.crootlessWindow.hshadowMakefile.amMakefile.inc2p_core.hmeson.buildsh3224.cshadow.cshadow.hshafb4.cshafb8.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.inmeson.buildmisync.cmisync.hmisyncfd.cmisyncfd.hmisyncshm.cmisyncshm.hmisyncstr.hmissingosMakefile.amMakefile.inWaitFor.caccess.cauth.cbacktrace.cbusfault.cclient.cconnection.cinputthread.cio.clog.cmeson.buildmitauth.coscolor.cosdep.hosinit.cospoll.cospoll.hreallocarray.crpcauth.cstrcasecmp.cstrcasestr.cstrlcat.cstrlcpy.cstrndup.ctimingsafe_memcmp.cutils.cxdmauth.cxdmcp.cxprintf.cxserver_poll.cxsha1.cxstrans.cpresentMakefile.amMakefile.inmeson.buildpresent.cpresent.hpresent_event.cpresent_execute.cpresent_fake.cpresent_fence.cpresent_notify.cpresent_priv.hpresent_request.cpresent_scmd.cpresent_screen.cpresent_vblank.cpresent_wnmd.cpresentext.hpseudoramiXMakefile.amMakefile.inmeson.buildpseudoramiX.cpseudoramiX.hrandrMakefile.amMakefile.inmeson.buildrandr.crandrstr.hrrcrtc.crrdispatch.crrinfo.crrlease.crrmode.crrmonitor.crroutput.crrpointer.crrproperty.crrprovider.crrproviderproperty.crrscreen.crrsdispatch.crrtransform.crrtransform.hrrxinerama.crecordMakefile.amMakefile.inmeson.buildrecord.cset.cset.hrenderMakefile.amMakefile.inanimcur.cfilter.cglyph.cglyphstr.hmatrix.cmeson.buildmiindex.cmipict.cmipict.hmirect.cmitrap.cmitri.cpicture.cpicture.hpicturestr.hrender.ctesttest-driverMakefile.amMakefile.inREADMEbigreqmeson.buildrequest-length.cfixes.chashtabletest.cinput.clist.cmeson.buildmisc.cscriptsrun-piglit.shxephyr-glamor-piglit.shxinit-piglit-session.shxvfb-piglit.shsignal-logging.csimple-xinit.cstring.csyncmeson.buildsync.ctest_xkb.ctests-common.ctests-common.htests.ctests.htouch.cxfree86.cxi1protocol-xchangedevicecontrol.cxi2protocol-common.cprotocol-common.hprotocol-eventconvert.cprotocol-xigetclientpointer.cprotocol-xigetselectedevents.cprotocol-xipassivegrabdevice.cprotocol-xiquerydevice.cprotocol-xiquerypointer.cprotocol-xiqueryversion.cprotocol-xiselectevents.cprotocol-xisetclientpointer.cprotocol-xiwarppointer.cxi2.cxtest.cxfixesMakefile.amMakefile.incursor.cmeson.buildregion.csaveset.cselect.cxfixes.cxfixes.hxfixesint.hxkbMakefile.amMakefile.inREADME.compiledXKBAlloc.cXKBGAlloc.cXKBMAlloc.cXKBMisc.cddxBeep.cddxCtrls.cddxKillSrv.cddxLEDs.cddxLoad.cddxPrivate.cddxVT.cmaprules.cmeson.buildxkb-procs.hxkb.cxkbAccessX.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/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/bigreq//usr/src/xserver/test/scripts//usr/src/xserver/test/sync//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.suse.de/SUSE:Maintenance:27009/SUSE_SLE-15-SP2_Update/27ed255d6c0f42c01e40581e46dbb05d-xorg-x11-server.SUSE_SLE-15-SP2_Updatedrpmxz5s390x-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 sequencesexported SGML document, ASCII text RRRRRRRRRRRRRRRRRRRRR=L L^G (utf-88af69c9bc9107c0bb9ccfab5f55d885dc445bbdeb0a80ec7aeef3e5837f59bb3? 7zXZ !t/;K(]"k% #4ղKQ(`{t'2WcD1pZl0p9P,PɠaD/'f,n xrEqֵO#ݬvՠI\RfUQ1#lX:T;2AThjn@y`0Ռ5#[Kz2bjn?C?@ItzZqq{E:tS-5[~Wuq\+|J`CxH,ݭ\4.)## }rEwɍ\:O)IcX t~wKsaT,V>u\|3+fKPwwn'mQZ X sgEAsS6=Wl~S ZhsX'(XTsKRƭG4Vj tzxEgμ>1QD - yos˽n8,%ML~.TѠR־Jĺ_ Wi-@j8,d=8@E>Qi !i)/B rj iK+m3o<&/"մGUukk3L]eRn$£IHE +"P9{T6/N/J))z+H]# 3 DWǦEW=ɌvL*J/NqgY<67:r^)*W r~'9CHfXI Sx I kdp2Uvd aRAXFpS[mqioC7!P+`F5v Sz٠(̂cJ1&›i3/yvȸo8yREq}AEe7e*QY$BDy|YfR"k߹yKjD0{ g7uw0F^l[~n?Jank %xSF`$fA,@ǴZ;C`U'yF7F6Ii/ ?|H!i 5tRGb%+>O k|$p ?W*?pQrKձ&5TU0e!B{E=yLP“t׌b1SŗtW{cBL?Z-/kU#y[7@9Ѱ( oWAƗk_fd> |ߓ[7V :-Ǣz0}$41ٛ.0S}MСUNIp?Re*OưY1X E[ktlnS |θVq3֪2iZHZWi0 :8㐤ctKScqX4`d 0`'iYkvrRP1n{ѫ؊UH|eRÏb Ҫ4R B͋3  *cJur.Y BP`q%NuK|-;Qrƪ$UYUf!Oн2 BZΐvMMDnst4zqɠ|kЙSgs䌱. eGziu cvϷgimzy,aM)?W<;~)mqwϵ_{H5 X=MFxLN6׽_ɕYKH]vC&Xa'} ޗwej),<R5#5#FEL0MG c4FvL }ϻ?"k(ˌmzMsm%FB(Vbvҳ]tW fJӟq0R|C >3y] YZ/p8ڇ$zsͬ+1(2smCիo~]xM:|}*ػHc!, oj$CWD5,-, 'd R7yhq#Ϊ>2U==TzH5Zja ZH;˿1\BztY͉Ud7.%\1 fh+koJE}_cl9Bf(dQ:?3F}3Fahܳ+[0}f d@\2+mgac_^nޮz*Cb; y&ǺEyUD_93tkSCNZbQZ&qٛaѩp2+z.2>e;98Fs ꏻU7Gt8ThWOO lKY/E!-tdf^#fMRzN5ԧ;UVs*rnaʋS@l2-Ƿh4*ǃA tKrhA4X⒡jU؄@; f!wZIu7l-WsqA1O3+e?ueU0ֿ@Li C/tLX>0ŪvXT%9glalwWC&L B+=yZ { l O4X$QȴqqS P̰bM6DO2}c%缷i,0ooFxJtHԔN5QU倁G1 i*tpH_'7! :[[ -WwO| &ܶ{F9hҪxI^o#L_lkN7b+ :6oIGB#غao|:8qS9h8WO7?6דeNG #U'A & ='Dol۬rS\@Xۏٴ3.{{Vz: ⁋BϮ8В# ZT]wf5D6}%i'bG]v? KV8'V^N277 0CЯxv␑F;Zө[5ީjIN3i>ZG0)m@ SLw័Eh;Ww> \J"i몇OJ4h$Gro/=_$83>xfځ''W*u|h7[~H{ m])6"du+l<yަoܱ7+=V;V܅;؇+`H雟i4 !ǦS{K v28|/d@ew9^*DmeMEene!IwT?LcU[GtJ,<1Ɓ6JŦI> l>L)S%H*.ʕFs;}깍i=zSiF$4D'"SQ5yZN?/ i,EȇD ;Oڕ)MҠ +2{ #~ S{OHW@0%ʏ%)ߘ{ϿAư̠B$ FSH2RU?L/g N$&_eЀY4-q ;Ħ:o c cgGt5PO7BEi"eO&Klǰ[57$3 jQ}qw熐(aEO= ‚n+Tӫb~1 _uPN_E(I}r ظxy#~y<76|""1x^v˗Dp-m S[WOXD!^,ͅ b%{)OԶiwg^$N.*fbctJ؝-0]UuRVK)FZ,dF-gy?`8G4Yݮ$" !`эs(*=fuacI3C\ֲ ͮn^:Q[ߒ}@BLz$сNe U9!mT||ryuȨSprX{/t|^]hsæ~h[sNAie݋l(-|Q֘Ol`WBN+]抬{RC9XR ")=7bk4 b_@{4D7ĜВJ:c+rUՙ4r㺒`*28G.KviuBF#&-ɒE_粝y4Yk{&7NY9Q}!w5/ږ-hvjMkq-teQ ƕ) 5+Q!](u:*K*-^76sw:/K֤` C׎ƙL)O:ϔQr,Ʀ;gR\rIS43\p杏m~ "ӊ݁@duD ~Ql-](DQt;?x=smWq-6RhwRGWE+ ' 28eKROGW,ŭbmтwE ͪUܛ.W\2 ux_P6sJ5"X"NcsO0$ @/[}3snj^.:% Qv7 YZ