python-devel-2.7.18-lp152.3.21.1<>,oapO/=„Yz?SR?1jgYo kwo^+sա7/ K3j͵7nYB?3ɴ6?yM`Jʏ")Vxyb;7v >w&ߗΗ@Ly= :sWێ ^tROe'*eIz@<j̋-5  LΟ2ܐX X~5Ƈ-[F_(~'4 XTO|1j>@ C a>>/?/d # e  $*4 + 9 Uh W 6hY{{4lf(8M9M:aMFqGH @I$X+Y, \,X]H^bc~deflu0v*wxyz..../Cpython-devel2.7.18lp152.3.21.1Include Files and Libraries Mandatory for Building Python ModulesThe Python programming language's interpreter can be extended with dynamically loaded extensions and can be embedded in other programs. This package contains header files, a static library, and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.apOlamb20\A openSUSE Leap 15.2openSUSEPython-2.0http://bugs.opensuse.orgDevelopment/Languages/Pythonhttp://www.python.org/linuxx86_64 RyK  r7)= y Rw-N ~ {} j C  a7# *-E!\ !h..  U^a{  p) V@/||7, 434:NNhngpgdm&++Ary!w. . R4 ZxFJg`DYSFd3ZFx$2>+esY F!+G`iHwsblqt{ 9!J^'.0-,DvpO-`(=sJngs5C13].COWpiCg~qqxu|;@uKx>L.0-,\|!M rviVwPE\=JM.lx<oi`(b}>dB4=J:u`<s`%zq$gia-y?J%, "-U>z__F?  q qTu b)   .D$$BDItItAMMZDuu>--9<<;1 yy>>]]NSS]D|zHH~   )R7vLL fz" 6!p!p))b.LxG# 2A!M!MN44 % %.7,,N4A4A   9EEii 9 9mʦ 1 1e6^^&0J0J[vv MNN55($$&h!!1,,)339> > 7{88.44  ATATˆˆN7PP NNpmo7o7EFtFt3 x xLQVQVMBMM .W/c/cpHpHMM _ _ww>rrZZ# L L,,=!  ,>>"  P `ieie ww+22qp SS Q$:Q:Q++,Y <*{*{ X X,ttPTT>AA L@!@!&y88f?ssF E/4^4^`  99'%%,4*4*s g 7'Xf}f>( S//Q:!5%y%y40 55hh4&\..p:_:_gEEpYee!F##`+,?+l~("\!.J00BNN99ff ?44 w w_iChW,,rPi1;;]33AAOO@&XRR ''Ƃf)B((=\ddJ!! !2!2??fd 43300JM/L9{TnTnC<<<< L Lbllb<w w 5K4'0'0 ** = aFYbX V V '''NCC1N-P|P|#l &N1E1Eu1c1I1I&n]]G of8RR k S e eLmYY*#B0707> mm |jj/R)QQ>E,E, o)rHrH1[77+.. b!!1hhdVU < < +D11Tkk|!5FF}}@@t ;:@@ %IIUmm//4u@a@a\c>dLdL-33"&& H#W## B__cQ%$$ A +,_0h0h""A*r>>ib4b4UGGfhh_!T!T..-% K\\ FF_hhfww.( ( <df%f%a\ v M Mroo1=<=<JJ$&&,??^'?'?D,@@88<cWcWu ! !s JQQmdd=pH;H;zzH%%j}}LDDES@H@H/rrMSjSj2=%F%F2 8w8wLL$11 0 GIII9@]]]bbHTMTM vv"q"qrbiiN=HJJ@/FFdUU#'' YY %% 4++. ::BBi||n#mm4R88.(66%((`[[ 1!@M@M ^vvte0dJ((C  HQ?? 1L00UU - -'m8$}cggj0''&((nn0.X.Xf SSG[hh&y  =(LQLQQ`=G=GMxxg1Q{]] / ss; U!!$ccABpBp*bCs\o{o{LE ( ee zlkvA큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤apJiapJiapJiapJiapJiapJhapJhapJhapJhapJhapJhapJhapJhapJhapJhapJhapJhapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJiapJTapJiapJiapJiapJxapJxapJiapJiapJiapJiapJiapJiapJiapJiapJvapJ[apJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaapJ[apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ]aI@apJaapJaaI@apJaapJaapJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[apJ[aI@apJaapJaapJtapJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ[apJrapJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ\apJ]apJ]apJ]apJ]apJ]apJ\apJ]apJ]apJ]apJ\apJ]apJ\apJ]apJ\apJ]apJ[aI@apJaapJaapJ\apJ\apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]aI@apJaapJaaI@apJaapJfapJ[apJ[apJ[apJ[aI@apJaapJaapJ[aI@apJaapJaapJ[apJ[apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]apJ]aI@apJaapJaaI@apJaapJaaI@apJaapJaapJ[apJ[apJ[apJ[apJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaapJ[aI@apJaapJaaI@apJaapJaapJ[apJ[apJ[aI@apJaapJaaI@apJaapJfaI@apJaapJaapJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaapJ[apJ[apJ[aI@apJaapJaapJ[aI@apJaapJfaI@apJaapJaaI@apJaapJaapJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaapJ\aI@apJaapJaapJ[aI@apJaapJfapJ[apJ[apJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaapJsaI@apJaapJaapJfaI@apJaapJfaI@apJaapJfaI@apJaapJaapJ[aI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJfaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJfaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJaapJaaI@apJbapJfaI@apJbapJbaI@apJbapJbaI@apJbapJfaI@apJbapJbaI@apJbapJfaI@apJbapJfaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbapJ[aI@apJbapJbaI@apJbapJfaI@apJbapJbaI@apJbapJbaI@apJbapJfapJ\aI@apJbapJbapJ\apJ\apJ\aI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJfaI@apJbapJbaI@apJbapJbaI@apJbapJfaI@apJbapJgaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJgaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJbapJbaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJgaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJgaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJhaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJhaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJhaI@apJcapJhaI@apJcapJhaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJhaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJhaI@apJcapJhaI@apJcapJcaI@apJcapJcaI@apJcapJcapJ\apJ\apJ\apJ\aI@apJcapJcaI@apJcapJcaI@apJcapJcapJ\apJpaI@apJcapJcaI@apJcapJcaI@apJcapJcaI@apJcapJcapJ]apJ]apJ]apJ]apJ]apJ]aI@apJcapJcapJ\9164f631e6197e0b1ca25412ff41ba9d3afc4f44666f629390f0aabf3bdb5bd8079a16d5352e49c31cf6bb7a84b5a9204ff4b4028b6d359728d20bc4118d85e4832bc95ff40f396e7eacad29214ba29b6ae16052d998d26ad93a310efd08b11dd9d4d5516cf2afc0cc662d81dfc86a1000f57965e7283f53c9aed526471f269caa0552827e26ef59252085411b8c651e70cf6262ecb0501eb6561fc7fd00d04bf75dba02c80c2d26b3f10fee55df921de8f5ca0c62257b834c325fa840136150afbbf716c0d6d777ae4c4e30121b1cdb00c5f09f478bd815d45d87654ed232e8efdceb3795bbce2c3ececf01a8346146979b9d5fa19179bbe789bb7c2c85bed4c6acae380c0dd9ec59b149e5fb70bb6d83c133de3f3c33054d81196fc2bb618c46e6fb15817a52fc88555fda2de52df3b6d8a9f80da5d06e90d25fba8f5d8397d058fcf2994c3953589e112ba79524721ffe877b5e25bebee5367b04d071e64e7c53b55d0de55d67b42c5da4e12d6acf25196d8f480ff02c218c0764a3bdbb224f7c321a8603dcfcc36d68f2eb2d55b41d4ccec1097af5cf7c8a9bbe44f2c489c61c2545764d5aedbe18fe7dd84433ed0a3d9fa175a0cd7ebbe50b8a3026a9f8f66d6ff51633d8c3f9856cdb89c19419e61c5af975bd266748f0f90ffb6d66198accbe40cc6fba72954e610e9d328e2130ff9a312557f02bd02f58cfe89e9f19a7970e9a70902fb114af72e3da488a20ba4706ab0c03def86b41e4cba98023fb096750b39f403fe4db8822e002ccfd334b73bc33e3e9fb605b8642465c963543d8778994fc4d386a8e5a816e8edea8408356fa2aac52e57eb6b8bc3833a2cd27e77f11ef143b3ed720f5f88ab8689ba48798dc245207177b8b395ab4531e57a060a356ba5cbdaa119602f2169ec515275b28c7ac458478d9909dbec81e08a2cecacc47dda4576a2638072d6d8ef013bb82436570c81044eca7a45e16fef71e625c4575c44abcf6eb4ed592960b658d4e300c91c1c3113122ef4e9dd7e35b913e76e498087a200036f3558fb6360a1b0b69de9829a2289d80d6f4fa4261048b51293f598a54f0a475486de47ce7c313265a340fec53ef21de6aed96e77134a7a32244fe250db9995068fe74dce0e23fd70c12b03fd94751d98b773be8f64896b6ace0878969b499bcd9e3d243fd927cac1f3b88d18e37c28c1ac2e3fab0b96748c99ba6d1374f1e6ab20e461b26bf312a432a723941a6efd284f29713bd9bc353ce5e977daec97dfda37807b5a99f9016851a0c9f9360745e155f3b0a01447ed2965006db15ba8f238fce86f36ced022402f8c64f3db919549b29e0eb68993a8eb3a72b1d670f723d1292de3ed8ae06d3f424263fc9c86c44cc6dc72914fe42fd9939c8a4f50d12f0e6d7c544b83c25a5be14681e2479d13e2de9ff15c79280d45ff424362a48bd0f384adb9d6ac4f691422a0b42395c80a8a65f90ffb2e67f50e70f1e459596b02bb508feee4a880f4529a335e8d531051fe632a906cd548325116e6e35bb0575d58ae6392ee9f48c56ee48f90b0ea6be4f69ef4803d137e9a46b0e64f1c41a95e83bade0823678e9caeacd7c25f6f0681760f8adeaf6ddaa94f5f80822bbfd373ba6b5206780818c69037387dd2c3ea20dfb6689a7d3624e6124b1387307edb48ac3268a5c5d62fcdbd46e602034e8bfc15f5f4e26bc9891a18557cbbd13244987d352eefb59ccf5538573850b86b43767c4b21b5702dc62704fc440dc60158190855b27ab9a39cb3dc6238191045c86dd9cfa6d6509b34a98ec1301f9ac2d2c596352ac4cd533cb9893b62bb45f0757747050229c75eb03953283421f45fc335d3f9714fb5493d633e5d5360faecaec8a00a46580523cafe4316ce8d2706be2e15d07a6effca444ae52992dd07a8f2f4fdb82dbb4a49ec5a1095d441554746f55cefa572baae235f7329521526a71210c2b382c3b2fd536d232ecdf966c2744d6ce8ac2b891662b88339a99324e8dd105f7b3076830dfe7c8b43b0829933145595bf5b72d6db4f7a9de7f2ff5c7c86bc8fad901e16282b7b9d9ccd744d09e6f87eb08e00074094623685fcd5c77a0285a09874cd52b8d5bf58a4fe818280a686bc33f0f966a9df022f2d6133438ea020f5a59fa84a50d16e0eae870890522792b32e6631ba88049b83c93f881460155b59696714f183d4a89df26c18419b66c9ff14f230feccedfddcfcc1688c741bed1f3469989ec6784b74a1ad9b68e3bac2f928366a10f724237359e13dd97f7fe13f54e7ce184ffd3f92ba3d20bac6bf09bcefdbfd5fcc5bb175b599c634e0ac46c468d6d9a0b7279f39e72df40058774707f516bc712d2a2f436300e48a3154436fc67e472d0118a9f15816d2f8ab36bc2eaa9238da03bc0b217b5b921e9a59a321de9db393b4ce6a3af6d436e9fbe0f47b565da2a566f7be0888030440ee6af13fc539ac6dcc1b0478f555eb83d0419232cbcb738a3f856433040833a798174007cf5e3a81b46901a3c9281d3654043f84937eb974a5c9c520c7af403cb2147e663ce1ae5455683214bd2dc2a3d941502521f9bb3344682bbf8ad96b6a23cef405ce993e0863af605b8034c1c4f351ea44a47ae0197624a436f2d388d4b4f7b9f601b7140f8e17a3d643821931c41f74390b46a38f7ef37ee96b860cebe7ec943f6c5fcb87a18ed4080f147e3436a246f27507f4fe7d2ef94107227bec20ba67cfd893766e3efce537d2b11a5f87d76d19c4c70fa0d98945cfa8208a32ac267f80cdf296a3a573794feaaa83f012c48ba55783e5b0eee00eadfcc744aec046a363c054fe076aa2d53e662220bd7801ae74cbf306f971ebaeaa1b650dd6e05db575ad37f77dfddb8da9b52ad06966c916e8d2a777e3da039dc88c7af462106f3b4645fd848c93c4b57a3c70c7dc20d56250e8b73d7eafcb0d330099586f670b047e6bacc519dac61f706a284cd2ccccbac21c5aa2ce5ea1d05d04a4b5e5038e5d55c7fab260ab30e2c805275511e17eb590515dcaf02b38d38517b876101e4856f19263029cdfffa9e6a9773914c32e8319ccef143add699897e341aa5a57e52aff07bb07ce14fb817acc3b4e15a8f50286dac56c09392cc79f6d8a61178a90e5d40dbd378cf59bfb08350750d00d957b8ece608e6f7e268ff1796adcc87cc8cac058c014e20bb965634d0a30acd73617034f43c9327c59c58b9e7cb15d7652184ae7c5d08351bfefc3e750424d684b35a8b6e8bfecefee5030625a3dde2199ec8b94df6ec8812fbe69fa07ce7173e3ede8fc85a696ab871c55be78edfe69d4af6cfaac649352e14779d0828ab86d785ef90d3b633528c835ee1b3575ab3e55f5eb135c21697ce24e6160776c2e4f0a2e73ba749c2312d841cb7fbaeea7028671f79871d2efa3a0f052aca097b8389789451e82f944b365f6003c632e4fbf36b43800e315df6ace4ff5385fe6bdc799c025e911423cf1575628ef3fe60a51e624075e285a304afe3874afe019ad765f4310a503ff1789d244b4329572cf4dc3b6e68ff99cd5fa9d1a6ff7f4fe2ba17c080f32057148950372f50493abfc44c833cf14d885ff896d1c9024da3927cc64dc55fd7d1e2bc9bd2197777d61a9dbc99877c7859793e7298e2a7e418b0285c945bca29dbfbd30a4de6316f6a914a53318ab3a8d79697e396b51d2b9a3b87fafdb540298792a70676b340572ee217a6342c290f866ad094e1675627f5fe3db5d16bc3bbb0a9c0207bc039f104ec253c2e617999558f1f6376a723e5f4ed99a7360fa3491cd34498243a3c2c8c3c5ae8926303d2964d613da828b70119f8a13c1086902af921176e53c13e6ae972342fcae5cb832f09e0879619149a6bf816b1d896aaccb428fa8c3c6f41c9a43cc016f6b213d55888724295e14287a18f17675487a236a6ad31c63f9f68d67621acdf620491901dfe75581335b7eab6cb86589bd5cafdd5305928029be2f5944205e146d677e536aa546a2f1df8eb01e07e5710990dd563115cac98a5fc226fb9e785057c0cb174480da404c6748dc55a5dce8066504e8f4da01c16710f613d745a30aee769ecf2b8b6a9f066afed2a2b7aa7013987f6c19c5aa9d2cdc9a8e7fa24a36ee598eacee3bc6644e72061e777a1a2625198f9cf3d8607562353d0f9e0eb51119865df720ac14da9da150e3e476ec8a10a04e6d19e49513dceae0ce68a6ab72be9fc3ab29a84efc59367581a07b63bc214e02c15d54e53641c0fa83e4566b034b552f3e4a4850700a8a1e005ca0559f656c18042dc9f55f25d1da12c0547b1eeb672d500c5d52af83dd29e734b34f3f8cb4a8c2b9305b6e7f378214ecd13928f2671db2c7ee0f7b3786effca799678793f130051934877b77f4e61ca84ff13772f6de1960c4140fbe3c6f61acc5a4d22aed2083accd2cecd8cbe42184dcb4553b5a460ceb79a210f3f92adf3cf516747616fbe142306be804c8a7a6da49b85e0e1763d0aa4465f9fb686c8f71df59b0a9380bcd71d827b23494a0f676ef416255b3060a25ecd4454d768182d333aab41582cb47f48fa54fe7e871fce12a750c669d7587370061a7bf98109a7a5dac3f7d92e8570f835b1c4c9352782916ab472caf6542362411471661933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe995d89dae6ac08216709bcf1bd6e2c97c66ad17d91c3143cd5224f8bce29d99d795d89dae6ac08216709bcf1bd6e2c97c66ad17d91c3143cd5224f8bce29d99d710f248762518a3b1c63c43978fbfc1f51c336e67aa329f78771efc76db5179d376593f8992c60f716bde9a3a65c902249a3b572a836606b4c5f6e07fb899b75376593f8992c60f716bde9a3a65c902249a3b572a836606b4c5f6e07fb899b75340f66249a4468201ebda3631ecd5b442b7902ee4c3b67e003b892111e6e137017484a78ab49986ceb697a0d5955fbb5de33c2662ec9d341394ed720981b77e3b7484a78ab49986ceb697a0d5955fbb5de33c2662ec9d341394ed720981b77e3bf997d2f35944c0a54d14a0e5fad66623bc695163e4f157433cde66cf0f5b68514559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e394663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f82802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a4148c5caaada3258af45ae5e4220a749446170c0070dc4afe1ab2f1591be3b0accfbe9ed194fc3621ad2fdef97374406897f0b934c72df30813612283e5e5da992fbe9ed194fc3621ad2fdef97374406897f0b934c72df30813612283e5e5da992d911b8fc82512a3c2d12b02283c0ae43f860dbcb140f3fe2ddfc7dfb7ce879856d915b68dbf20aa34f53f62927ea35db310db06e37cecc634dd1775ce9e1c86c6d915b68dbf20aa34f53f62927ea35db310db06e37cecc634dd1775ce9e1c86cffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e3cde5d3d019815d34906857c0c3aedc4ac4b0f1db18550078ce23b0e3517d8d520971b2d6f31c34618463d87b78f534264da0ed412f97d93523e328e2a0183213262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485adc5494f05c6c6abe14547114bbccaf7c310c619101a6941b0c98db62e792ff780ad70f2947bc37792b02224b7658a62325b7e2517a01caf6085b95a6a760e0a28f12fbf6a8f91d2288f9fb0114b773bdd8cdcc93d1f50bc77c07e0f4158dd9f9bd495a1ef4858937cf0a4c46425ea0130ddb0d2ca7aa9988c048a98e11b6a1c1fdf76533cb2dd9fc4647988bcdb82d70e1f3fa8fb47338f2c01a26f319403486edf76533cb2dd9fc4647988bcdb82d70e1f3fa8fb47338f2c01a26f319403486e8e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a82d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25608e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a83879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ddeb8941fead731519744d145d83ecdf82480f1bb9af49144f7d8fdd0ef807bcb4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a9f2d72976b66ff817e2ba8e287ec3d8b7b906f8ce86999e1d4b5a39e0360e08d0bf1921bd52ff4b26903332b54a08d54ceb53985ba8861b47d683bd0e08bb43be61ebbbf5e97568f68309ae2709fb42fd4bf9a1c9896aa47facdedf07812f265f61ebbbf5e97568f68309ae2709fb42fd4bf9a1c9896aa47facdedf07812f265f069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3b4d3e640fe915e6f5a91614823aa7ca22cd309bb267ad8221810f165aa2db4580c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6addcc08bb707cbe715b44e5441d45e71758bb4d161e43cbcfd3959bd5396fd3df7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc30fbd0c5e6d4af56a44aeefe961bcf9b88f63deca8eedd20b9bd42c844cb6d78d72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d8504951c7fc4d444b9ec1a185e40af52cdc97e977fc49ae333b0edeb5701cf95137abac692bc9edd95ddb95eb276f7ac29d377c800604b42e8355bd0038ada34e2dbaea2c83c99f55ac75f9fbfe093b7a773b92b97afcedc1848b746eeb88b002f25563d89e98417c31c7f4324ecfa73869ad2bea9a1b054ef3b2141d72d211c30660e6f15c384c0cec9ae35bbe506a311ecaf9585d968aa9c8c0cfeaea0ee98ec0a02e5e0686c447f72bb899cd3029ae3c58dd9fc345b081dcb1c1d92f49ac56a4831cee50496acdf8ad1b3f391e0a4a1c67cd1c5094f2ffb557df36ded59e7bdf6bf661bcf31002feaf9f50f7b0af7055003a6c6af6ec63f15b6634050a8a5bef7c3a1a1b9814f201e36205b28d193be410d1e1d060c10eae4230d0e8fbcbbf9aa1dcc4a72257cf021435830acd2a8e13e486747eb89ee3a476d042f69a2624efd60c6072a99e1a24826a7735a87472a0870a32fb10b533eacf6b909d42466fa42b06d53a581e9ba0c68e451f754bb86356a54b9a254a05ed0ecb19311cf06ae14b9e2f8028ae57360453f4420aa9929309b5eb560385f9f1eedcb394acaa5ed456c88e00b2e5a3fe07c929e44dbacfe4ce4d307fc123a440236eeafa8a29e0f3b6eb432d733fea36a1ca38b050c0aed3fc8cf780206a198f2d6741951b70c419c4b6b66ed05e615f823a6cbd4633a5dce48aaa524448050785fdaf557d31bd376ea238cfefc431bebb1f99c17223a69420cf24f88ddf232a1a1f6648c5f3f1c51a42e0ac4f5126d44a09a1b1093ce50c1b353881ddd58ea77bdd0dd6e1b1ff86331cb97d361fe7ab33d459812b6c4ae6b8b73dfbf7d0e19ce924782df8bf7ce13d6977093e56073b06a482bc64ce9a1ae3764725af4dab446c785cf94eb726f8ec5292ac472f66d066fad9c92aff83f951b51fa9b732fb8b613004f4b69c703d1de7281e1de38c8ed0b130a0016f1a828a6362cbdb36f812463ca0fc73e052bfef9f8d822fa9ec724e24d662db842e9befa4742a3b6154f2620b16fea07ac63a044dfebbeef14582b843c4be9262f945b26a648f9ee05c760aedbb326540769cb421c84dbb36539ba8513d09712b1565d8cec5e3c256ea2ed82392cbcc585b05e8a9b3e3eaa38c0f38d6c228acffffaf4f9de94a3468a02ebda276ac8ead41e775382302887ece06584cbca85d26c544c702f526074dcbbecf370259c3410977c7973a73e836fead62939588d0f9f444221313744d6f8d6216bb985f380a907909b22bfc0922981385733f8b0d03f014bf4fe00c2f9245bede5f410f1ecde8028f13239aeeffe769931da3a5cf7836547671852fd882247caca75fa03f03fed70d93899331bae30756f0f4c6e1d3bafb4aff7926de35318985cb6baaed927137cdff0cfdae98b9c02bf166d5df5a402423d36e4f3c0f7b0bdcc2f5c22eaa4042a75e0a22a4966334afd394a7d21ded5956d79854f7739def6e0f7cdded4c4414cd477382c2f2ce4ed06219ecdc86064bcd75cfc348b7ce3bca88c68fc200e9f7e8cb3d94dc602a21c770294e592c1f475a861381808a1ef5da93f8c621a3dff792c2de8b9e2838c3b395d792593627bea153cc1cad6b312e26b7e3e3e903466c1967b5b0411ec142bd97c91173bafd1204f88197ac0e7a9a9b51548512ccf9e5f22faa54eaa4b6f7708c03edd8cd7aa1907258b85b7a5af40b632697562afbf4e78e74b4dd950002f5c00d57054ee442283801ecaa5358e379d2dad9e6dd99249b3d352fd1a1b5ecd92dab56a87164bcfb4021526c1774c4de1973704e73ca8c1152d7ba13b724d14e202bf862678ed77e8cb42d2a3174519275f386047ea2c4be6f076d3a2f7935563db48a25173c16f08ed51e4a06cf23778b1e76c815b0c74a147a32dbf085adcb2c98f8d0495374a644ec5963b5c9b014106bef3430cc242f6bac5fefbd51564b69dea624bbec1c898cd884f8c35282994970e51faab1ca26b21188f73bd2c8dd014962bd42dfde58ef043e29eb3661891697906f260e6c7829a6c1e3b60c23c0d8cb2a1402f1e764ce9964317325479fdd37e2633c8a6879a636b4c2fcff464cb73ead432b0c87b8a1a4657e242f6d8bb2398e9854cb8377b5b5d9b008e4cf93fff6fac16216025b67cec7bdc58a6d379fad8c1443d10da02840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40d6d406efcf713faf7fb4d2faeaffd9eba44972d064efa0f9951c3fd2dc77f2c4a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a457e2a6ae219d198b5ccfabfcb91761cda4e59d5656a8eff86f6fc1e466ece43055153bb303d3b9afbf682fd1f02023fbcde883442077b70877f1c4be22f2a4beff41d9a72d431cf3a03a4d7c8a31f38acd5cff3b88d510a18b16de234fe5f849d65b6955fd509de05d595b8e7b480db7b3f2207f0311743d656b85666518389a4274b3779a415b9248d1c95cbbe1741545301b2df8d6a91a81ae5026eee2a83b6e3deb022604a0b30f322da65619be2537ca2e314b652aa08dafd5cb79e04d5d6b8317016f5496179c181d3df1632d1fa8ea09ac68d3050502dc93dd17558ae1dcd938fa21de5be875c7246f8f83afcb0c1436d3b8f7633b7dcfe8bc7ef493cc69e4ea84685f78847047e6d5b2691ed4eb1b4f5ab7fbb714d82da6da542f2dbddce9f884aba2bcb07eb48d0145c07356976a193ce3033de7b5764264ec04c10f1aa0a9ef1ea3eb85f492bafab181f2030f0c9f699ab08f4f1d188d2d58317f463eabd81185a04297d8b00049972edd48ff3b58c4f55b786508c0c0e2fe3b70757b82c89cc1c972039f652991855a2a7418777c8764d98aa6e4ae6acd335f1440e38db9eca2a6dc67562abe68b2904e6872373858a1a112de99697d73bc5bf68f1b58545613263d354229c78ba1e112b5d363a9dd48f7f7937af770c9f3cacdc7757b71ff76e417eff3090f6982fe6f84ccd7231ab48393e17325fcfc818c43bc88779aca172a03563c67fd51040755080470270f3799045cf215b4818bab1ab24abeb5c400bbde16c77340aee4f4aadc04b14656129cbc18b3550737cfb595793f8b3ca1abb7c1486cf185596f26d29041ff27d58b3e8eb083ca8d97ddd16c9b0a6c90d2a5601e669e0da2e53b1b607db7b77bbcac959259eb5b08485fa0ae687caa7483986171b4e125df3e6cff12ab3a13e7c35c084df9ee9f8707fc71d2f09eaccd622b48ede9b2469f791a27f625fc885ab503d3081bf3ef7d2fb8b8dc78999dec76a18fa644e13e0caca97ac024afce7e9619d655d56e80fceb89cfac7ac6a0d2a7c7d2040ce97677c42003a2a238eaf430bf4bc7fd7d3ba98edb471aa80ff4f5be02b4bff14f86838f586f54ca1fca11897dd067307c4262764265a18ef70a007a49c97843ebfee20c34fd65afb6e034a356542fe62fc36749b38165bd0f771a96d5c89647a4321cf9d5e55abc78a17f6df903f4d3eb9e9ffb367a6226829a7d499c616f9eeca22b30dbbdec2eb4bad81af9892d72e647c3efd0590b338ba1fbab5b7c7003187863afd26eecc6299bddef78102ea8f79b93d4806f567e6b7c0ca9e18c91935e54685ff91951cdb880c72015267c3d27138e5ad7dff50c72591b21299498aa074621d9fe6b73c7989f15b65950ccde95746f41ade77fc75c3e896f295695552cb88af9c3c835b8c3deeec065fdc7e58559e062e8d8e549044b66ec1c4a3f9f131046549afa575f058b22e6b2c66127d6fe0b1017a2c09b07062377704094c3121b2501705fed04e0f62cb6a0a699c91c282ee8b93ff67b0840efbbf93be8baf1473ad4aba16a20f2aa7f3ee8158063f5c3ed18192426ea7d710d35d82b19e706aab294e41be8bff1519dde3e25ac32f692472fd262cbf66a0a09c0fa5a198ef6da04eb49763667beb25dc689d7c6071a7decf3f5f94656e44ddd46262651316ea763ae3199a9ea8c1d0453cc68f6e600247aa735ebe60dc4f1da7bebf2a92a2b70c325b6ee00f15dc64851420d6066698792566a46b64bc307d7c12dba35d0576c5dec446cc373bd425aa5674c16c82b6edd147a55d5ac3ebabd5989edce9023e18fdd378d1c001c2cc5d5907331680106ecec7d4912e00128362a9e65957a295a41cabc2e328c610cfa7937050e3e51f95e583708c5cafb8153ed204b5804dfdad1b3d7b08e8443ff92bb1816dc4f10a80404f2fd08b349a23357f3f44a972ba62a0df6835fb29b64b4b1f957c84a99c3fcc8d8fb04c605e688c4f3e5162192f27462c6833fc3a094bd33c79de5a2cf28ba3c36b33785f53a53d35bb9bb0eff3cb2b03720cc2f8eb1380aa42f58e67b78091d8549e6c582ca5aab38b6b11a5d32ff8edf0a5ea9eb2089064900c765feeb3465f4130c1d5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785ff674736761ca487d630c202485d210717adb2dac2f3dcb33d69abf5b34ca46b282af5a68193d9f72737f1e74e013b48b5831e8ef87d0545b1ebb06693516af31c4202a1bcb0b89bf5b17b06e0dcc74ed3ed9210dcece625dcd6c2cabeb4f258667554c283e583b55f807615d496dab711aa48a7554e2238e18911923fc57b102cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b762905ea0b1bd1cd2a8aefe7a02a73d445b6a0c004464d40a264c466df1836e993160809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3bb28dc3eb4a62b652bf4e14048cd29ca5c368a6059a18c21ff1173553a3da9767bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac1573f0ea00a51498ebe6de15186bb71e346fbf28f4777e9a72e7640bb5306173b2e9cbe14f38a52aa41578100674a24641faae82c136363a8e3a702af405806afa8ea9708a50d9176e39e17d21c7ed228e4ec4f0ae2411a2868c436ff3be024745f61f761bedb1ec6c389ec9529875fc136763baabf32f0f74e902097e0315178af2d3565ef80b85b0ed5a491cc96ccfff050b64c26b92f2da238f5045b47d13988a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2c841368e096af9ebe6a10049634ee14ff9a1dd06199dff0ccc73e8fb8fb82cb5ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc50c64dad8ff4002191acab817647e4361742254bc3295670df96cfbba29a5c35a53dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d5506efece94beda9001660b23f20c1b28217d0e4816da15ea5126aa475e01147f07a006c8deb5efdd03bc2626128503498d35238791c32b42542834568665a0003d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff9a496ad517d6af023b87a4330bbff11c25a5a7063e0df98ceb53631b5a9df92568273a478b5cb5906ac326f2e521c818272017e0222cffaa1f7da87c063f79a7b0ef307887609447eef3df0c1100691d577fd53bf010e3ab16287a90f104df999dcbb31a30c03fca28a4a827acc824b62b27be62b9b6db21cc0147a8fa2761c89dcbb31a30c03fca28a4a827acc824b62b27be62b9b6db21cc0147a8fa2761c8c307773769274412d0d16951c2f6ee4ca1cf82eb9ae6b9d670ccb2ec93325a4c359457d24681d3983d3aef278291685dc0029c01f337d86755159f0905f11bd2d6e9c90c36489ff69ad54560fa268dafb06aea89e4ba8af072f80ddf0bb744af0d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfa4b93740cfc089c62d4a05001ba13d99209c9d6dda6b919f331a830046b91021b1ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49b9f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34f1d8f94f8dc155cbe1133825c3a771ed8d7bb434d2164d8b91f56843a21a7e2a74ec86f339bdcb4d7f994ab421432ebe23010d7c5ab3da7294ad88e9dd39a683a4ec86f339bdcb4d7f994ab421432ebe23010d7c5ab3da7294ad88e9dd39a683abf3d4121e5b50321cae64b2db42c66bc857e6b1d493a32550088f133210c2eed0e962b6512ff151ff28b980c6ac4f068384f1d1b097660babdad35af386beab3ba1a005c3fcbd5675504525384d9f55e090bece60ff6163f1e808f3bcc0d447eba1a005c3fcbd5675504525384d9f55e090bece60ff6163f1e808f3bcc0d447e4379d16b242e6dba8cb8edc8fc4c3c75220cbca5c66e87eb0a0bbac47d0f176c79fb464618bfc96071929c4fee798f065106b1cd2d3692fcb6b8d1ef46b83b9e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87edb421b4ee6cc8e9ffc0b719b31279ae4bb8821f52a19e8f32ad77d4aca3e51e0171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdfd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800fb8b271cc24a9aabc80e01b63cca18e01f912520a3a2acfc5ab7e5a71f97737b0df7d4228abad23ef15304132c59d55f9376e21bfb5fa4b0864430574088e1f4fdf7d4228abad23ef15304132c59d55f9376e21bfb5fa4b0864430574088e1f4f623495d81e704b171c71b2ed37bb1acea14707c6f0c14bed506d8d720485c38520121e679b04a8f157e97c8501848200bc52061d64b3f9aed107532538da238920121e679b04a8f157e97c8501848200bc52061d64b3f9aed107532538da23897e550ad30f6ff556df93f030be176e61e7bff9c36102e78b3ac998cb5aa6cebfe3c929559f3e12d0141ac247353816f50e50b3fd2cae8715a0c52e52e17701d5e3c929559f3e12d0141ac247353816f50e50b3fd2cae8715a0c52e52e17701d5fb43c7e0b816103e7864c8bdc2740ca3d824f02d6c1b1715b0543adb4af31639cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d881947064e0d469fac0350789cd5140ac8fe708638d72449a9b4013c047f19c783075c0ca5b36d5f70d242543a7456536a6c8bfd7c6f8bb643cc12039b9aa8141e913f6daff99c01b3c41a02db21fa5a5eae0ef5fb0cfcb6bd2e86b982174ac207445e1354d31d17166060e0b46e2d30856af4abb796b271b421b62df54a9cc4206567329003659e0c53a379086a611e436e94189aeb66d9adfa8550a22efcd032bd9d329003659e0c53a379086a611e436e94189aeb66d9adfa8550a22efcd032bd9d39f465621751abddc0150408eb6eac1d589243075b3703e4ed995c57a89d1e888eb21f4a80fca4738ad2903269e972b1e37fd92660dd14be8c4d2318ffed27f38eb21f4a80fca4738ad2903269e972b1e37fd92660dd14be8c4d2318ffed27f33d08892d3beb18243767b7e1b01d8f69465d6cfbb73c00ea76343d5a7e763f5a8bcbe7a00df768806add656fdb2dd245ccf70097a05b04602a5b7c0057da714a8bcbe7a00df768806add656fdb2dd245ccf70097a05b04602a5b7c0057da714ad549944d99bc29220b4dd2d40cf83aca2043bbb219781acd24cf4ef692a1de7b9de2b446192856f4665125e7eed3feb5e39fb5d551a402f1138a0a6ea6a00ee99de2b446192856f4665125e7eed3feb5e39fb5d551a402f1138a0a6ea6a00ee936608f194c023f23a3e5213403e2acae5f7427d25f0be7ab0b0b9851f9439fd6794fe8aa65014be73ab2d861c98ed82042fcd47c8a55ebd8eb09aabcd18c63a717676403e944bbe392b3aa2618deb43fa327efb2df8c3b4911c0ab9a94be4da317676403e944bbe392b3aa2618deb43fa327efb2df8c3b4911c0ab9a94be4da32efa072a6ef536492c77c6fa4a5fd40a2efbfee65a12caa9d841db8d723b57496c45db80f0b8d29a0a0036094f012e51ef4ec3c980720319e13f2e9736285b136c45db80f0b8d29a0a0036094f012e51ef4ec3c980720319e13f2e9736285b13b34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f43454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554c3a7e33c31b3e39b426fd6f2d44c2e554567a442ae377e249447bb06440332823a828d22b39fdd62323f50323987b79425b7e14e4f52dc11510c578ee12f1f323a828d22b39fdd62323f50323987b79425b7e14e4f52dc11510c578ee12f1f34a84711a85b496a367f0d9b1655f64a7d9edea4a3dacca2934d50e87349a12e08720d00116f10567547f66c4af0bd6bdae3c12c0dcd9788676bccb29f844f341946c0cb9812d2fc886d8853ec89ea8317a205a0e990cf608905135920e8f74cfdbca9a068dcc8c2b6767877b5332d585130f31841d4e0aac3f58c447b79eecd16e45cf4570b0c91db3a0d2f8c2b8f7517716df4be3da263c6dc7b3904e1fc3586e45cf4570b0c91db3a0d2f8c2b8f7517716df4be3da263c6dc7b3904e1fc358f28ce51867751a25568fb3d061897a8d64a72599cafc1a44466af6598e433bf16804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e997bc918da1944fc63ad1db4e4640c944691e6f3a74cbf7a2a788f6343e90741087bc918da1944fc63ad1db4e4640c944691e6f3a74cbf7a2a788f6343e90741083a3ba9d8e9f51623b17af2e994ceca95741923e0ad1552c33850253a9ff8ee8914ef4176d41fbd925bce401b02622db452bd31c019093684a6ad36972294811e14ef4176d41fbd925bce401b02622db452bd31c019093684a6ad36972294811e3b53a72afee24ced415fdd9ddaf38f2815869c9fccac15812697da3f0e1aefe500f894acc56b25ac72af3b0bc66ceb40074d4142b7d76b274683200b04d6a75c00f894acc56b25ac72af3b0bc66ceb40074d4142b7d76b274683200b04d6a75c9bdb5957fcfca442fc8ccffca04ee9548bc7021bdc35890afe0f4ebdf21b1e2f8f3c7b434b150ecd1ead4bf2d6be98075224cb5cebb61aceff092d5151325e328f3c7b434b150ecd1ead4bf2d6be98075224cb5cebb61aceff092d5151325e323b8bde048c0afb455b5fa5dddb8b3270b21241134ebef6f67b66a8d291d917329b3c787cf937f94758672081edb13be6100e86d59c50e39fd81df9c6725ff1f29b3c787cf937f94758672081edb13be6100e86d59c50e39fd81df9c6725ff1f2b756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f90465a1637415c7fdbfa45bd430c53eccbb2fdd9b983a2e2808afb20247f45ab926588be1e08a1303a52587f6a0f3d078267575aef9f88fcbb1a6e948359a412d26588be1e08a1303a52587f6a0f3d078267575aef9f88fcbb1a6e948359a412dd80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e137029ec1cc4084b1075d751c10a4912d23b00709d2aa84151ff66c7e5578493ed5f359171ee5febfdf5e64b39e6fb48f32e83b241a7c54ffab9f38e9dceb4fcb5ad35453101c5a9a21afb9c0dbcf3342399cbfa1e68e09a7ac344f7230132b894b61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fcdc7767586bdf6c7c911f26a37b915bf02a2c86049e2503bc990e3cbaaf89868cdc7767586bdf6c7c911f26a37b915bf02a2c86049e2503bc990e3cbaaf89868c2ee84550143db9ea9934707615afb5523c3c6bc3063d5d85631d6ec0e4493a54d2eb5dfec4aa9265c92cf8780dc0a7ce4abda340d25ada862f7de4d299632333d2eb5dfec4aa9265c92cf8780dc0a7ce4abda340d25ada862f7de4d29963233385cc025dd0bbc6ec9955defaee2e30f87ed20fab115475bdbe6db2fefd5e0cf1e3ca4b9db924a24676731a0dff423f0322b432b5f177a27683f414f8447a8cab04b304d4d41f78246143de54a7634abe82fe94f817b3d22e5d12fd61d7e8bd0404b304d4d41f78246143de54a7634abe82fe94f817b3d22e5d12fd61d7e8bd04c86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066d867d4eacc1eeb1dca6c4beca00b495cc81eb7e5da66a1c824e40067b60602dd2867d4eacc1eeb1dca6c4beca00b495cc81eb7e5da66a1c824e40067b60602dd2b220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec5155a2a892b6f68001e57acc4cc9403e17c284470b5f3f584d39742a97179c614f55a2a892b6f68001e57acc4cc9403e17c284470b5f3f584d39742a97179c614f1288e081801668f1b010c9c86dd316968a3cc9794fb2a7e7fd0e5d14ac17f32c3611d5df3a9ea382ea35cbebabab750be90da053e419984da4f2a9e9df2d55463611d5df3a9ea382ea35cbebabab750be90da053e419984da4f2a9e9df2d55463879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535db59dbb676f2df3bbab652c0091a09a82906f4cb7b29892af659c2ef00d14ea6460797e5200bfc56611122b9491a934c21618ef67612fd3aea5afbb0d2e33ea5460797e5200bfc56611122b9491a934c21618ef67612fd3aea5afbb0d2e33ea572c499ffaeaa980692e80f376f9c3e001527792d6011815201d5cfcf6a1c4cd282fda661e4d220b7a0eef7d1167a86c5358a094ac8ae2c45fdbea01fb9b63db5524f63ed7ae740b35f7d79d7f95ffcd47d9686f125869653058cc6e55b68aa2623a317fa6c7610b5f3be07e3cab473e4418e219da13f48a64134ae66d3d16682ee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e64eb588a331dcb41cac7994a39a8c147d3d46b276c71a33b74f4305dd44164f7b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e207d4803ec8ff1ae3eb2267210d5369915f19a6a014d1b59f42fd67b8cf4f8bb12ec9e50f2b652140557090af08087edf539e647bb0ee215e623d18d9898e16702ec9e50f2b652140557090af08087edf539e647bb0ee215e623d18d9898e16701b037a5a15f22118da8a0b236a69f14d8f40a7323a28e6e5f2f10cb381da2d646e3a291dc0c44b657f745fa9cc15b985eb3d7b3bff47031cf16121d62f9b61bc6e3a291dc0c44b657f745fa9cc15b985eb3d7b3bff47031cf16121d62f9b61bced20b29303210540bd92b974c48db4541ce7c91321c9eb1849cc091b0b13a7f05a2818790ea9c7dac970f22e7563b43c5af734c62e240dd0e933ba802fadb47f5a2818790ea9c7dac970f22e7563b43c5af734c62e240dd0e933ba802fadb47f8fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bfedc897671b9810887c84408c8e36e9e756b30134d575614c8282b6537e673d2cedc897671b9810887c84408c8e36e9e756b30134d575614c8282b6537e673d2c9aef92dbc72a94fed02ff8e557c906141500a9e20caa14f3f861a9d90a8ebb42b9971c5d253674ee3f0acdf1c3655e5d3ae730743e22e04d09b6e69f259db16646200f2fb0c6da7e6ed7a573084ac006dbd98432e2511c996818d82ca7f8d92067d6c7514dde8156e657ba0f5cef14b1ee6a5fb6624c71ace879b511f45b3b5e49e19e41bea5712e104e2a9cb4242329950953d0132bfd33b93894fa1ecd740f3301e74caf04e63fb998d922c090d522acd82de2dc23f701dc03dc48c4ac89d798fa5a63e6469381b5b5056c41e90fcb922ade3b7639e8a13261e217f4f29d4d6819b916ce818de3e88799d762f899486faddf2c54711abf88155e4608fd1bd36819b916ce818de3e88799d762f899486faddf2c54711abf88155e4608fd1bd31e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f34550c6761ab93f57590cc2234d0f603f9d885b672e2ddbb12e6f17ce6bcd63afec7b9b009c82f1c2e1942c9761810414c77852dab9999bd1d68cbb09c32c41f7e67b9b009c82f1c2e1942c9761810414c77852dab9999bd1d68cbb09c32c41f7e6a3ece655a530d3e4a20b527835b59edd0526296a348d2fea3b6bc576bcdda1d44ada83f7f511c852ace1569ade17234780cbc95d5c244d90f6230067f3c3e6f54ada83f7f511c852ace1569ade17234780cbc95d5c244d90f6230067f3c3e6f5aa787af1b2df12a75c855c20271e96b29a5c972128b9fca1d1c2e01ad44b31fb7d9da56ab0254678a66abdbdbc05ce0cde076d1653a61ba353e688cba110e6f27d9da56ab0254678a66abdbdbc05ce0cde076d1653a61ba353e688cba110e6f282ab2571a2d34bf79a27177fafaf27173b03638606e1dab3a1b011ee70946d4f8adee4c7776283e61e5cea178a2ff68bd4cb82b384e2248805b56d51a4221dc78adee4c7776283e61e5cea178a2ff68bd4cb82b384e2248805b56d51a4221dc753f35247c1ea879aef352b3372887c5fe71cb86d4a513c8d0a379c48baaf27ece4ed38cafd97d498e9aa523b39ade98b2e082b763c24b91c1d00e1327c6fb35de4ed38cafd97d498e9aa523b39ade98b2e082b763c24b91c1d00e1327c6fb35de3686028c3337cfb9b244df2da1abdfaa28f7bdce4ea5ee2d3b52271523594e2c0c1dd9706b59150eb3ec59b29a7f9dcf0e5bdb5e6e99b898c424973f170da69c0c1dd9706b59150eb3ec59b29a7f9dcf0e5bdb5e6e99b898c424973f170da69e61b11f6f3dc9946b0e386182419871bb471cb5b5db58fc0129da3090430ca6d49c91f128982a39c4197dcb0c4ee204c0035a68d5da25e944bac9aa655f706bc49c91f128982a39c4197dcb0c4ee204c0035a68d5da25e944bac9aa655f706bc0b78c30c68d61705ec51bf9c016c7d253a79e8ad198507be7f6a1c7f66f371161df1db0966cac92f5367f30c22ffb779b6504b7c674f74f588b57c457de860d21df1db0966cac92f5367f30c22ffb779b6504b7c674f74f588b57c457de860d27671639b66de4792ae8a6bd00e231a5788f5e79bb0d9309687dc58841afcf6a2ea4eee730740e8435f9589399d042c7bd6397ef0a31a8ce50fc4719fa6ad859fea4eee730740e8435f9589399d042c7bd6397ef0a31a8ce50fc4719fa6ad859fc97c958f1e4f15e0bc7b3fa72053af27ba485c8f06cdfb85df03d02e70044c4302646c2c0c38766051ccdafe5072b8d4b2eeaca2ce1701ef738bd93cf3e698a202646c2c0c38766051ccdafe5072b8d4b2eeaca2ce1701ef738bd93cf3e698a21603419b97ed60e2e9766ecc3df7ceade5fe364c4f04d77bde2afe9d0ccd94f698436b598a90348d30339d49a1884ea8461bcbeeea60b5391c18a2ddd72b9f6a98436b598a90348d30339d49a1884ea8461bcbeeea60b5391c18a2ddd72b9f6a9d3fd18c7f48865fa829de9a3ed8c02d5a73e1c5561a3b2b5b2dd1b1432d9ecfc12bfdee4fd5bcb986173a2a49a82849d2c09b152337f756d9170b69334d3efbc12bfdee4fd5bcb986173a2a49a82849d2c09b152337f756d9170b69334d3efbf39afbe62575eebf10548d87c498a353f770546cb938008a6d95c5a318e0830c03db9f99fbf19cd2aa52c6a546555d2adee5b58c409945e860551ebaecc2b32303db9f99fbf19cd2aa52c6a546555d2adee5b58c409945e860551ebaecc2b323372f6cb72601b280e95e0fb6b31f4dc558a44119a76f31ba757e494aefed6683ddf86a938372ca3ecf9bc8195681b8194ee9deabd97c6c2e23df7b3d8b7c3646ddf86a938372ca3ecf9bc8195681b8194ee9deabd97c6c2e23df7b3d8b7c3646eb429f839a674a1363d5e75f543256cc0c16a9fe898e5f4e31cdf9391fedcacb9a5ab794a48eb442468ac7e7139619d886ee04985c3148e7336bd1d125fe57509ddd60c00ebe67ea3da962ebda8881b71e5c696b0da1ef2a9b13c6ea0bfca26e390b1c7938fa9349cbe4470801483d0caec7aac28643b24bde0cca50ecec72bb8eea72c9e350263f28a4adbb148b9bf9f6dcd355fa5cc995b2229d6fe7bc33238eea72c9e350263f28a4adbb148b9bf9f6dcd355fa5cc995b2229d6fe7bc3323c915260c38d4fb070cd145653c0b882edf5d2e26612f7425778caa810ceeb902912d4a341630ab9647694a197ecae2e7f05656f778850adee6f5e37f25be8bfc912d4a341630ab9647694a197ecae2e7f05656f778850adee6f5e37f25be8bfcb14fb4edb165320e1bcf9929a6fa67d48f28c8548caf410de1f29f479a725cf81fdf7f2757e70d057a1715e964c184a1e71ea70e2a132f92049bdd5846ac2bd21fdf7f2757e70d057a1715e964c184a1e71ea70e2a132f92049bdd5846ac2bd2c27a183dd9a191b7f314d6e18a72e44e6784a44382d9fd08d84a8021e3b1afcf44566f8cd7725666b3567f99fed2351d6ff752006bb00ee499dbec3d629289ba44566f8cd7725666b3567f99fed2351d6ff752006bb00ee499dbec3d629289baa1a0a09cf11f11a2d8e78e4e952b2b38588f7cfb675bcb2d8548f810d046e3a17005d5f12e890d8d175c9cf3364baed766c8956f1ba38ba7b11a557450836ab17005d5f12e890d8d175c9cf3364baed766c8956f1ba38ba7b11a557450836ab130c7140cde98d6f32f0f9365a07045dcc19fdb28411e955870e3920af6cbe8f2376167acc649cffc5addc7f1b9016d38413c39e9eebf307a70937b5e8d436b68376167acc649cffc5addc7f1b9016d38413c39e9eebf307a70937b5e8d436b685c7e3cc40fe0276eb63876d41bb02f772c13b97f9591d5866fad152ed9c645c4141d9db5f5b870a87509bfc45d05360b1595c014ff9b9ff097be999f5544b8e3141d9db5f5b870a87509bfc45d05360b1595c014ff9b9ff097be999f5544b8e3fd390fc38dad6c57404f690cc69c7e28dffee8bfb3e6adfec68e72652de2f08531e01de9de4220962de79fee76ac3261d403c5a2119ede0ed203243b7c0fe93e31e01de9de4220962de79fee76ac3261d403c5a2119ede0ed203243b7c0fe93e21815a9f86fe25d64c6b0f9e67c664bdaab171f4900229f5c3d81bdd697617301dcbf56588d7c8b0fdaa4210007929ccc92327889d212895f5d2aaee79ae8e861dcbf56588d7c8b0fdaa4210007929ccc92327889d212895f5d2aaee79ae8e86fab303836a54c1cbe797bc984b8c58c6579c23a73df1ccc1dcfd506df7a1c161c225c5caa7efdc0a0d77ddbd8ce929bc1fb6fdd9a5064b5ce7c7beb54a83a0afc225c5caa7efdc0a0d77ddbd8ce929bc1fb6fdd9a5064b5ce7c7beb54a83a0af8d18dd407f4f409f70b39dc7c9806c4c3dc71c9237c54bd916bc3de641bed1a515d9bfbac1482f28b3542c3799a0cdced9c39d95095bf7647d30bf0f16df0bf51ebc986539856d422aaa343acb6b609335598cddaddc1485a48c4b0a8ae44dc9edad629688dd40f6a870172831c8c192a004846242c2510bf080c1fd544843bd2f4cdb7907dd22444ff7a401f107f5148515509b20a8f558ecbd3ae378a95aba2f4cdb7907dd22444ff7a401f107f5148515509b20a8f558ecbd3ae378a95abaca8ffc1677dc229658982085d69909747d501a67813c1673e08bb556c5e35762ae89d27182ab5764989edb4623eebf65d8ff9cf933971e52e2992189f31e1432ae89d27182ab5764989edb4623eebf65d8ff9cf933971e52e2992189f31e14324038f603609b7f336ac0c5f8f8ee5c7b9bd4882f6cc3c70e02770b92a37b89df761d92d55b8d41d94f352e0ccf27e5a564a0fe3e1d9ae6b2559cb13c683f8a61761d92d55b8d41d94f352e0ccf27e5a564a0fe3e1d9ae6b2559cb13c683f8a613c833f13dcead86aa3dad2b640e2e57c336c3dafb27b3017a12e459da9b4b5fc09b2de536c2659d848112ff72d4e2822a2bb3046a5bb4ba03d802c33209bd0a609b2de536c2659d848112ff72d4e2822a2bb3046a5bb4ba03d802c33209bd0a6d0a722d6f0bf73c27d18245c9e5464fd91062a96c1264aa14ab403593aafc2aa30c6308dbea229825718088d6fac8f1d46695d33d868ac34bc58c1443a313e3830c6308dbea229825718088d6fac8f1d46695d33d868ac34bc58c1443a313e38824b6599ce4729b884d91ecdd07e06a13fe6dceea10432d885ad3027cf780049f2a45b174699859beba3a882820ed584d7ea99afa72576cc7f842d333b6e73b8f2a45b174699859beba3a882820ed584d7ea99afa72576cc7f842d333b6e73b8a91c6c43a0fdfa6f527409f37b0ed6db6dfa4d1db74646508cb3c2c3afceee494278ab23b8d740630680ce479326e7b6c5d118ad6bc2a84c7e725349a5bef7ec4278ab23b8d740630680ce479326e7b6c5d118ad6bc2a84c7e725349a5bef7ec5bd1ef77f0acd1608725982a584a2435f176d5a35b992e307095a8e4112581e8b6c1e3a0ccaff08cae3a59828129b38386f55079666f09949d6925dc71cd18fdb6c1e3a0ccaff08cae3a59828129b38386f55079666f09949d6925dc71cd18fd2fdba7011f83388eeddae3ad07c5e209bc8bc2edd9170c63e15faad8b167b339be490f498fbee87d0d782887347b82b0c6b53896edc170a16cfac238dfb9a96ebe490f498fbee87d0d782887347b82b0c6b53896edc170a16cfac238dfb9a96ed19cb9183192641f8fc43784442f9fba2ea80acb0f7d0696f8dd191f8f61c1e8a0f1b26bb658d042e87c1c9e810a8e2b615c73053a0accc6b29311ffe12fee5ca0f1b26bb658d042e87c1c9e810a8e2b615c73053a0accc6b29311ffe12fee5c40845f0919bc83ca7972bd9d08b7b84ce2bbab50105810154b759cf942771ff88771bc76fca275e8c1eadcdd6bb1debbf796c9d996fc9e0abebb32f9c593a17c8771bc76fca275e8c1eadcdd6bb1debbf796c9d996fc9e0abebb32f9c593a17c0bcdd4c06e4f0d0e92e4413a036ac8344d7f7713fa256d3f88f0211a6af0d0d9d858362d270c683d664118c9da90972a1ee5b10567c28a87b45e108d625c1824d858362d270c683d664118c9da90972a1ee5b10567c28a87b45e108d625c18241bf68d35f12952cdd4d71d2c532267ed0503073df2f472a64c747d9efc1095371a11a483ca058593f00b4cdb3b0b548a10f50a7db688e28867b364791a1262801a11a483ca058593f00b4cdb3b0b548a10f50a7db688e28867b364791a126280941855a43d47c61e22b4d05f6b505b653595707e7d65bc2968a90ef8d6b180eb4ed3eccc0ff97c5f9c93cab0b4abd92ddba074a8a116fd2f93006291c5e743ff4ed3eccc0ff97c5f9c93cab0b4abd92ddba074a8a116fd2f93006291c5e743ffcfa8341e6de9c6b9ed6e5464723ba269785553447c9d6b004f32bf38c0a2ef8e122b89a1a28b0e090be9f94bf71267f95ed75c7750f4d2f11f21c0c9a1e570a0122b89a1a28b0e090be9f94bf71267f95ed75c7750f4d2f11f21c0c9a1e570a04d11de2025244eaa9cb600ac3de0e733d47f34fe3124baeb6a5d6d0f8a961365ec03c3473f0684e7aee28f3fae577f0475b5f9e5f0e8a0eaa926ee652ec00cc5ec03c3473f0684e7aee28f3fae577f0475b5f9e5f0e8a0eaa926ee652ec00cc58339b4f03c3829704f1ecb5f22a9ce1df894d0aa60d52c20432efa4edd951c0bc9e8f30c06b646b5f0c848c6b9794da88e1f95f63ed38f409ace840d243634b0c9e8f30c06b646b5f0c848c6b9794da88e1f95f63ed38f409ace840d243634b01ceba6939f46233d276a608c9fc3840f38f23a4b689ffaa9075b5f59d5cc6e7751a07b6ff24daf4e11399cd70e35d8535828a580e41d6aabddb576e0dedabad351a07b6ff24daf4e11399cd70e35d8535828a580e41d6aabddb576e0dedabad384c3c250f51f97bd44cc14c87a5646fe9b3c31620173e18f31758b5a141dde439100c67cbbbaecb83dc8f8688895fb5bf8754efbfc13ad040da2c6dfd4d4a5f09100c67cbbbaecb83dc8f8688895fb5bf8754efbfc13ad040da2c6dfd4d4a5f008f0a530a80085ca11af94728ba892492b9833e48a1ecd66a78d680beeab63233dd63d023d0ab0f89384e6bb9b063c78d465b0a0471392aaf6069fac20ee78003dd63d023d0ab0f89384e6bb9b063c78d465b0a0471392aaf6069fac20ee7800a7da4206dc12ec8f567303230acee8f532d256fa1839d9f51d89e11d1bb80d067b3808c297187cbcc755c2a43611390fc6a6d83cbfda26200861a8974a0a84bb7b3808c297187cbcc755c2a43611390fc6a6d83cbfda26200861a8974a0a84bbbfb4c1af5f71e3b05922f18d1e4d13472328ee5afc90c3ad859648804715ac356d3631f69ba15f1d740dda66af0c57e3d3a120ebfcec1eccbc58383079ba69cf6d3631f69ba15f1d740dda66af0c57e3d3a120ebfcec1eccbc58383079ba69cf23cf9f7618b6f92be2dd950a64ec6903c525b6eb2e688a5287d90bb886dada0efa1be47444fdaff8cdedfa0dfaec636d619237aa4cb0aa9cd0c6d574b6332acffa1be47444fdaff8cdedfa0dfaec636d619237aa4cb0aa9cd0c6d574b6332acfe5759bcc4001fa9ae49edf85c0003b4967e21caad24c466888a33d88f63ed8b19a17c5652dc025bc2877ff059bfe1e5996e02fa1ee352321f5a5159934bf06f89a17c5652dc025bc2877ff059bfe1e5996e02fa1ee352321f5a5159934bf06f80aa8b5d826339fb55afc4b76126476a0a387d75a678da49ae63fb6cdbea138b05cca0f31da75ba11249d67b6fc5ce200590cb5844e105cc37962ff32d2586c485cca0f31da75ba11249d67b6fc5ce200590cb5844e105cc37962ff32d2586c481cb6f7e1cd145edea66c4def6f57f19b1f214e116459b263a5110115bf2ad29c277aab3411ebc3d9788817a064ba7f81577c10fa5e3a4c0205a4b8c6e64c50e9277aab3411ebc3d9788817a064ba7f81577c10fa5e3a4c0205a4b8c6e64c50e9a748272eec430c4460a3d605e064ec847a5c04ed08b0114b0acfa64d7b6a05019204848f0fcb6186eb328a49c6c3ae1ddb72ab5e20a07326157dfc3639daa5739204848f0fcb6186eb328a49c6c3ae1ddb72ab5e20a07326157dfc3639daa5736d425a5828d403c014e5a7295f19ded3f2040ca97d722d10fd33f4b7b4e07e48a1b07738af4a4d7774e1232a0787a9bcfda81b89d48c39a05a24584ec5bf8a5ea1b07738af4a4d7774e1232a0787a9bcfda81b89d48c39a05a24584ec5bf8a5e4d4e36d4c8d76c7e0f762ad4b4add7bd25b2133333412a1e939d1034ce519543acf684bf5da019dcf79e15d74613fc4c902d62ec1df986eef3abdcde911519d7acf684bf5da019dcf79e15d74613fc4c902d62ec1df986eef3abdcde911519d75562f5b0752b99be278f6b5211d5831d9a91c275e6a197dab10217f4ca704744ce5534354c52ebf3a568ce0195c2090338f52cba0404495ec77e3745e0aa5f98ce5534354c52ebf3a568ce0195c2090338f52cba0404495ec77e3745e0aa5f98c95e7d47fe0ad5604a9d884df5e04f5dc4184e7f1452677beb2492865fefc0d87580f8aeca28938338cf33c3149827c4a9aab083ba848dc990ea5a442c76cd8c7580f8aeca28938338cf33c3149827c4a9aab083ba848dc990ea5a442c76cd8c516fb88555c8aab3423c6e6b8a3ca5b097bae30ddb47873565a99803f7a74e8e83c1daf32145d11949cf29b1f9d3d362003cf67d3887d9960ae1d9f8623471a483c1daf32145d11949cf29b1f9d3d362003cf67d3887d9960ae1d9f8623471a4c8057e31c398532402956e0b84dd9d63114ce3376be91a0a1f5e28d12a330f5cd06aaeb0185605f842c7da31089335db8630d5a6c50df854fd0df3c6eece4430d06aaeb0185605f842c7da31089335db8630d5a6c50df854fd0df3c6eece44304a89c4cc9e9baddb4febec3f409dc531ae7fd176f3279338b7a1bf599bf83a6647f7314fcbba3e66b93a242e407b76315baeb4b24f0cded451f6fa8213b8c67f47f7314fcbba3e66b93a242e407b76315baeb4b24f0cded451f6fa8213b8c67f40005f7f0b4905ee36b7f13c8b634c01674cf4d5f185273c24423eacaeb9c5cd76dfddc1cc480003523ac7cb8a64f3d5bade19b9a1ec4a61ccd7911a06e166cd76dfddc1cc480003523ac7cb8a64f3d5bade19b9a1ec4a61ccd7911a06e166cd7035643b7e84180fefc56eb2c20417c8ff91d5fa04531641542e36544afba6305ce478103a05127d151c3b45b347659796f426e7b6edd0f361c6e2f6d9a7308b5ce478103a05127d151c3b45b347659796f426e7b6edd0f361c6e2f6d9a7308b75297235f5e61ebbd87d1f2904eb31f0dd9b2ec89bac08015dcf3e5195aa094383c3294ed320a70af77f9e7494ac99c60e896c6e96f4df18ad7d27ad60e68e5c83c3294ed320a70af77f9e7494ac99c60e896c6e96f4df18ad7d27ad60e68e5c61aea6e916de57a887b2b15685e9e9b4e6e154f1b9dc4c6fdc78dbc5f8aca46aca8a09b922dbe3781132ae259141535b30a934901d813692e169e50760e40620ca8a09b922dbe3781132ae259141535b30a934901d813692e169e50760e40620df152260f5c27b474a5e9ba284421980b919db4e7ffbfa9887e2daa1a5c3c953c61c1dd57ac4905d6afe7d05698b14abf199cb5ca6da74d2b8bb22e7ce7866e1c61c1dd57ac4905d6afe7d05698b14abf199cb5ca6da74d2b8bb22e7ce7866e18f3b7efe5445797ec575edb8d324648e841d8456ff866646d9cccbd911edddeeb3d637aae77211bc38edb1e368b0d15a1068c3e046dacedfb39f1d9e571cc3eab3d637aae77211bc38edb1e368b0d15a1068c3e046dacedfb39f1d9e571cc3eafe91fcf7d6a5580366e16fc99b04b9630218d1f1733469c8828cd8ddb75404966fb5bfe7ed43093e86d0e75edf0df0c60180ab679430bcbc55448839cfd631316fb5bfe7ed43093e86d0e75edf0df0c60180ab679430bcbc55448839cfd63131aba645de64c417b14f50dff964cf5ae21f8bee0e7346df71cbb8a7f96fa31c5e4e878e5d3542839b999afeede43e29214b2208b9c8a6b74b3b1e06e4c91972824e878e5d3542839b999afeede43e29214b2208b9c8a6b74b3b1e06e4c91972828de7c067bf3126f9e07d689536d5227d25993742cb8d553ea155768273580a160c1dc2430fad742fb4475780d27d58a5437ec59fd2655233615cb295a0ebc32a0c1dc2430fad742fb4475780d27d58a5437ec59fd2655233615cb295a0ebc32ac180d390a74638bc09f98cbb5b9ab643383f6aa7a9da73ead575bd49e6f053bbc757a90b770c4563858809b466bb0ecb59c85a6e57d008e86281922866c68422c757a90b770c4563858809b466bb0ecb59c85a6e57d008e86281922866c68422c139c26abd5525aa56b40a2a384a9ca3337917156d1f19528aea65cc40e67042dec068ce426d6efd003371039895499afa50104b4adf8e9400d77344f01c34f2dec068ce426d6efd003371039895499afa50104b4adf8e9400d77344f01c34f2de100b9150fe21ae4d9c2d84c3331cba8a385d718b5cef7d69dfb258b0a9b26e77609d9aea188943126fca06b89e0e577ecff122bd6425b7258539348b2195e177609d9aea188943126fca06b89e0e577ecff122bd6425b7258539348b2195e1c1709e7172ecf72628108247dd7f8d8e7046c712d504c2241b4eaed5d410d1145957f765b4b561554db64ffeba53171062660bcf09e411dac5a74d89c3e8f1885957f765b4b561554db64ffeba53171062660bcf09e411dac5a74d89c3e8f188dbd4a2a7b285601a0c775b381cf7599e15f6e1639c5692a7af63405bb8ff05e563f637a834a6f4bf0918516dabdefa9dcc2ad443cfffcf851444c00102ee067b63f637a834a6f4bf0918516dabdefa9dcc2ad443cfffcf851444c00102ee067bb2871c7ed2030751b16f4d8d7d88eec1c4bc86757cdb84fa62cad61ad53d7360470135eab191f27c372fac687c471395f9066bc9e7442950dab9ff55511d2c1d470135eab191f27c372fac687c471395f9066bc9e7442950dab9ff55511d2c1d3f6cf14fb405eedebd69cfaa455f5be98b4527d9c190c162d4532fac98d97a4e2c7a34269bc83087615e436772d079ae8783a3ff164921da5b0b9d1272169a632c7a34269bc83087615e436772d079ae8783a3ff164921da5b0b9d1272169a6372f7547459460573516f50340e94b552de1fec459b61075c7bb65c8e0fcd7f0cd1039f629e6e10addaae8bf8b28950ee22b578e1c91555109f415063e7b1de51d1039f629e6e10addaae8bf8b28950ee22b578e1c91555109f415063e7b1de51e36182febefbe22dfa7b62e120f80c0200d54e888e9945765ba36162631f4bf4e8d870f4b46b3f127ad31ef61cd78da7870f5c193b1c8535852104fa5d99c194e8d870f4b46b3f127ad31ef61cd78da7870f5c193b1c8535852104fa5d99c19408d4e7613c64156e7c384e9ad9b47bad5b9f9888da464fabc3503e1bfa9afb477b2759cafe7f7ac5ad0baa4cfd82c90b6508b7aff84f9225d1c5f0ffe5eb97947b2759cafe7f7ac5ad0baa4cfd82c90b6508b7aff84f9225d1c5f0ffe5eb9794c06fc8d5f464020c466aaa623173913890c09a510494c9fdc03d1d2ec9ba104c6b9a5252699174048241c0339e35296a09305cfa234e12e1c5d7cb2629aa8bf76b9a5252699174048241c0339e35296a09305cfa234e12e1c5d7cb2629aa8bf7af6772bd0e44c2465743e54a1c5fb15f26d91dbb84bfd325475480ba0499d86a8c3c90936f8cb549fdee548de9be8cab7a8486a680d56341deb37332c0cc87f78c3c90936f8cb549fdee548de9be8cab7a8486a680d56341deb37332c0cc87f750c02775a32bde1742317b96110ec0195e6087a5eaaa3f841f86685287ba2676ef8963dca9a21530307ca7e457d9b7801a12d6f07b429a07e989186f6880d33aef8963dca9a21530307ca7e457d9b7801a12d6f07b429a07e989186f6880d33a983ddb828a9d418c2f09a0de2d541884e70b479a6e600a0b2a31e086d2408a7ab24fabe4d81b9c71d0ef9fc9a4e0d5dd8ceb8ff90efebbb07855367be21f4efbb24fabe4d81b9c71d0ef9fc9a4e0d5dd8ceb8ff90efebbb07855367be21f4efb03fbf70a239bf8844b9c5216e927b8eccdb33d72b14cd0ef2aaad278702b4fba0d5e6e63f5555895383fb78bbd07209d000e5b011738e70e54d3a3b964fd503e0d5e6e63f5555895383fb78bbd07209d000e5b011738e70e54d3a3b964fd503ebc495b780497f2a0071a73c7dc18530c22d4edba33393359f497f7bcf35ecd98871cb132c42d88e416ccb806e2213b88d8b898075d974253edc18cfb9f05b29f871cb132c42d88e416ccb806e2213b88d8b898075d974253edc18cfb9f05b29f5a7cf910d572733cd731ab0fe7536daad11943b2580ef12d752267d754fd31ca3d1917c2d6d4fe510c3d7ad5bb1c631b57b8d4e8e309d4412c75c2a7adf6f56b3d1917c2d6d4fe510c3d7ad5bb1c631b57b8d4e8e309d4412c75c2a7adf6f56b8c234c1d7910188ecb7ec3561d5de94758033884b304441acedf4a3bec6c74fdebeb471ba309bc3a34a1b1768cc7127a88940d83f5542b688f740abb68a2b59eebeb471ba309bc3a34a1b1768cc7127a88940d83f5542b688f740abb68a2b59eb5872615e65f4890c3a701ca3834890e6ddfe536ed44cbbcea7d6d7a163e350530829d3f921a468d62fd517dd2ad36277543dae847e9d655b0ef84cd44d485cb30829d3f921a468d62fd517dd2ad36277543dae847e9d655b0ef84cd44d485cb71680d0d610c8ce9cd1d52576853532b89fd3df6ec3e60c4c214985dc19b748044c9241f7057fd77d52f60f671559ba06052db3397dc8c41d138e3f59acf150844c9241f7057fd77d52f60f671559ba06052db3397dc8c41d138e3f59acf1508361d96cf6d84c3a162bd436d302d8f3b49bd3fc29ed52ae8b8c05fe3daf114e60c2508fba24d5dbd789968129606c7be9695e858b9a81c1768ce44d56d7178950c2508fba24d5dbd789968129606c7be9695e858b9a81c1768ce44d56d717895e4de02f64f69701cb1b730fe98a5c3777deb0026b4007c94edce5cf4d323bc4c12d200d92b9966535346351ce1bb3168faf3e3cf4fd506c10fa1e0545512ded512d200d92b9966535346351ce1bb3168faf3e3cf4fd506c10fa1e0545512ded5b32ef3b4ccf6de3679a94b3cf36de50106b941322c4242fd7df43a9f81a7b1652af7f3496ff372b9925b33e836ac1257a93d965dfdab3b8f60b3f859eb8a107b6dabdc41ee5182a9969e015c2625f344c153bbbd48fe5e1b3c76111c60750cc578140672c975b25c45e18875fd25db5685d603e02a8b231324e4f56cdb599d56f67fde5a37a97302068a04537909bd679dd37b3067ca0b644e114b3eb1f8aa17f67fde5a37a97302068a04537909bd679dd37b3067ca0b644e114b3eb1f8aa178b7aaa84b0634cb20dbbe39d7cb74d57eddf6afd8f6f1b0f61a8ff2b5f2045f8b481fd83b4537ce274676b102682a790979acd4a69e62dc4555ab57478203cfab481fd83b4537ce274676b102682a790979acd4a69e62dc4555ab57478203cfaf238411cac69c5d082f8f48a0b658f57f4c0ef4064c6cce399f39e192b1e15905a51440df8f2240e2a9c6b144d143f6af52c15d2109f32e7a1e1ec1acd448f57db8fd84d4a2b904ca4f5d465b98d57835e60bccdc3c58bf206254ba80cdf40beade38e0d1d9c6efc6a75180966030ed6de1d25c6231d967bff9a59ac7c547a8221ba9e2beaa35a1a4a5bc90255fbd2d350cfbcea72b522c224582ab3e0933a8221ba9e2beaa35a1a4a5bc90255fbd2d350cfbcea72b522c224582ab3e0933a826acc4bc94879f81d79b92e07c15e02555bd3469050deeeeb652baa175322cf508180bfa76e63a8bd03950a576948c21ca0f2b27bdac7bd04623fb248115b806e1cc76a35bcc86721ac2e2ee4fab33a7211848f5b644d8542927709a1699d34a818e9b6800cb6c4b7386ef2c1107fa7f28b1e1fb048226a3b2c33ee632d01742adb945f4f215633d4c3d3e90d6dd0999c8b90f094f077dfcf4b0ec00df1dc253fefe32f6c8e2735032301a6f3ab287f2595ed0868bf88fa08703b449ed1d2d9a2d18689aa960841c52343f5dee578588cce235cbeb252608ddf5e66ddc07030743059941de4d6579d8fd5a655694275bac03e672b3ac4c471e7400d70aeddf0d93059941de4d6579d8fd5a655694275bac03e672b3ac4c471e7400d70aeddf0d939cb932f8f5b4918befcd22b62d32033feac7ff6ad3f538c1a7ab10f8004900c6ba56afc35c33943971e1be7a3360deebf765962167170059def5719cc3a720b6ba56afc35c33943971e1be7a3360deebf765962167170059def5719cc3a720ba4c8d47d6cfe960b192cbd910dd125f9544f95e3d12b282067a6c7bd80fbd289e4958935dd42253306d01e3572e137793b6c3edf3f6db7b327c901762b6074e9e4958935dd42253306d01e3572e137793b6c3edf3f6db7b327c901762b6074e9bf65d8a68028ad4f468b0fe0913345f8c7698b4e094660fa570f82b2cf178ae382a8d0d01698d8d2e1c9cb9930412156b08d10724f38e353eb7645e23bc3af2482a8d0d01698d8d2e1c9cb9930412156b08d10724f38e353eb7645e23bc3af2411224893850d5318135dae6f0b7d62121f72d1bd03224b6a881daf25ba34c3fbe8ad806e188bea07bfc0b1c302f73c648304a26e11511d5dfa8ca75b2e75000de8ad806e188bea07bfc0b1c302f73c648304a26e11511d5dfa8ca75b2e75000d27e9a18579a6462199b6b12600965c7fd49ce5a78ba584ed35851830f31aa1d2b4aaf526fe83f58e9c951d4f7eaacec695bb5f979f0ff7f6343510207cd3d3e2575aa4d73fdf678605063629614e7c27c7c0f342ef881ad3e69613c5173a702c575aa4d73fdf678605063629614e7c27c7c0f342ef881ad3e69613c5173a702caa8e019765437e8b27d31f8a38ac6c3ef4f641a95ece5d5fbb94b0633362c5ecbeb291110817c652cb66db95a7fb8691e26caf6396d0dc65db4bb4bd0cf087745ad7d4249b5851e0607168cc369b208a0c903acb905df3f3945845bf5cc6b0ea5cb4da5be8b67c110e02b7e2726c6188e24d48a6410c9ba9b30c7169d89df32e677bb77aa810cfa1b9fceb2c656d84e34372e6c1c4cb96e05f07f6fe6a1ceb2c677bb77aa810cfa1b9fceb2c656d84e34372e6c1c4cb96e05f07f6fe6a1ceb2cdaa60c76bc7b99f9b2a703a6ca66a8bbb58e51290e74bf2abbcb9ac5fc9c987d97ff017a3dd4c66f003e9f0e18d26ed7985a47e0962d2a2d6a4e5175d46610bf97ff017a3dd4c66f003e9f0e18d26ed7985a47e0962d2a2d6a4e5175d46610bfb73c84b19fb7b13f4640b667ccf90afe393944c89d2da4f5916b52bbe457b02d365ba90a675ede1ea6561020d77a5673a27cfa1a7b6f5714496e63dd07fc26d8a6ea7291c72a62c11b0086b186b6313acf205ab1cd5d3706761dbddb484a6910b96a13c4c6872b411677b028af6a3f771b5bfa0c0562715e6c27657667c2d9b09860c6acfdd0dce9a468c7753562322185899def341668dac24e179b5dd20d53aa2763ab7b3cd2ae32dcfbdf20ad3ddb8e33f989524b06e9f554ba535afce91faa2763ab7b3cd2ae32dcfbdf20ad3ddb8e33f989524b06e9f554ba535afce91f2ac91b93be67539e4926f4fc0675217d4fd583829670980303b59b14200819164b36e1c0be47e895b4c0b0ccdd17dafb4b9ab2230fe72286b87b259469a7971f47a1b434cbba0b6b1bde5b98ca90b73bcd9a9755124e3997af345aae675706009fc5e29de0688cba4623a4d1e1b9397299343580a110dfd1b979543745a70bea3d0563e3a871e8f18a1c82c6c0c882572a822248e2e833c65e3885f989817ff33d0563e3a871e8f18a1c82c6c0c882572a822248e2e833c65e3885f989817ff3cfb96d46a9e90c6c981cd73891357291173247c2c078ccb2d8a55fc957b5842a6703b0033d227f35617226015bf8c264385ac93257b1847564fc642d35b7d2916703b0033d227f35617226015bf8c264385ac93257b1847564fc642d35b7d2914a02bdb3964a6f1e61e3d46885e5c75cd15e02e94be43cc29bab053625a846751ada367bceb5746abf12c7722a0bf41021013c6551f2e9e6ae09eb1480f3918c1ada367bceb5746abf12c7722a0bf41021013c6551f2e9e6ae09eb1480f3918ce47a3f2324b579cc980f007542c6ae316f010a2bba26c084b33d7f30b9c940f963ced0ccc43346ce0e922210e21931e6e50bb6167205cb3bd22cf9a4ba7b4ff963ced0ccc43346ce0e922210e21931e6e50bb6167205cb3bd22cf9a4ba7b4ff9ed75dc720f528ae8a6c05e6b71f6a6ca5575d3dc2113dda2b9cc26e20773df854b0f1d0889d7b54a2bc3a2e36bcb665d8589a9531e3f00f2d711f60927fdd82a4b0f1d0889d7b54a2bc3a2e36bcb665d8589a9531e3f00f2d711f60927fdd82a5814dd869ee87574a0a415777435e1c84814647a9c0bca53030944c8557cff04014a241576e03e1cf62b751b2913b7edeedd1e16ad94773d977e709049c92e8f014a241576e03e1cf62b751b2913b7edeedd1e16ad94773d977e709049c92e8f2d232284e04741c2405caf56b6f6a0fdb5b29a5c43bb9851dd6d5613763d29343acebc3ce4e5c6dc8524670d75d91b5a94b686a227ffe669cef4b16f28e51bc93acebc3ce4e5c6dc8524670d75d91b5a94b686a227ffe669cef4b16f28e51bc9bd9a6d305c0b38cf451a1ad5af9d2716067a4cedaddfc65cf55c2281e4af7575a23e0e1f9d16ac31a8efb8f8dd43ad7ee2a651bda221f1dc85a0615892bc3d8ca23e0e1f9d16ac31a8efb8f8dd43ad7ee2a651bda221f1dc85a0615892bc3d8cd6523e8d14d4186ebc9ceff2908f6c222cbe476e9828996e4ea7ef9eeb18157ecd8394d491742219929a75284ad7d21514dfff08a10e92bcfc97ba890f3668c9cd8394d491742219929a75284ad7d21514dfff08a10e92bcfc97ba890f3668c9159054029a5429155e586a05ae939b312c0dfca29e308ac6088565485de793b0c10077e0033847044e6a701a2434649587efa01b7245684f22badf5ff595556cc10077e0033847044e6a701a2434649587efa01b7245684f22badf5ff595556c405f9b021a98ca2ad282474fa1a89e9549dd23140d3d92ab5b70be17000fe06d8377fdd73dc04df19342c59949dac829275ef0491af4e84ca71e986bb709b1938377fdd73dc04df19342c59949dac829275ef0491af4e84ca71e986bb709b193fbf91fd151b6929ce6062d9835bd3f881288e6c05d3a8037d632869bf80fadf384d2bbd25faae01325e6262807546c35bbe6c931ef4b084fcb2f11ab788a9b8d84d2bbd25faae01325e6262807546c35bbe6c931ef4b084fcb2f11ab788a9b8d4f854a2104fd72d6a475b1ac6b8ea603d74d260bae8400f7e23269938f4525ed552e3d055698d5e8d9868477c3f68c04deee3e3865bfc35ed558033e2a18d152552e3d055698d5e8d9868477c3f68c04deee3e3865bfc35ed558033e2a18d15257a9d13a499c47dffd07d8a6c6cb5977cc65983469459ae0799631144bb172267ab483cce95474f4ee00db462a79c669da799fe271ee64cb45514f1c46aa1a3c2ad8fedaea01eeb925bbbdafd4a862a115fe7a2d9b2058df95354a5d09292d5cda366a4ceef5f4ce9817c5139512fd496904f974be3fe0f24ae3909dc5b85b643952a6b98bf9bb68777b7547fba166d78f19d46780fec00e438a247f4ca719603952a6b98bf9bb68777b7547fba166d78f19d46780fec00e438a247f4ca71960eb69276053f6d37389e2acc2d611edb007bfb25c08755ec2e4529e1f41737cb880ccbafcae59c8fbf743fcc3e6b6e38cdd7537bc0ce0ff1d4090cd5882c1fc2780ccbafcae59c8fbf743fcc3e6b6e38cdd7537bc0ce0ff1d4090cd5882c1fc274589ee6ef97bf6239cdd6d1220b3a1b5f50c7af0c54ea76f3cbd92b4d6e79663a7f296e448277f9c19d52436399dd64ac7b8c5105c05019a95084a68bac9fac4d983a79167d1cd1dd35e1468026f2652953f729863db73bcc96a0ff6339de8a2956b5172e9b3aa604214e8e1539f74530b76029c07c0bbcf0666f700561463c1e3f958855b3560fe11e166149f77671a89685a4c1da409c492cad808836ae1b5c9c4cb1eb5cdf06a9fc0bdbfc2bf67d50535f0bbdf4dc0827995e25a75f9243415448830d62e59edc049b0734108b28db3ede5b8f9657a1de82eea75e3838e1af7ad7e73ec42a7ac947c5eec0c3aec80a23a0133c61ed57e2269ddab1db1fa7b95b648f1b6c963501a3db3657b94da4494dfc74907b20f281ac7f1751b6471cf82fe46dd4274c8f78878cc464a5ae3d0f1f7a7d719c90febd101973ca8c48be21f7be922f4f9e8447e538ce52f433622ef267265a62eaed5ffc4a795aed451f81f7be922f4f9e8447e538ce52f433622ef267265a62eaed5ffc4a795aed451f81c76ca012ce9a2b2b9151c128d3d2ecc826ece7b5427bf7c0eb38365138dbf423879d1cecfab5343e778bb130ea2a87cc508650035c9174c68eab94f9fd8716b3879d1cecfab5343e778bb130ea2a87cc508650035c9174c68eab94f9fd8716bdb83858801c5aeee2a0b76c6b0ea6a3eb38d22f308287fdb93cbf0f1498c4d55f800648e84509070c6bbd76350e258106f72b8d79e5f98a0179dc2fbc152553cf800648e84509070c6bbd76350e258106f72b8d79e5f98a0179dc2fbc152553cc148cc81627106b8060985effa8b727814d169392440fee59f5e4ee0f6a4b575e3f6110953c8b93fd109e36ff5e9b09395307774d3f7e5542204f0a132a9ec47e3f6110953c8b93fd109e36ff5e9b09395307774d3f7e5542204f0a132a9ec47d68baf40a37fedbd9fae952de0c90305b0b44fca3cb6bb4fa31de5792ccc4c2f4a0617c8cc1a609d32baa6908fca3a1b30d04db251d59c0a6f6e1c74089ee9ab4a0617c8cc1a609d32baa6908fca3a1b30d04db251d59c0a6f6e1c74089ee9abb34f050d5a123e057b11a3494b433975977262167c43973608ea2fcd8ce90adf224f90091c2fdbef266a15e6e681855cd4c1fbaffd8482244bead71b682e1773224f90091c2fdbef266a15e6e681855cd4c1fbaffd8482244bead71b682e1773903e6ef254edba2c28f563c29769bf95489ed17902e3cd1e6f13b2ec075b7c5b3da1312aed9c5c137a3b9ea87d0ac588087af0739678b9d4d04ad61a235158263da1312aed9c5c137a3b9ea87d0ac588087af0739678b9d4d04ad61a23515826d1eb91abf747df193b9b89120149c0a9f1dce43bc07b660ba4f287e68e6699a75d735402aedf672413bb23366d5c0021bdf2e908bf3f84e9afaca3f9f346fa575d735402aedf672413bb23366d5c0021bdf2e908bf3f84e9afaca3f9f346fa57987954d72270acb506395d540e9de6f044aa903b71bd6a94bcceebe36b6f02f8416e33ed0ebf8ebea8297212a4a790981e1853b2720c52fefdf0ec9dfe420bb0058e2704832f69119dc8bd2f0cc8ee9cb1d2080e49c748c1ca461b7d1801c465344b2474f2c256216ad563649a17c6a9b11ec239e036fa471940dd0c80baea33f58bb89d6a6c18921b497f08eeb44ed2528e7646cde995ba299cd1aef962f14af58bb89d6a6c18921b497f08eeb44ed2528e7646cde995ba299cd1aef962f14ae9d32099fa44c29c4f76a9beaab66bd42bb75cec85f8b17cf044643e8e27f370d371bd17f0982b06a813ce3d6ed0ff13c158857952602126804e652dc156d6ef9b3ed61a0d1318b2f97f1260664ea4a6262a0a9c268f683838e17ca892477ed923fb453a3f91117ccfc26d9c83d90398b88942838e74674bfdbbc6c4044b5882da61707f3220d25f04dada0ac73541ccd88de9ae94879966d1a1268c4b9e1badda61707f3220d25f04dada0ac73541ccd88de9ae94879966d1a1268c4b9e1bad512cea435d9d5ace892b3c9ac2d4156ca15b590ca221e709806fa98b47056063ec3e9d11800a025cb8a31abee9c85b97a3115e941522fa2394c20449a13f2166ec3e9d11800a025cb8a31abee9c85b97a3115e941522fa2394c20449a13f2166691799861b96c765e7e5f5e581773204e7e773eb024a0fda0cb149598eac2b3571c23af62aa92da801e26ff441a4362beabcc85d466076e1eccc7855b3e6a3ef71c23af62aa92da801e26ff441a4362beabcc85d466076e1eccc7855b3e6a3ef7441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec20ed31e8dd950cc4542eed190ea6877a2cec95657e27f88fa944831b1ddf7308e0ed31e8dd950cc4542eed190ea6877a2cec95657e27f88fa944831b1ddf7308e72ac0c3644075c05c676e8e75b62d303f689e0cd48aecb41d71f38a6d9c5b13a5ead423558be389856fed7b95fad9422c091c38a22774a20c8bd1b7dc7a3bb775ead423558be389856fed7b95fad9422c091c38a22774a20c8bd1b7dc7a3bb770e9a34e3cb861d68c4eb2d1f204ee6eda6956846e5ab0fc737d88a95f0b2f8c42e4b58c0a9253ec679ff1c0b3ffec7e6e7c041c33000bb9bed257fc8f2ffbf3b2e4b58c0a9253ec679ff1c0b3ffec7e6e7c041c33000bb9bed257fc8f2ffbf3b6a5dff1e03e0cf5ef1500cf5cf3a4b314b9512e98f3bbd9f49697d4cf1159f5f2d0f518ba00510f75321ca64584765ccf8e61085d2865e889e67acd07192f79e2d0f518ba00510f75321ca64584765ccf8e61085d2865e889e67acd07192f79ef18acfd00a58e9c6c9bb33c78c99f3365090e7159418a838f2dc75a3f64118615431239c24d94624def8ab58afc9b76b2ed5f006e297dc1e2cde5d2d027bfd9a5431239c24d94624def8ab58afc9b76b2ed5f006e297dc1e2cde5d2d027bfd9a3b4e7618851384ca594fbd19645f903bad824d91c983e634fb1d52cb6c6e83ace485e033dcd7860ca68641dbd0b50b4029e6b84ecec9436cf5dd87af74943144e485e033dcd7860ca68641dbd0b50b4029e6b84ecec9436cf5dd87af749431443babb5da98b9deefea2905e7053989c877e7f96d55a079de4e5e6a0ee7f80b7fd763ef2ec9f1ec0dbede687a8203143b597f2372410cb865b39ad9d3ed8263c0d0e0f1cc7dbb51046d2385b30022e061713c0d71a3b8f88583edc785c00890f36070f91b9bd9c71e360571cf15bb52944a9976b5c88d72b6cf74c9924cfea6a52338a94a66e6d206b047b928b39e1d76dba7339ac5f66e887d13c9e6da0acad92338a94a66e6d206b047b928b39e1d76dba7339ac5f66e887d13c9e6da0acad9c3ed3389cc936f1124ea464188f7ccc516918b0c6fc041d853c0ef0d958f4afc0160a9e96b54afb870b4347c86e037544578fd44311c1e95a2edc49cc25459c30160a9e96b54afb870b4347c86e037544578fd44311c1e95a2edc49cc25459c38112de0e27b29629dda0336ee497b07df3c8c8b9a57d5a756237e478d64f5e3960e0ed05f62dbb1cbe583f76dcc2fa70879686933c87289d101ee8e9b29ae5320d94e32dfb311287c7a1b3316c8129832d01cd35ce1757ef8e5e3fd9deb4562eaf68af0862ffcdeace692410f88fbec107458cb044c7af0d568fbc3deb886a2c6680e2fa3986ed3d50f35b0f2ed8cf72ae6ba51bc9c6b5f1d563113e641106ca6680e2fa3986ed3d50f35b0f2ed8cf72ae6ba51bc9c6b5f1d563113e641106ca72e522dc753316de0aaa447d1160c0cfe698fad75cd47bf1fbe03c81db669fa32c676e26d4d76a44d51e3bb72719ed55c22b54b8dede1d411d52c1fe23fc06792c676e26d4d76a44d51e3bb72719ed55c22b54b8dede1d411d52c1fe23fc06793ab78b6f2b9c45d03c356c02254340140a7ed5e2d1bbc5c0ab9d3cda949a7bff32635fb2e04cf2da8e51e833299af9bf67c329e2164fead565acc814271ecc3332635fb2e04cf2da8e51e833299af9bf67c329e2164fead565acc814271ecc336fbc7bf41b1e14a25b3df33877193555b0a0a70ca70a4b6a9632b12ef130c9f557ec1aa08dbaecb9b7d336df3c64d73e177e59ac7f98d7df3bf04c8bc0188f8157ec1aa08dbaecb9b7d336df3c64d73e177e59ac7f98d7df3bf04c8bc0188f812c2a04cc7e0673d46ac01b6492949b962f746fdfc51a4248a4a4be689b6888292c314982aef144e8d5c95011b3d06c228357d572ceb57900a7de4ae6620c57702c314982aef144e8d5c95011b3d06c228357d572ceb57900a7de4ae6620c57702f53d1512bf1c2de5454dd7a56b933eacbe8394de626b335869fcc243188bdce6fa71fc61c925d3f73955757f360fce2b5102e7aafb659f9ca24616e6603137e6fa71fc61c925d3f73955757f360fce2b5102e7aafb659f9ca24616e6603137e2656b171f59a625a381560ba8718aa14caa2386a968d156c0645a876738c4672f641b2c567f3b5a68f7b6f770ddfe6f47f3b80815cf0c0fcc135e1252cf8dd1ff641b2c567f3b5a68f7b6f770ddfe6f47f3b80815cf0c0fcc135e1252cf8dd1f8b0465d29d530670ede16d72b1f7a9e32b12f9ed804fed8395d0e172394fca1dda881033a46d841d55a56332a134cd95380c8896b64113f51b630418c8e898ebda881033a46d841d55a56332a134cd95380c8896b64113f51b630418c8e898eb1d8a2b6f33539126d7e133323eb3d970f5fe77d2ed62c34e63e4113dd7de84bfb891a85e790836ba424865fb65021bd8813f8da202124d3f05182fac6b402440b891a85e790836ba424865fb65021bd8813f8da202124d3f05182fac6b4024403799c399122574caeb34634035501e9dddf8bd0980d849f911c6c33971dc7f5a1ae5339e082b198c88ab0c6465329c12d634542aa59ad778e2f831252bc3ec04f773271225fc7b9112403b740e2289a8c807ade0e784036c2c37a75c36185214f3d65566d9fa330b808db45f8323f13f626c492b9c939147cd68b4c274e261512b1337979d5e1ebd1b0210c2db34783214c9b4999cb1ae146c415a6edf1a3be02b1337979d5e1ebd1b0210c2db34783214c9b4999cb1ae146c415a6edf1a3be02ced01a6837e736b54380c0f4cf1a2dddfef23d9e53db4be985a4caa39bf94579c7d6383396be0769ae3a0727190308a4fef1fb29605702b3997a76e6678ed409c7d6383396be0769ae3a0727190308a4fef1fb29605702b3997a76e6678ed40cba0ab8d0867c5c14d7abb6e17fe366d112d23cabf3d32cb0b4af09037e495a62f571ddb12da56c48bf521138c31e207f11caa3679118a07fa4751c56c5868fe2f571ddb12da56c48bf521138c31e207f11caa3679118a07fa4751c56c5868fef2618de8bd9ed4b722bb501aaa738fe87242944ac04efa7e74a23d05343dd8c589def86c5d9532fbab40fc9bfdfe2605303b6b84119ccf190776a8308724f459312d1d23d9592cce2efac241af3b4d8758595363644211edfa3032fb3d18137cf142b99b8ebcccdebaa589f1d88447ebf487f626bd1d853e8faa0d0e36a6e5d79566e5075d5fe9f4b536638940547a2d277fafdfc3e71a96dc6abe37f9b582449566e5075d5fe9f4b536638940547a2d277fafdfc3e71a96dc6abe37f9b58244aafb8e2315d625467c616af1ad3da3b0a635e788bc1d9728b0c3d4e9ea30fa4e4666b901a7ae21ff1dd5ccd9eafd7c523a211de7735ceed11feec34b4bca6f4f4666b901a7ae21ff1dd5ccd9eafd7c523a211de7735ceed11feec34b4bca6f4f61a13b9f59ab76d6566e680b70b4333ff354bcf73127a2720bf03e6bdc9dd0fa7ecc4d262ef8b5c815fd0d515b8f3756d2ffa3ccbeee2c3e43cf0a8e23dd92787ecc4d262ef8b5c815fd0d515b8f3756d2ffa3ccbeee2c3e43cf0a8e23dd927877231ee12e324157fe3ae2ec9d36904cc5e00ef3dd280c26184b499d573f2a9a2a6513c8ea7a5b5036ff027268b1fd628f3ef21a066ebc923c7417bc97013ea92a6513c8ea7a5b5036ff027268b1fd628f3ef21a066ebc923c7417bc97013ea956ba072ca4287b88caa6a3affc63126bfe4ff008a31c4bace3611df4e8d6384ef4bcf1e1da9829cf91b54ba4746ace8b2eb27b051be55a0110c63e72b2906400f4bcf1e1da9829cf91b54ba4746ace8b2eb27b051be55a0110c63e72b2906400ca4e4feb4780ad849768f23dc42c3a5324dc932c378c499c933789ec4c7d317063c9c223ea033a2eb7d93e96f418dca513b8c88227bdbf45154b925c9de9bb6663c9c223ea033a2eb7d93e96f418dca513b8c88227bdbf45154b925c9de9bb664a54adf317e8b9ebdd45f53d4db42f3f19ac677bf8b3a757041ef57273c6d389b56948c3d4b67bff1eca5707850a6c6be367759f6a36d5f2b000449731859bf3b56948c3d4b67bff1eca5707850a6c6be367759f6a36d5f2b000449731859bf3bf7814ec091dc8d1c531ff5b46a7d3bc5758efdc44e398a14745e238469846c15af224e13a24b76a2633b3162916e0a7bd43b9479ab96eb76702cafeb5e3a5835af224e13a24b76a2633b3162916e0a7bd43b9479ab96eb76702cafeb5e3a583d938709ef68727ab3758932b102f5ac1ac76f59207a60936bfd5e885c94f6f89fbed618acc1a8940f0649eba9955b6dc518537b4db4a518978cdc1551cfe04c3fbed618acc1a8940f0649eba9955b6dc518537b4db4a518978cdc1551cfe04c391d70dc4b47b5cd482c095f84c4aba62d6427ce670ff7205a58d14f09d62757ad8c17e9e0273e91678f472676adeb5f8da60666ac3630d53e222486aae410030d8c17e9e0273e91678f472676adeb5f8da60666ac3630d53e222486aae4100309620e08d69055a99a9bf592113ed0fe3558946be5218379e9e5d3392ee3d1da47332635308c8198f31e25d8ec8fea32daaa4070e8460b23caedbd9dd1a1071087332635308c8198f31e25d8ec8fea32daaa4070e8460b23caedbd9dd1a1071080c187c556c5c8d3f7291a5222c04cea3491fc19a05e507b9f62f99dc2c9b6ecebc2a6666a4ac483efc0b92ff53520dec9b21813d69195bc142bf84bf3b3d6addbc2a6666a4ac483efc0b92ff53520dec9b21813d69195bc142bf84bf3b3d6add207bb73042211b479b1897a599460b022dcb6b47ea68c997dbeb69863aa041768525293d83b3c4f9d7487c697190060884a312daa6f83f5c6421c9340b613d188525293d83b3c4f9d7487c697190060884a312daa6f83f5c6421c9340b613d186f3d6161a1fe6934eb5b0667079b608cc5c11e772e2977a16e52f33d6519c9ebda7ffa4b35426e0f56cd558262cd78d058d4561d52c3ecd63b327746e1e70a53b0fe3b17fcd438980965ee06f555af6cf11c81a9351172a656a0c9d12cd7b06f5c328ebf1c04b29359f084e98a3e5c99e7d4938c680243c9fac58d74c3180d3c580afa3fd6a988c76c1001988ddfd553ac6cf78032083d52f34ff9343ebb80d5580afa3fd6a988c76c1001988ddfd553ac6cf78032083d52f34ff9343ebb80d59b632738f8ffc536272d08149bf2b33b63cc55dd1652bf75e2a9b05d02b6ac565cc8fdcc57193b883a53e6394d3df1c6b792a85c90a54c350cf71cae6054aa6c5cc8fdcc57193b883a53e6394d3df1c6b792a85c90a54c350cf71cae6054aa6c801ece6468756f8ab62451cf1fabe60df37d9b29fc14201b683f2d33cd0ddd703867bac3f362b734a02210d674e8621bea0f425ec2c609eee042380138c687403867bac3f362b734a02210d674e8621bea0f425ec2c609eee042380138c68740262fb6b09f6ba0d1fe9d13e5e8b832e27a4671406f6543b8ab8e6790eb6c18e7e370874bc9541589ee36828e408ccad96b71fc47816381335513ac01eb2f00eae370874bc9541589ee36828e408ccad96b71fc47816381335513ac01eb2f00eab4817dcdc68131f537cd836f01d55fb88f5ddd8b8be8658261031381dea819075bc69f8280cb1456201c2896b282411c4478ed69790c2299c73a8a5bc01d90aa52c9ac138e228c8cd497b280ab065e22f575742305290e78dbc38e8f0f47da31f21cb7e5e29b5309fc0a232230d972c4c71a2b46c4e00a606d79cca47f30c73786e772eb00b812f3b4b567a87c33a4711de023c3e21d6873191ed47b8598452d86e772eb00b812f3b4b567a87c33a4711de023c3e21d6873191ed47b8598452dd46891c0694b3c97c599d3727cd9957f13e29362d372e95c1e4aa5e2833652765bfb567c1657ea9fefb338641caf76ecf6e4da6ae04757b8d9e2e9fc5cdbc92a5bfb567c1657ea9fefb338641caf76ecf6e4da6ae04757b8d9e2e9fc5cdbc92a215eea7c5ffdec783d8cd83a50b92d24bd0fa3367c2f8c658ec64e401fb2ff277251d168d35a71ff4a0d50b5bc6727b50198ded80b9a35a37c8b95c7e79fbf9cfbaa54f0b536cae2ecafd1b45272efb6fda9c2cf7b9b21d6fa5e3069c1edb21d0347c9b9c3bc9db8c250c122a92138b942a3dc46ca35f43491d4222a84d9752278518fb63ffd5759e11d2094451e71c3c64ae14d1ab0661f4afdb343504f3d8c78518fb63ffd5759e11d2094451e71c3c64ae14d1ab0661f4afdb343504f3d8ca6da408e6d4806c6979439a547cb44928ad0d7e064aacb2e819ecf7a9021e3f489cc74867ac43d73f7300942b7d6f2ab38e4c4b8ebfa7c0341c2776a9927b0c989cc74867ac43d73f7300942b7d6f2ab38e4c4b8ebfa7c0341c2776a9927b0c97c6003770937ffe433470c600c41568fcc898d7fb31bc47d9122dd92ae58eebbd37a7c04fa4490e4e123dcacd8c045ef0853fb3c06c8546b180179922d03adcafdb5fcb9cb5df60c500f7a82e663effd164fbd0d9d28c87c062b24096910c1a6b78e13723970a47880a572b5990908efe9ba208842f76145989d43a7d81150101874a51f2017ac28a339b21a77fd46e05e2d39d2cf8f778a7d6243daaae003d91874a51f2017ac28a339b21a77fd46e05e2d39d2cf8f778a7d6243daaae003d9c00fe049bfa01c85fe53cfb726256c0f811f5fcb419c65a9a9a7e405946b997db4d717dff39b95ac84346584c90f6e54a295f31587efd1f825443633516808f2b4d717dff39b95ac84346584c90f6e54a295f31587efd1f825443633516808f2c1fb62f7fdfc2b1a7b3883d771bb938a405ba7ae7326a19ec0930e44a2453e65f1fe52449c129427e087f429d6bbfea0c1c3f96f810450b5a712229489db3636f1fe52449c129427e087f429d6bbfea0c1c3f96f810450b5a712229489db36363a9f40f0de3f8cf383067d60b81ef9f089822b8e7b53b579b6bb14fe444acc890c7e8430581903468fe1debd3f1449b5a4ef64b329661a7d6927a5a98270c3610c7e8430581903468fe1debd3f1449b5a4ef64b329661a7d6927a5a98270c361fcd250498fcd5fba8b4c0c291ede8a038e63626578b5c51f3e47fa5751939bfa7b32593f9abd1d0e8f841c61e40bf4d7e438c2e4af735580b98ea092ac08470f7b32593f9abd1d0e8f841c61e40bf4d7e438c2e4af735580b98ea092ac08470fca15c296f5c4147946598f0358cb6a3dad14febecbc20a89ecbbcd20987941acf90dc62fe1bf720664fed8a91515cb4fe07b4c6499f8cccf486de156097bab3bf90dc62fe1bf720664fed8a91515cb4fe07b4c6499f8cccf486de156097bab3b3c645ad68a5cc72ea722778376466388b5e1ca9efb83ce00f6dce2bd0eaecb658b1fd7cc39b862ed7679334624b1ccd2142c738cda6a4ed343ff277598b5d0468b1fd7cc39b862ed7679334624b1ccd2142c738cda6a4ed343ff277598b5d0467db4eb01ce36c6fee3cdab5c35ed85e52b8835f7e07fe4dfeacb14f4b5c5525f50e06ed93c4f3fdf1bf7ba2446d3e8a346639c5b36ce1348d4f6842a57b2e6ac50e06ed93c4f3fdf1bf7ba2446d3e8a346639c5b36ce1348d4f6842a57b2e6ac9f223de6983fea713cd3e9c851d38736e3ae0ca3aebcabc328456b90f7b9bdf36075f0d0f356bf8a928a60fc1f60291a5fde7ec7e8d66b8ed6c0591ec2caccf66075f0d0f356bf8a928a60fc1f60291a5fde7ec7e8d66b8ed6c0591ec2caccf67b7e102e734f322de3c7eec6513b3c2d2d2663dce9845c2470768718eaba63a0265278af02da5d0ead692ab33384639bfc6dfe7b39b0439172b99adb93289434265278af02da5d0ead692ab33384639bfc6dfe7b39b0439172b99adb9328943485d23bf7b337d0dd6903e36b791f165c42fe3451107ea3f0a1ae1eb09aff1a72f90c8f0bb90fd154b1add207d1b9998cef716d4bb353190f72a25e3db583ec74f90c8f0bb90fd154b1add207d1b9998cef716d4bb353190f72a25e3db583ec74e74979808bdf00aed7c12fae8c878f49bc2735ca28b4a805b85a38e002b5453e9e4e2d60f9c944e85482a74465a38ea3947cde7967fac17a4c551ae890b03c682ef69fcaf15c3c88b0e6ef85ee4a8a7ab430c46de1b6fb2568f609860196d20ed640ba6c0109872688695a1c55194abf31f23096154e0dcf45b9578fc937a40328e05bad321c885f60fdd1fa222eb465e6b4fc80d5f0523fbd8c2b220c7b7c5928e05bad321c885f60fdd1fa222eb465e6b4fc80d5f0523fbd8c2b220c7b7c59def4788a8dde5bb7b2ee241341c7d5b49bec0d43c136aff945e46dcf12f103d0d76053109d112a39a4a4454cf00a7f86186f9df9673e1118daa561f9fcbcd9ced76053109d112a39a4a4454cf00a7f86186f9df9673e1118daa561f9fcbcd9ce26224a3742d7e3a18ea97317a796127642224060beee001d361ad22eb7ca4a1ffdcaad7e5616cb65f9191193b77c4df4f24020c3883fdee59212cf6bca1038e4fdcaad7e5616cb65f9191193b77c4df4f24020c3883fdee59212cf6bca1038e4fe8ef8801879ce0732586faa4f92e0cad6e74e5a01e5d3442f77e7713b9807313de913bee93f8879dd787624547dd6866eb5a0b0a637db8ad6430077d1b6bdb03de913bee93f8879dd787624547dd6866eb5a0b0a637db8ad6430077d1b6bdb0943070a8f245ca909f8128d94aff82559b5f9c10ca399eb774aa51b1a5dfb7ae79d5fd873995e3dd12bdca698408208138b21171e85bf4ea97f374b91153ce8b79d5fd873995e3dd12bdca698408208138b21171e85bf4ea97f374b91153ce8b5305a94e43fdd664d4b010a49ef6725b0f9e501c60824f976ce487685f007a1c02b4400a69f5f683bc501f1f533a15cc4515f191de130e1f8b3a3d8019480e5a02b4400a69f5f683bc501f1f533a15cc4515f191de130e1f8b3a3d8019480e5a6c792e1d760c882abce1d588fd041d52050083122a3ee42a13f819f817f4345301287f082bbcaf41abdff68af4c4d21a40bd064e30dd7cc37d3055645d16810d01287f082bbcaf41abdff68af4c4d21a40bd064e30dd7cc37d3055645d16810d4ca0f60c7f815f523b7974f613641a569f5a5cde0ddb6c8dc48338eead29dc498c782e10681f032dfc4c4b1f79c9c1a27e39d518634a69da37042067e4b1df638c782e10681f032dfc4c4b1f79c9c1a27e39d518634a69da37042067e4b1df63393a675aa5679bd726afd6f37dff1d57060653117d2c919aca8f5f2e424359e4dbda30995b55cb7ae5fdd8f0e27bf014bd8c6a02435a257e19eac33b4ba4b480dbda30995b55cb7ae5fdd8f0e27bf014bd8c6a02435a257e19eac33b4ba4b480a079304cfb4eb97990a912907cd12a26f14417ff5d39cb0e9b08e6fdec6a8f91ece625215fff04aab5f528c2f61f418d74c83919c90e6350aabdc9e093096da6ece625215fff04aab5f528c2f61f418d74c83919c90e6350aabdc9e093096da6e2a8477a7f49da9a81d40d93b6df5ae736452a32d5d8283e6baa7e8a2d416fc97b50a690812b81e21d171303c94fe82eeeb3899f3718fa06917e1910ddfbf0cc7b50a690812b81e21d171303c94fe82eeeb3899f3718fa06917e1910ddfbf0cc00db7970659a080505d9cf9814b13a25e77700826fe7cacae0391a826c2f3318048e9cc1487f0de57e448a7f98a19f9876ee3320376831342ec1c7be45a51108048e9cc1487f0de57e448a7f98a19f9876ee3320376831342ec1c7be45a51108be8bc190d4ba569dad81867df3bec72691bbfd0b8d196d1eae5a9343f0a743379464d15414b0b54f5ac37ee114702002911bd240e7c3a4d9f3734c66b5ad58c19464d15414b0b54f5ac37ee114702002911bd240e7c3a4d9f3734c66b5ad58c11ee1bcffb899a41b68f0289c5d86fb9187e05d878ad48591f64da40c092ad6cfdd30bf37b709ca9396e480528d12218b26700edc54e285cf109a6f51e82e206bdd30bf37b709ca9396e480528d12218b26700edc54e285cf109a6f51e82e206be9e9ce0be1f1d59bf210e15d0fdd606a5c746d35208226d6c3ab0e53684154d647f6c1c9bfa9d8e1c5843aff82e983ae94ad3511829a778106de3081e5e9457e47f6c1c9bfa9d8e1c5843aff82e983ae94ad3511829a778106de3081e5e9457edebdec759ca67d0fbaac4294030722546a178e6a4f6ebee7a804ca9e94e58cb5268c55996e92bd19c3836a025f5425b5d3065721d5d2bb7a972483d2a59dde8a268c55996e92bd19c3836a025f5425b5d3065721d5d2bb7a972483d2a59dde8ad60e78acfcf1b699dd4621f7fe6801bee14d0647d1bd015e4e23286d0a05b3d374334a090590d1a3a9cf1ed4bddb24b2660b5ffc89b1afa83d0243169716adb69188262719cbfa79b7bad2cffa62dfa7f5ccf876064958cbe85a6ed9b793ced4c471f62f6d7cd18a7ece19e9bfcdecb7e189e2b96c3f7ac5a27a83c66b7ca6ef967044fada70c8e03039296bdd234e25ff23cf3b5e3b5fecefb92a7628990e3f967044fada70c8e03039296bdd234e25ff23cf3b5e3b5fecefb92a7628990e3fcfe1f0fbade23f2f34199fde78a47b87bc086d2242d8fa73ade3062256931efce792c4f6512280d83533d692ef220843f3e393c90a7e17bf10dc466be2f9a962e792c4f6512280d83533d692ef220843f3e393c90a7e17bf10dc466be2f9a962506df1a2e4e7afc1412e071ad21bd6299157e35c9b14d17e44c53e3b963afe2ad4d05eba2211bfa83f869847f5a17dd1272a4f774f014c689c0f9ee06c411e10d4d05eba2211bfa83f869847f5a17dd1272a4f774f014c689c0f9ee06c411e10db7406b4bcb8d3e64594d2c770ebad117adb1122324805130055847b10bc752ee7b7816f163efee9adc71109a3c0a5a1e5020c1b007776a82a47a95eeeb38fd8e7b7816f163efee9adc71109a3c0a5a1e5020c1b007776a82a47a95eeeb38fd878d100e196977a9d966a1527894e2d688cc49aff88fae4d025d1d882094eca8faece8b9600e620afb2ec9d9d8796385cf1312a4b442a99a0ba1f141778a4476535ab49bb447acc802c12f0b91b9afc8b6770ba51c2bfa379bead952cce477fef13f9a6b96f172cbc234cf2a16d5792f829a2642c6c546bcdbeaac6e0e9c4c27406aa8f04859b64e3085b4698831bec09590bae2da48ac1b3a7a6665299d2714bff168c36f4b944731fb379f72dae84ed8379e9048a06d6a62a2126ceaeb5c80dd2b7e355c3ee9d26b8bd7533475144f6427afe61477658d8c7be342266f963f30dd036729062531b8496a46ba211d6ebe43595987fb5ad72dc5c5a3fbc5a755f0dd036729062531b8496a46ba211d6ebe43595987fb5ad72dc5c5a3fbc5a755f596c7714d5b08bb2a0274afd37ce7b4c369f608fed10d19dde2460210b582b733e894f0ccc56c283d2684ced5cd3078945f6f54a237cf5143ba06e1451c27e503e894f0ccc56c283d2684ced5cd3078945f6f54a237cf5143ba06e1451c27e5060cc12ddecb7ae7b40ec8f491171ea3cdecdc1f1ece0121db2841f4c3c0fe7b1fb6ab83fefc68a6923b30db4e978f325e652fe0e5e0261ad2f68e3e95b38db1afb6ab83fefc68a6923b30db4e978f325e652fe0e5e0261ad2f68e3e95b38db1a1e5d55ece402895534f80b2aafeb3b17755d3033c9fb70c40fb0cce6eeabe9d03068967f1269ce4664a14dbd6c6f2507e5e15c036c4099b144edca48b81a29fb3068967f1269ce4664a14dbd6c6f2507e5e15c036c4099b144edca48b81a29fb20ef43ce97aa940a4c26d2e8b9c28fcdb67460f5c5be89d4b19994242541b42e7c7445ae7c9027a5da1880cd893488c175249202c634482ea1f34a1c0ac053d57c7445ae7c9027a5da1880cd893488c175249202c634482ea1f34a1c0ac053d5d189facb11f8a0cbda120cdba62328da589e6e4385e52f9b4032fa262446bba848e61d0fdeb71a1420bfdf51be213c3428acdfffed357d3d9b406adcfa60b1bd48e61d0fdeb71a1420bfdf51be213c3428acdfffed357d3d9b406adcfa60b1bd12b936259f098f2675b1a2a757f5e97597669bfd3aec7d70905e3414564294e924c9121eba31f27f39697ff36057eca0aece48680d46d465b9a215c91f6f78ac24c9121eba31f27f39697ff36057eca0aece48680d46d465b9a215c91f6f78aceb85add9f92ff3455662a32136cf09703ebd7a8ab3e0542927a4c4c97623bbf1734b00e84eadad59bd320f93fdbf5982fc6c33bba9409fb8767316b96b74db21734b00e84eadad59bd320f93fdbf5982fc6c33bba9409fb8767316b96b74db21a37825ca347d0eb62fcfda8582992cf3a5acc314b816400882a545db172c85a5c28e6e12572e4f077a4e6188fc92653a4d314ea1f1ad3bc96b4e554031edca8ec28e6e12572e4f077a4e6188fc92653a4d314ea1f1ad3bc96b4e554031edca8efcec1c983d31e831efaf7e6ed4209a0e21f1a6a5a1145229ac2251d1d7e086ef61647b6a964536e884d9bce0364332f09cc41fbadddb6313284d7df2c6248d9b61647b6a964536e884d9bce0364332f09cc41fbadddb6313284d7df2c6248d9bf568c6ae1fcbf97f7437cb48ed3cd5ed4182eb5e6c485d3f965293e1258f9c5d370562f657f9cfc4690cdb825e6a9d81d7e1dc4b72f6c6511faf9d324af491b6370562f657f9cfc4690cdb825e6a9d81d7e1dc4b72f6c6511faf9d324af491b60d9dd767d4e6b78d6cc97cc9e82e4f7a34146ee2511ae1bcd006a4928568b16e20112b72cdd6e3c2919469a8550a6532867a7290f52cba82520bda720465b1d920112b72cdd6e3c2919469a8550a6532867a7290f52cba82520bda720465b1d9acc274cc10bdc8fdc0ec7a132dd5ebe27fb4c6b5c9b0a258f2172914b152a44c00dca334389f4f592cccae88540c8e77cca82df2bbd4e8f40455b78ddfc5571000dca334389f4f592cccae88540c8e77cca82df2bbd4e8f40455b78ddfc55710993c019f188e2ab6336a0c4ae078f78a2a7522b1cba4d1b36bc8b88194140b96b5010667e0884a851391cae11449e24c60948c9a1aa622306afb45a38e39c865b5010667e0884a851391cae11449e24c60948c9a1aa622306afb45a38e39c865143288bbe6bb35d70f47a5f8e7edfd993c2e5b90274ec033c4c75f9b3bc78e32d3e64041f34e899000fe68ac059932c829f076ed7472776832623cb8f9e17255d3e64041f34e899000fe68ac059932c829f076ed7472776832623cb8f9e17255c4d7c203668581f511f04514711a1c620e2f6bfaadb706f66125ecb99b724d6cc0618d9f26b6e107c98f00480dcb79fe64878ba1e503641e9e5e72b8070868bcc0618d9f26b6e107c98f00480dcb79fe64878ba1e503641e9e5e72b8070868bcf4e794184f8a11842f410cabd14b364899c0765efb7c6bfe1f620c4bfd24e7ce9882fc2182fbd6d1e47de4aea3bd730e837fe8b89d0e0a7fd5e49e6b56c38fe19882fc2182fbd6d1e47de4aea3bd730e837fe8b89d0e0a7fd5e49e6b56c38fe1daa455d5fb3a96602f0904568d5f942b397464f2d7aeca8b3cd0b1c5a8f98d04c8a5227680d11833e03475030e48700d7e75341d52b5257db0fbba1621e0507ec8a5227680d11833e03475030e48700d7e75341d52b5257db0fbba1621e0507e99f7e0363242c2656b3f19c2be8bfbbeb705ce9d8c75b453fb4d3d7305cf6004cefc715566b91d03a46fc2065ab3abaf36aed8224210f2ad7a88a9e9dd26460bcefc715566b91d03a46fc2065ab3abaf36aed8224210f2ad7a88a9e9dd26460b1a29508426812937d26ce8efd4e6a2c57b616098f9966a27f9af6af4d11d20a73047685454b8d1a26cb27ce045da6a85b1a8bcc83cc978240b4fc0f227286db13047685454b8d1a26cb27ce045da6a85b1a8bcc83cc978240b4fc0f227286db1982c9c44f4bf0ef94c81f2b53315af7ce0993d3bb50e9bb3fe711e0f26a3900f09d8af70e3034f7069900a0e6a9e9001c3cd98325644a9900568e7b2ff34826d09d8af70e3034f7069900a0e6a9e9001c3cd98325644a9900568e7b2ff34826da9f40d04e475bb452d445f5634523f8aabd91573718ae8187b056472063be357e111603a5d839d66558296f22f4c70d84916773c28d5f5fbf8bd0ba386caace9e111603a5d839d66558296f22f4c70d84916773c28d5f5fbf8bd0ba386caace9804f3a031c1783679719935cbfd9063f9a0393847055b8aeee2337378fb79835ee3affe62621f1ee617682599719d536b1e4cfdb967e3b533c9bf81a648770deee3affe62621f1ee617682599719d536b1e4cfdb967e3b533c9bf81a648770deaecf6ce0c0366f7306a94544f12d1759a84c208ff103406b9e82ce277ebf683f4937ace2dfe4d4479a09ee6edc5e68d29b506307a77b47b39dc81e07664a81cd4937ace2dfe4d4479a09ee6edc5e68d29b506307a77b47b39dc81e07664a81cd3fdc856cdd6883429f2f25d0d0c276b334154b4f855ddba3c1b9a51868e158c10713c7831b159382d82e80e6b5f9e444bcce9437abbdbe154ddfe5ec6a6654140713c7831b159382d82e80e6b5f9e444bcce9437abbdbe154ddfe5ec6a665414d0629f8ffbc7b16c150de28a2ef9f57e3def51ee642844b24826340c21936de14cd96e8d909d37a460417289a323af0ea31db3096f2ab1a4c9952598633b07824cd96e8d909d37a460417289a323af0ea31db3096f2ab1a4c9952598633b07828af7391305a2da76fba388cd3145ea1b3cf1d01ced3835743e07abaf9c789bfc5f9e5d532bc7c62872fcd9a0f034b3e95261693a0744289df910c62dd39df54a5f9e5d532bc7c62872fcd9a0f034b3e95261693a0744289df910c62dd39df54a701248590b0ef2151702cc926a5643b3e360c2ac9323aabdf3e81556d62df14f25ae1862175993a8f24e64d6ba0981bbc0234c68d39b2786581b7f6f0f53760525ae1862175993a8f24e64d6ba0981bbc0234c68d39b2786581b7f6f0f53760536544ab337df310ff8cead337a002a8331500bbc3901f2b007561de5cc9a273e20c82d9ed2ab1ae06dc98f5d81534696331d9807a1e4671e3782535df0c2979d20c82d9ed2ab1ae06dc98f5d81534696331d9807a1e4671e3782535df0c2979ddfd1cf36ca1ca77e164f6f6e1ffde208aa40d36dcb52fdbc03c59a5bf415d7df15853a7957eda68fa614bc4cec24dc3173e795b4950ee0f39f8d41c57ca21e5515853a7957eda68fa614bc4cec24dc3173e795b4950ee0f39f8d41c57ca21e55dd3943eb360ed222fb8f7bdef31bc033e0cd79a3d927084eef9c697c9ae23c6d51a515d22b6b256d0ce68a0c82b7ea8e79931d6240b58ad0fc4842a46daddb2551a515d22b6b256d0ce68a0c82b7ea8e79931d6240b58ad0fc4842a46daddb25b2825ea72f2a03499b073412114d8b13331548b52cd50c51c470a2c49a75f9db16f6fb615890e105c503f4745fda1783e74cb17b6ba8495cf876fe7fc8abfbfa16f6fb615890e105c503f4745fda1783e74cb17b6ba8495cf876fe7fc8abfbfa15326d40cb8b596266c1844b34d4e38dbd745d6ef5b13eafd998712b82f2c61c93cfdddc5ad2643af543e950a63dcd8fb238b2231f4ebb6f5127f0b0d704a4ca93cfdddc5ad2643af543e950a63dcd8fb238b2231f4ebb6f5127f0b0d704a4ca7b26ae55b657b6acb833424b7665230309df476f9622e85058f409943b8b80a09e239caf5f947f3c0871b491007722b70db92011099a1baca3afacbdc109df7e1a4f4092d889f2ea79ac66b358b7d4b7b768aefa6632ce3e02caf27207e0eb44e4adadedc4e88d8d267d3925521ee3c198f62a3e3045e4ed623e5c87da36b31e0edd115769b6451eafd1008a0242b9ac73be8e2a142ed20ae5f9fa5792fff58c0edd115769b6451eafd1008a0242b9ac73be8e2a142ed20ae5f9fa5792fff58c5a353b7d19ae329dc39d3da6bb069a1da1a8308046e427bd7a549bc5b76219ea157aa6236183f0f4a6665bc3a676ce71572dcb543bd7ca8d69119d2de1c8744f157aa6236183f0f4a6665bc3a676ce71572dcb543bd7ca8d69119d2de1c8744fdd80e87c9efe674fcfaffb1b618df39c65203eb9c797be197836004273fa4555880ef93641e926156311f82494a546945df1081dc4f4fcb407a852f29c2a281e880ef93641e926156311f82494a546945df1081dc4f4fcb407a852f29c2a281e65e49d441ddfbe86d1fff3b1a282922f4e07f5e6b2a1b7de267f5699187608676269d3616f4b36d25f90ffb231fcb6d1350901907f1c3020f0d940204963448a6269d3616f4b36d25f90ffb231fcb6d1350901907f1c3020f0d940204963448a180150ab3978a5bbcbf2865ad89a0c1321311476265639e80cddf62869c4b8d845fd6d3b17a38d7a769040fb17f3942fd58f0a973c8cea341f17965a55412e6945fd6d3b17a38d7a769040fb17f3942fd58f0a973c8cea341f17965a55412e69b973042479c329c201cc87836a24e5568ee1dcbe741d6b45ada1cd11aec8aaf315a265645466b258cd72be3f56d286880254f0bf64422f849a6b4fe0ea5f59f915a265645466b258cd72be3f56d286880254f0bf64422f849a6b4fe0ea5f59f9a4c758b519ca93c0fb91d9a1814f840a23dd4e5e627c1c2e30ad982293a4d8fcb6ddb260f02db0cec07537a154834bbfb77b20a7af1a99eb9218310c1662421cb6ddb260f02db0cec07537a154834bbfb77b20a7af1a99eb9218310c1662421ce4006446a570f3f42ab816522bc72669f84c95d61fbdffa1317b53678e1ccf22da0f50365cfa101313a5747e83ff6a9e78ec8cc1d369e7115310bad1e32c56e8da0f50365cfa101313a5747e83ff6a9e78ec8cc1d369e7115310bad1e32c56e89072ee06661189504acb6bf295480177c1dd1a7d44ff20cb713629988a4295f71ea8656fcd868350c2c11b85178657010f8840d03ac6915ff3f89af36e88df971ea8656fcd868350c2c11b85178657010f8840d03ac6915ff3f89af36e88df9766c84926284d2d1f4f37a8bb3b43a66b8b6009d36980e8b6f8f2d652d40a4cca8ff3cd3a3b89850b2a39238741893833772f0a094d965d1d4869925256191cd28ff3cd3a3b89850b2a39238741893833772f0a094d965d1d4869925256191cd26560e341ed77f740579a35f80bcf2bbdc511faa59a8bfec235821d05b815531fc8b7766948779cfb77ae08fa3ea05001cc092ad5592d32477b3dd43ef32cd090c8b7766948779cfb77ae08fa3ea05001cc092ad5592d32477b3dd43ef32cd09015c398426ddb0c2d85b234b24a588f9e96fd9f1ea4c139e4bfdb66ea852b6182bf2166306ce141db58d2658b6db72b5377a2a9ed4d4cea44939c676e33c8a73cbf2166306ce141db58d2658b6db72b5377a2a9ed4d4cea44939c676e33c8a73ca85cd43e69df6735f7fd9634939de891b9c87fead51730bb413ef97b9c9c952e36e9e13b8aa583d14190b39416119af16b03d4d750cb874765c8f9f56fc17aee36e9e13b8aa583d14190b39416119af16b03d4d750cb874765c8f9f56fc17aeef5ab2d240273ec7018f29b76744f53f1a4a5705d30202a9039c8646629680aee8382e75932f7c8799d09800291968cc001c9edea765cfed8314c473ce7157f6d8382e75932f7c8799d09800291968cc001c9edea765cfed8314c473ce7157f6def7c9321f199320e086079c9f764a65c7190ebd0597fc3b36a2fad682046d476ff245bf7c34a16df802ab10d18ecfb254d32820a844a701a4bf7f67b807fb558ff245bf7c34a16df802ab10d18ecfb254d32820a844a701a4bf7f67b807fb55810650bc71415cc963528505a4eff2c98095aa8c57ed661a0bee1bdb7a01b14021fac3aa796295494f09e8fe3d5d1fd024e968c16ed1086ceb3cc228949d89f2d1fac3aa796295494f09e8fe3d5d1fd024e968c16ed1086ceb3cc228949d89f2d4513bd466e148b8a133e28cf5074d557f9840fcf475108d710d58bc3eb9e4c507724eacead327a9c894761e74b862d13d775d7b8141f89b3652ced99080264e17724eacead327a9c894761e74b862d13d775d7b8141f89b3652ced99080264e19dd6a1cdba476f92309e836b0ec4f375bdbed4fddf67e6f4c0ebc7e0a87abb5dd74d5d03b89495d74a266b38fc47ab72f2c6b250f96f23691efa7a469bc27baed74d5d03b89495d74a266b38fc47ab72f2c6b250f96f23691efa7a469bc27baea0e172458723d3ef67433a86a336dd34555f0c0460525dfcec90427ddfd08e1900de7f654390e874a62e6cac6b2ea9658ebd1c1b86950b615358652495aa13ff8d6a208e9c29b10e72324678ad7680b8b238cff7be7ab5c7a77653c6b54d16e50cac790cac0fe262c36d94be3a10946384576f5ab534b135f0a3084e5f3e662c3d683601294bd264307eb308e95950f7b3d12536e925906dce1b786375ed4b2d3d683601294bd264307eb308e95950f7b3d12536e925906dce1b786375ed4b2d48c96b9ee40f1479a028ed9670b66bc3cfa7ffc10f0bc348bb964975d5a917f2b0133f1e1eedcc3c52e22fc9818e0cb276268f00e69759f90965a1699458f772b0133f1e1eedcc3c52e22fc9818e0cb276268f00e69759f90965a1699458f772376db4cf8539ad3256a0ff2cb9c7dbb25a3ddc0014814136cf6b0c3b13fdd4e1e1a7a27edf5292c8687d2e3134a7829615caf07b6e7ece920700aeb773363acde1a7a27edf5292c8687d2e3134a7829615caf07b6e7ece920700aeb773363acd5c3df0b0957edcedb30947fe7275ab161e7a206b41fc32d4d5ebcfa9e7a73fe5c5b5c863ddb94a438a889cb567b2d38f2a442760d502bb59639f900bfe8494c4c5b5c863ddb94a438a889cb567b2d38f2a442760d502bb59639f900bfe8494c43fdf844288f27f7b18c8ceda75714207aed20fabf532127bf300fc290a49127f25a53b1d1587113d717d7ada99440850fa932fb09fd74eb2c1ed3bb34321bfe025a53b1d1587113d717d7ada99440850fa932fb09fd74eb2c1ed3bb34321bfe008309481dbf409dc5a218e6eabf2cb2d6b37d680494130a04bd2a84b50b52ab19995e60cf910cd337a5c0dd489fbee99dd99b2994437360a8ffe1475311fadb39995e60cf910cd337a5c0dd489fbee99dd99b2994437360a8ffe1475311fadb3a961d4de1fc1021c97a00e3ecf159239440b746f00c95ae1b6d1b497590b92963317547caa72f5fb2f1dd813d005a24c23f548e5a038949d4ef605db0570b1f43317547caa72f5fb2f1dd813d005a24c23f548e5a038949d4ef605db0570b1f4276d8efcd1fa00da8cb0f41a78b5fd4976c77a776b0615f7753a3719cfd394af6bb9b5fdca0f684aeaac25f4dcc8d1027fc0f883f2a0b0a56751cacace6705686bb9b5fdca0f684aeaac25f4dcc8d1027fc0f883f2a0b0a56751cacace670568d4a1c09687d31042a05d0b0003d50841bad0cd1068d3f85ee42fe3849583bd570995325f5c051f131349426375dfcd87154cb63d1be8eeef75bed61b515b81e10995325f5c051f131349426375dfcd87154cb63d1be8eeef75bed61b515b81e179c1715909603177d7799356d21557add7117884fa6e47a06c84884894a7354972df8693d5465d5f20ab3b8b85d3777475dc50545c50e69309b30a8ee68485e872df8693d5465d5f20ab3b8b85d3777475dc50545c50e69309b30a8ee68485e879b408b2b831b0c1a76809d9f919bde5fc366cc65889cf64710e5518eea7acbd964cb9c0b46ed579b72f904cef682c5c4f5cd5843217f99185f11a7e3d8e2498964cb9c0b46ed579b72f904cef682c5c4f5cd5843217f99185f11a7e3d8e2498fccdd10de78b4223cbeb71d288d8ad530c75b99cb590d4ea068204f328217a6877bb9ea5e5358ee3751ef96016c605541ad9897d8da8fcd2357217e856801aab77bb9ea5e5358ee3751ef96016c605541ad9897d8da8fcd2357217e856801aabd91f3f8da496cce3a3ec42a3a722ceee3e9e37f0315ee6e9311a5e7c8d9f8f7ad5c3f20ff4ca16b00f640c8b82e4a6f8ec6752e4f258043da512e2436edca935d5c3f20ff4ca16b00f640c8b82e4a6f8ec6752e4f258043da512e2436edca9359957bdbe760ce2b232c65961c2a042a5a8c5e20632bc60a247ca2dfb3b5b599946ef04232b6f3cfae85bbaa62f33ab6d0b40ab3a1240676f458f56b06e81082046ef04232b6f3cfae85bbaa62f33ab6d0b40ab3a1240676f458f56b06e8108201fc4497b515de787b0610133cf99512239af3cf44c4e968ac19f1aafb11964c4f80a1ebf3a85c809b32bfd298ec4c1fe7bc002491325897a014c95418ad4d901f80a1ebf3a85c809b32bfd298ec4c1fe7bc002491325897a014c95418ad4d901f39eb732acf50f0e0b0d653731f0231d214f9ef353d7315392922e4cfacdfa6b9402aaebf38e6823cd69f92fd07bfe5840c64f508ec295e0be03eddb04a9a2909402aaebf38e6823cd69f92fd07bfe5840c64f508ec295e0be03eddb04a9a2905d29bb140d8dfa95f274883c593bb68d1ec875d4bc3f656a0be899076446a95f72241e817e9517f0f40fbb953320e47473fb2d35584ab34071562ab0d37ed57872241e817e9517f0f40fbb953320e47473fb2d35584ab34071562ab0d37ed5783b075b93eaba5de200aa68fe37a3e8eec0967d2e4c27a77b837ad30aa887067c75f516f61f0dc3cd77eaeb8f67152acc7c7aa53f35922a20ccc2d259f70e50a875f516f61f0dc3cd77eaeb8f67152acc7c7aa53f35922a20ccc2d259f70e50a87d683325d35a31ca326e430c0476563393804bef92475b6cbf0fc8ab4fd730d681f694987e71aae5686293bab8292384af5fb30c25dd3e1cb3043a949d48262d81f694987e71aae5686293bab8292384af5fb30c25dd3e1cb3043a949d48262de3807fc51214d35c0089dacf3a69b7e0d4d978df162f635639e5f813e5263f8bd507a2a6e5b990b04e046ed04e493bcfac268b912c7502edfe8d7fc9896f8419d507a2a6e5b990b04e046ed04e493bcfac268b912c7502edfe8d7fc9896f8419bee46b807e6809566874e09b00609ecfb913318735365526c653e7c9e78a78760b7c1c807550c82ae596a5db8d4d48a399fcbd493317d0246f2ccacc18f34e15bf1f20618ab5c008e24bac52a9e336bc22299401eabe5c87bdc40b826e585db551c1b52b832a4a91d27ec5330ee00e865d6a01cbb2b59def9e403a64acf42a742eb38855a2bad2224d18c4636dc7e6e173fd0307392e8e556936c1f84c94bd502eb38855a2bad2224d18c4636dc7e6e173fd0307392e8e556936c1f84c94bd50f2fffb7f8ccc0ca9350499765158d67d74fd674bc0eb6c2f0953ded0194c058bc3c8ba91a73f288a728e4e68b30ba9ebf3ff1ecf1bfc9099cb1d180164fa3b21c3c8ba91a73f288a728e4e68b30ba9ebf3ff1ecf1bfc9099cb1d180164fa3b2125fdc57c2ed724278753bfd25d361f2f2f8727dede1784ff512a72f38265634377ef7fecce1c07f95a0c57ecfd784aad9668a7042a04a4a0f175a86deebe451b77ef7fecce1c07f95a0c57ecfd784aad9668a7042a04a4a0f175a86deebe451bd7bbd3978f889074d620bb849e021bf06e4bc8a7cd10e054ffd726c79ab8ac493d11e1fd1d662d855446aa18650a6c3930389bfa664352dde71289ffd25a5af93d11e1fd1d662d855446aa18650a6c3930389bfa664352dde71289ffd25a5af9d22c7884424f3c5a2cd2c074ed2d43a55c6cc5a90fee76785e443d7cadeaf0e3276f901adc8c48b2bbcacfc5ff296c1fbc0db831424ba275754214b9b14c451a276f901adc8c48b2bbcacfc5ff296c1fbc0db831424ba275754214b9b14c451a32daa41ffaec698b966924a4cb2fdeab3f5874a73538b769481dfd31d396f2a754eeced92c8969d36e7809c11a317f4a08d555ec8046e82828e372c1944d0ca254eeced92c8969d36e7809c11a317f4a08d555ec8046e82828e372c1944d0ca296d5b30876b20c41125837e13f8725d2d7efedde3e655673edcc1fc98b8bdaa6aa4bcab335daf65e9fbb6f482be1e97c49fa0c30a459a8c6b726d1aef161c920aa4bcab335daf65e9fbb6f482be1e97c49fa0c30a459a8c6b726d1aef161c9206e901bd4e493590b96317bdd8555294f790ab3565b7d0f3b37d2fa69ebc2e96e6e8bc27c649402cd6d3b89188b8dc8423d1edf8d09b4215e5988f102b05408306e8bc27c649402cd6d3b89188b8dc8423d1edf8d09b4215e5988f102b0540830af82a1099884370e24bf55b9cb91de797ff753000ee59138b66199291cf32d911d90bfa8c1a5a6b1583d43b5424891cf2fa5797b7cf6a863fc81575fa5f169741d90bfa8c1a5a6b1583d43b5424891cf2fa5797b7cf6a863fc81575fa5f1697457ae9272acf3ee3b62332f456bbc3e6e6857d2abef41cd95c48440e4466f53cae43f10de4944d657e0e1a16239f94429d2dfc3bc86dac8ee2bc0eb0b73fe9878e43f10de4944d657e0e1a16239f94429d2dfc3bc86dac8ee2bc0eb0b73fe9878388499f6288e71a9a0b3691491c35e67caa3a497e8ff48d59b4a1b43748ed23c7f91c47d9ca39579bf447506956a47e0ea47bd470fda5584ad5510a27ad4a5237f91c47d9ca39579bf447506956a47e0ea47bd470fda5584ad5510a27ad4a5233395dfb1cc9b32e1abe34227572cc4a8bee00484182a4178d1f6a04391a8a6178484f4aae9d658098c40a4e6bedd55f69435362b20462f8e15308d1e61abcf208484f4aae9d658098c40a4e6bedd55f69435362b20462f8e15308d1e61abcf20acc704a2f238656db7b91c657f30060e1da92b53b657e53d513633ef77ac51a7200621dbc74c94b20cb6d06f7e7171405da4b1ff0649f91b54915927c6b647ac200621dbc74c94b20cb6d06f7e7171405da4b1ff0649f91b54915927c6b647ac0d8a81a2269b3b54b459d758187a0f7125284b482a680820379ee3c510cf9f93d7267b8edc981f33c53fa42d1c776d3899c591e148c47c2615cd7ad8b74b9f36d7267b8edc981f33c53fa42d1c776d3899c591e148c47c2615cd7ad8b74b9f36db529fbce3f56b6a90f1dc533707f6f6da7844d1f7b0a80702042617d6061090d44611d6441c42e1183d1d530ee43462a4d4148d826151d440cec80a79a0f2fdd44611d6441c42e1183d1d530ee43462a4d4148d826151d440cec80a79a0f2fd5b7ec58e8c6d933b1c0f09abf0ce806e8e6611352347b719b42f020bddd4cae3fe51f5d40023483a1a9e10f244681d2b59158428887a69e06ae758b872ebe471fe51f5d40023483a1a9e10f244681d2b59158428887a69e06ae758b872ebe471f027ab95caf3f2fe6e00c467ec518705f09fe75df8e2d134978a7433455dfb4e9b9138c1851a18f39e1e0a52f87474b144271c3d0ed4aab62ba69d1ecc12f4709b9138c1851a18f39e1e0a52f87474b144271c3d0ed4aab62ba69d1ecc12f4705f0fd027d7ed2d6458c3d5273646df6a283ceb282f3c7a10cdbf74d64a267152cf1150cda9d8d58c31d4d14f3b500bbc12197955bd5ba22ce56150f361c93226cf1150cda9d8d58c31d4d14f3b500bbc12197955bd5ba22ce56150f361c9322604acc1aecf350f9d1ee89760c4102aad0c3d913e87928d985295271f6b7fd046b1311fdf577f3193e29fe8f86719df65b1414c83b3ac5366a8459df754852a8eb1311fdf577f3193e29fe8f86719df65b1414c83b3ac5366a8459df754852a8e0a78234ad042d2798edc46f852692eaa72da802269028b89b7b2a45b2361339befedafaf831d5a3cca49ae7c09c5d42b2c878bed48544b51a4ab1c5e5f2ca61fefedafaf831d5a3cca49ae7c09c5d42b2c878bed48544b51a4ab1c5e5f2ca61f99b9895bcd7e42e2895222560c8c22b4ca1d6d7ee7f56e88ff183c4f984c026917798dd49d1cb292f63d42211eee394f7bbf8faa1b65a534572ff5d864d58fe117798dd49d1cb292f63d42211eee394f7bbf8faa1b65a534572ff5d864d58fe1dd147d53e605adb49b67911a5f40c703dd21fa3c6191017e595b50aae68eda61c4b4d989907c97e5afac47311de3f5b16538a7357a9a102d8063c26d9c442ca3f0925c49168c36e52309a8f70faaafb4940e9ecca04b24a350d60c6965e7a827253b848db7ffed9369fe831ec2977352f39ec6436a41ee3a18da9b73729095c4fec6f6d8b3445060f1e7b4c3848431f9d3b3a78fbba269b8950642bdec3d0e5efec6f6d8b3445060f1e7b4c3848431f9d3b3a78fbba269b8950642bdec3d0e5e01b8011e4f93b0d6b6902e81b095da389aa19dcb3e7779dbb11c55b820d5df9556a0b8775ae87284bfcfae7790189eea29de21eb238bb6ab4c695d88fa95e3c056a0b8775ae87284bfcfae7790189eea29de21eb238bb6ab4c695d88fa95e3c07129f41c65b809675ddf1fc1f01f6e0971c6c77966721ef01a153bb748d9e6956f432cd5385f064750f53fa4b21d18362584646e9ca38d7e75ca103322f7824e6f432cd5385f064750f53fa4b21d18362584646e9ca38d7e75ca103322f7824ee972a4c65beec0e487454f9c84291d567cdd0b523ebac01b94653f785056c9e34156a0d1319b9dbe7186f5927864bae011246eac83e3d215fb581e9c3dd3b2604156a0d1319b9dbe7186f5927864bae011246eac83e3d215fb581e9c3dd3b2604439b8c4a58a4432a0abcc52648a2c1a08d1720a6d301c5310d1a0586a59b0dfb7017b9ebc8f2456efda66a8a4a223c155f0456ada57d0061496464a00fd0a7ab7017b9ebc8f2456efda66a8a4a223c155f0456ada57d0061496464a00fd0a7a2d8c7f298390283528a2395751f0570ed090b0e845ebe3af1aa23daef8e026fe20a7efb4ab7292b3ff6b6ba1ff2b8b9eb420009a688d8f1b2ae86f885467fefe20a7efb4ab7292b3ff6b6ba1ff2b8b9eb420009a688d8f1b2ae86f885467fefe491172f02c08e68472027131ad17f6722dd1aa83023e8dbb0dbed864463e975721b1f56515ca5d1b7d272cdd572f6edfd3263628b4a5ae21ace4214d106c673a21b1f56515ca5d1b7d272cdd572f6edfd3263628b4a5ae21ace4214d106c673a707ac117a078da08190c4c5e27e1a3c28763b98b280f08c07e98e3c45d89867e782e32666933032bc6df9c6867b989a24e7a2e493a6be251f7ecdbcc3f923af6782e32666933032bc6df9c6867b989a24e7a2e493a6be251f7ecdbcc3f923af660702b9a49156c0eb20361e7d398997fdf6b7385f1394dbfc2a5e7f04d5ecb95557b4d90abc26b0fb190b48b0df51d341fffe12e8aaea3dd20b79750ec8bfef4557b4d90abc26b0fb190b48b0df51d341fffe12e8aaea3dd20b79750ec8bfef41e351960480bd1b76e7ac33ae1b7d86fd1ec80edb3e0d3f303783f1ee1a9005152707a80eb55546dba744e4d8ea34c48e6b643d6fa2fb62d7870717f853a290b52707a80eb55546dba744e4d8ea34c48e6b643d6fa2fb62d7870717f853a290bd313a9bac527b4bdd7d0f7a6a24a85da625c6dbbaaa8c3539743237728587ba8daff5f00b125b6212c30cfdfcd44d0ca2be2aa1313e8274964798e74d4d4fa12daff5f00b125b6212c30cfdfcd44d0ca2be2aa1313e8274964798e74d4d4fa125b383c2e5e3ffb8fcb8678c6863c03ece1db5be915af84403b428f15ddbf16920f5f6071d8b1c640a37c089b639b1302633fb5764bb114b84ed1fdbef785d90f0f5f6071d8b1c640a37c089b639b1302633fb5764bb114b84ed1fdbef785d90ff1fd62ac9f37efa70df8c5e141088f23773e6724ab5d6c359e61dccb911d408fa4b03eaef1e738a5741596644faf5d8a38638cbfd90283e5abd86c498a17aba0e4d3bfe92336847e76bffd558724f23f36572cbad41d32b4166f0836a974d3ab61f2d3a98f9244f275da75c3dd483bd4f581424b0054a1207a79057e9dfda7d5b3f83659516fae894193e0701bc12f449e292a8589502832a4dae23f7bd60400b3f83659516fae894193e0701bc12f449e292a8589502832a4dae23f7bd60400e0535f066457bdb699dfabe531ac26e037a12c51628e30bc61831375027720e1230148f75814972badcdd24585c201bfb277c9a80c5fb98a7c64b9c8d1ffc38e230148f75814972badcdd24585c201bfb277c9a80c5fb98a7c64b9c8d1ffc38e3fd4ac10fcccdaf6b359f7c43d2784aa9d81860880f4471641a6581976168c674d55e3cc2b405856b4c4e3db63c2de0ae54cef25b73062e2fdc844c73c9584e24d55e3cc2b405856b4c4e3db63c2de0ae54cef25b73062e2fdc844c73c9584e2cda6b19be53b7f455fd77488c41c73f9405ed7652c70a433dd42ec8f081c2532a53f32e66feb04404958694736d4f774dea6652c39e877ceb86f1ff7734c6f25a53f32e66feb04404958694736d4f774dea6652c39e877ceb86f1ff7734c6f257c25628bb6b1f6cd3a4356ea824cb669be7ac3e128f237d16320ca2856b2005483a184df35dbcc581b78d50732e618f9fafc245bd8094c957291681e7b58d4ce83a184df35dbcc581b78d50732e618f9fafc245bd8094c957291681e7b58d4ce4a9f5aab5b9110932ff16c02b7b69a9013a4aa56706ed2d100a07cb4e7bdf17004c4874ad14317a0d8de3a870b0ce9b62904a69f0c3ac3743692d657c13682da04c4874ad14317a0d8de3a870b0ce9b62904a69f0c3ac3743692d657c13682da229dc5b6b3ef33d9b1383b4927ccab1be56586a02bc6472417ec1c07630d2d3ba6d29db168b4204b8de34cf188feba3d53f8ee6118259e3781efd20fe16cf2efa6d29db168b4204b8de34cf188feba3d53f8ee6118259e3781efd20fe16cf2ef9a53395858ce9105d8ce48c82eb5c1b7d003f162ba2c5bfdd18536c84e4640c0edc0a023608c584f22edd562dfcf35cb39c15de051b78c842b0689c34559c16fedc0a023608c584f22edd562dfcf35cb39c15de051b78c842b0689c34559c16f2e0603063a1b6733bc7036df47d298530334666be0eff648b584d4530a9d11633e2f0381d76ed741967e0a1f4cc9916cb496262a91d701ae229162e864a106383e2f0381d76ed741967e0a1f4cc9916cb496262a91d701ae229162e864a106383b79c5d1bb4373d0d38846b56c3353f176f5cd20b31e5ca02ebd5f5f4bfa8cf8696eab6f7b1629617e80b431e8c9029366a9a39325ca470de6a13266530764d6696eab6f7b1629617e80b431e8c9029366a9a39325ca470de6a13266530764d6ae2517bba728a41f2aca5dde27072f2ae9361ac082c4bcb1c62d70b3012b01c9282b468c02628e4379b0f68bf7c028deac6c424b1cdf49f5d1ad6db39b633c18282b468c02628e4379b0f68bf7c028deac6c424b1cdf49f5d1ad6db39b633c183627ebd051927d6e3fc2cd668c565074162cafb5946c26ceae3c50079bb0442b085a1e639df6749a7f8e2d4994e04a38634232af133b3de191afb1c18b4b1397085a1e639df6749a7f8e2d4994e04a38634232af133b3de191afb1c18b4b13971ccb5d8c5ac2d52f4cfc846d48bfd1e1f5906de7b42ce13104ddb221d8c84994516c050db82cd83d62831e9fe4f2468a3acf5d5790b411ff837f7d096d50e084516c050db82cd83d62831e9fe4f2468a3acf5d5790b411ff837f7d096d50e08439d063c1f063e652b2dc7dfc735222ef6e877d49f3355a6b20cfa57d5f633ba8aa7dff461453d9b2697dc7a91c82d918d68ddf21e03538f9b20426e5586f3a37aa7dff461453d9b2697dc7a91c82d918d68ddf21e03538f9b20426e5586f3a3799e879485ecf9854e48028b247cfe6ef7cb93cc1460a10759dfe42fc65ef5964e1cf918211708b51d5dfb9b4c63c3b692879c194c56159780eb5c981d579c952e1cf918211708b51d5dfb9b4c63c3b692879c194c56159780eb5c981d579c952f89fe6c8c1422c4ce6cca9a21f9b43270febec39959de08c1d79f814cc8a47dc452fd07a9314ccf21468a0c9731d96e84ff3f68edbf6ef1149ef06fb81ecc8ac452fd07a9314ccf21468a0c9731d96e84ff3f68edbf6ef1149ef06fb81ecc8acca827887c7c3cff5df916f04877f5a3a4b72816afe32feb5fb13ef599f0d7d60ce864e22a945483535ee38da6415980ae5426d29d8e9efe1977ade5498f00d92ce864e22a945483535ee38da6415980ae5426d29d8e9efe1977ade5498f00d92857242bae2d39aba93d8fea3c49b7089c0563171b632a291258bb28c152e413c054d3b77a81041b780db805e6883a81451cae5da0d246da348e033cf8356bcb0054d3b77a81041b780db805e6883a81451cae5da0d246da348e033cf8356bcb0f9fe2d8780782513ee395565ba5cad1d9ed02e5214e72f7c97e2102ade1513c1705f3132b9c435b82beabd24870fbaf5fa33922d962442acfc0ddea1b20d2f42705f3132b9c435b82beabd24870fbaf5fa33922d962442acfc0ddea1b20d2f42ba4bb1013af882bacc31b916d13955f6562a80a95ead2da950bfd5101436db95524b04b4436939f9193e81e652cb97eae3eea723c7dc50ef8ec529f61cdd51fa524b04b4436939f9193e81e652cb97eae3eea723c7dc50ef8ec529f61cdd51fa33b7c1222cd9308cd59b3c3153405b0736159599bd7ccbfb56a5f3ce461eb163e8c1133869a793c3e34fbe15e1e82eb0b33f7d17e286739c7959211b48ca9902e8c1133869a793c3e34fbe15e1e82eb0b33f7d17e286739c7959211b48ca9902af8222afdc2fedaf7ebe09c2a70e8c09b46ee793dd37aeb58cd959c49fb1829ea4202a8ee855743d5ed3063b31899675fa47ba6e1777dca74ba31f04cee2d1bfcc5bc9b2c3b8008c6666fc633d7935da94ec48840f095a2bd7db7e1624236426e1e46806f42b93bbc3306cd2e61f2ae1b4b87a194eef03cce575025f8a017ebc976a33c011db06e96690e1a229f4bd442573d43772b8ef06ebfc11f7b7f84f1c976a33c011db06e96690e1a229f4bd442573d43772b8ef06ebfc11f7b7f84f1cf39f44a4679cd1caf07bde0c7cc764062945cc30376532b030814a8d1c0687bd44acdb293dc49b678a79507e49f676452d8987ef5564d910645b5f75f409944a44acdb293dc49b678a79507e49f676452d8987ef5564d910645b5f75f409944ae0a5c4c2deecd7a9181e90bacc1eaccc714170b151cb1cf4ad0f91af7451e899160c2ea33cf0e68eb529d3546c03aca434a88b8f22e8bf08618ec0bbc79d63df160c2ea33cf0e68eb529d3546c03aca434a88b8f22e8bf08618ec0bbc79d63df9bc27afebdf8dc26c3976bee2d33e5e48cf2dae3ec873b056cee8d06a26a0bb33c4f12c7e8a00fee74a73ff975e85d1fc984f42d813d249a2bc565543addcac63c4f12c7e8a00fee74a73ff975e85d1fc984f42d813d249a2bc565543addcac69a0fbb55004015fadc5e7c52d1a2ed4f6dc2f5cced59f99f402a0fc2e46619f21f77eec28518ca8b39582a17536ae378fbe6eb7c76887282a0c05d4a385b9cfa1f77eec28518ca8b39582a17536ae378fbe6eb7c76887282a0c05d4a385b9cfac4c89797d36a3129f28e9454de441753f98aac05ffeadf6c3a39f8a3fb13d238e2d89dc6bbbce772f60e9422d5595251e336d9424d0dd7fffa45fa8fb7443b514af8a462b9528688ea27707c5aa6b69636fe836e7708243f276b1c141054ef889284745e711edf665156e6bdff491c049197ec048f07ce00385723989dc851078b6945158539db2793beb5f986ca42e49e52f6f1ba089cb2c040307b9a61c95d8b6945158539db2793beb5f986ca42e49e52f6f1ba089cb2c040307b9a61c95d4cba08848306d919e5ba23639f0468378f2f4992482094524aa5df9338066bea2c5b1ae5f4668f7ed68c5c980f8663e4a3a17a67cd46c5d4f52336112213872c2c5b1ae5f4668f7ed68c5c980f8663e4a3a17a67cd46c5d4f52336112213872c745f484d75b9d0991e62ecd8f195e63e87bcc768bb514761931df49d39677705a88c1bd29e407393ff35026d7db81b127bb6fdbecc085a30393728c50b85cebfa88c1bd29e407393ff35026d7db81b127bb6fdbecc085a30393728c50b85cebf73366016cc72764f68f3aa34b6092d547258adbb4013d105cc08309c450a06d985076c7b9b3454b140c7f73508d4fb28c6c282c323f761580844b366f3e4161785076c7b9b3454b140c7f73508d4fb28c6c282c323f761580844b366f3e416179b8285183531187b894388d321eb368a96879cf425cf285e9d213c6bddecd45c13da7280707f9b4d99eb87c267be1b062b44789ac43fd9d263e58448364be40413da7280707f9b4d99eb87c267be1b062b44789ac43fd9d263e58448364be404bd9077a729996c6ba123fc3d80b5e766124205bbc47bbe5de3dd9ba87c3fe6b81baa24db1883837848c51b9cecb7efed0998e0f7f78a215d33f5e7183f94d0b51baa24db1883837848c51b9cecb7efed0998e0f7f78a215d33f5e7183f94d0b5577f44c5548efedade27ed61c80b7b453b0807d94c477585497cebecd563dc9648021fdcb5ad2d13a33b84713bcf2619ac8ea5820f07e59a032866df0104334c48021fdcb5ad2d13a33b84713bcf2619ac8ea5820f07e59a032866df0104334c4b7ffd754b12f882c30c366b60c5ee301b80379206d4e89a19c03424298ca6b9cd46e3b6240f049872f9cd8a181f797b1199e32be36e13f62b769b4e97ef23eccd46e3b6240f049872f9cd8a181f797b1199e32be36e13f62b769b4e97ef23ec9b88243d0b985a0679aa8c6e7d620e244e9ad68efffcf0f98461e7c4c4c1e2e3dd542733c66aa2a06e549b9eb15f8a2225605e08a92ba2f92acc420f3e7483e3dd542733c66aa2a06e549b9eb15f8a2225605e08a92ba2f92acc420f3e7483e34eb152a3e36ea71df4221ce06a04f54470604c799153375a6c159700f7298f6c4f2e19d112f741ae7f5d0a5ba5fb084085b30baceac195854cf5c20b64699ecf4f2e19d112f741ae7f5d0a5ba5fb084085b30baceac195854cf5c20b64699ecfb307a453da7044c3ca573bde840cb06bd29cb65e01f9d503850d07865f4f83fbd9026b43ef90d96f2ddc92abbadc67702a5ae928253ed8225d97f957fa016f9302ecd4248e82a436ef3468b06cbf62564c3bbb2ba46d1544b770af0ca58cfd40a926399c1c04c0be696cb2433b8b8c5994513007fa255b135bef7cc7f3cd943ed41292a75b0a230a0373740fee6eabad0634f6ce5cc6420970433c64ff746084de5e2637912d0af25e9870a7a174f04621df8fbdff914339cdcc7389410692c64097667ead7d69e4f774f0da1d169f6b0eebe5f978f051f217d7d874df38e8d4084284508dbb705ae7ac550cbfef385fe20d1edf978463f43cf4ed842a8f826ece8227a0959e669c4c46c5368c44e315678098a8d86f544d3569970158f0fcdc6c86e661ba9e3348a41470b6fd9760034bcf4125dad4a18c1c90877f999c56d66e093ed7370a9d922b79ecd232de61dc64d4f8b0711f560b69ec0b0d951d87b46e093ed7370a9d922b79ecd232de61dc64d4f8b0711f560b69ec0b0d951d87b424bd3ee133d8f4329460ae773f86c31761c92529de074cb647c47ae2209bda36bf724ca063de557313335f1982305c984ed88666471d1ad01a07e3bdc0ceea7abf724ca063de557313335f1982305c984ed88666471d1ad01a07e3bdc0ceea7ac06c6b91206fd00d65b475ef772c8041c7ee605e2f06fbf157855526f48fe9f66c2459add1c3a9e93de8e69075f6500ebeec10ce06d4661324c1b6faeca2d4cd6c2459add1c3a9e93de8e69075f6500ebeec10ce06d4661324c1b6faeca2d4cd6d83665108631f3d98f70877e54175c654f046a8e31696166cf49dab491d766956b05801e9ea650914e3eb79509c534a032a2c3ab0a0c6c4dee09f16c3c8fabc56b05801e9ea650914e3eb79509c534a032a2c3ab0a0c6c4dee09f16c3c8fabc4f32f5e5a82e6302b3f9118421a5d677d0d67d3a2fee344bc19c6093b961e8892d0c0ffb95caefeaf14678ec6c127cd83ab2c6865078a9474ff8c1f07555dea22d0c0ffb95caefeaf14678ec6c127cd83ab2c6865078a9474ff8c1f07555dea2f1b7624b689fc06e5f54e2762da9140306688cc5d75137a6596186031c59995305f3a7e9606be3f48469b3324c5c25d3a7da2e5b2968f6f4cfaeb6e1926fc6ee05f3a7e9606be3f48469b3324c5c25d3a7da2e5b2968f6f4cfaeb6e1926fc6ee037456edcb78c05f4e0e142c4d1a846d740e775b638383e227b60e06afd6c66937a8195e8fc405b433323fa4fc913c817f6d8321b00ec19180f467e762d3c99637a8195e8fc405b433323fa4fc913c817f6d8321b00ec19180f467e762d3c9968128613707c1926a9e05772a6a3af0b32d67665f04ba8e9193488fde2e2c9651256daf1c0f7a08e7f964e3c54ebda97d9b847568e66191c1eb301d970f1468ef256daf1c0f7a08e7f964e3c54ebda97d9b847568e66191c1eb301d970f1468ef536180fb621803c2606b2d96276cf777276fb421f653798fd6173ccdef659ef1cc3a9eaf4a9e98e260ee73af949680e4e96ecd9b28072426099fe4134aca48a2cc3a9eaf4a9e98e260ee73af949680e4e96ecd9b28072426099fe4134aca48a20c6e58e310f78802fd09f854c6f433b4decc3b07c8a28e1df2d76db718bbf553ecf11104daa8911d05b0bf5767b716327c2824ffc164039cf92e6e1a8ce4478eecf11104daa8911d05b0bf5767b716327c2824ffc164039cf92e6e1a8ce4478e9d1b69236bf74e002591883dd3e02e33d18747bea25b6869abda3de25031c4655fa4e53678cf833caf1a4344a858443b29a81857b27e9782bd1aade2dd52d75af94ccdd8e32b065e2f0261ad71ea44b4c520fb41aec448bef4bee9f5ca0f83b2b342fb5926095802e45c435cb17045c012002f077d92dccfcd747f53e46370ab73f83494a6f86ccc6cec1bdef4508663462f50ccd975bc46bdacfb6c1dfe522873f83494a6f86ccc6cec1bdef4508663462f50ccd975bc46bdacfb6c1dfe5228bf45872bf8522d21220aa017d4aa9f75e754fba005bdd1e7bf71d9db2e4624769cbc34c22c4bdc833b7b3037ab9dee3096a6ac7e9c1c9ee23cc2b21e9591d51c9cbc34c22c4bdc833b7b3037ab9dee3096a6ac7e9c1c9ee23cc2b21e9591d51cebd8846683f70bec3bc6ce5e7238965a1ed26bc2b1f58edc4ad194b0bde9488ac6e53952e8f0b6e8de9fedf8cbbb90a7ac6b2d56d04ba7c40b4cb1e713ef92fec6e53952e8f0b6e8de9fedf8cbbb90a7ac6b2d56d04ba7c40b4cb1e713ef92feb68cff174b248dfd11a90ac38de757c6f102a42627b6242202022c7069e427006b4019270ef399d95193ce6b79341d506b0c5ace540a6cdc504203780523d0466b4019270ef399d95193ce6b79341d506b0c5ace540a6cdc504203780523d0467aaa7af08b12d0df319a6aa368beb0b37fd846634fcba335b0584a6ee1e66ede22325969a5605f2fb581325e925e909dd0b985acebb01691b567ee9c5729f76622325969a5605f2fb581325e925e909dd0b985acebb01691b567ee9c5729f7668f965c3ad3a196847010cc41632bb82b2db2f0531f96bf634ad2efc2b281244ba8a52a481de03bddc6e9c15eda8b6f92b3e504ae063db80a4ea4946f0f72c767a8a52a481de03bddc6e9c15eda8b6f92b3e504ae063db80a4ea4946f0f72c76758b4ac34a9fe736f02f539184c2040e202efef69407481c381d62698829d5c86c3e820d5a86182d0fd9c299bc69fb4c67e6c42cdc0feced390590ae296a87ab9c3e820d5a86182d0fd9c299bc69fb4c67e6c42cdc0feced390590ae296a87ab959c511baa81c7991d56d7c46dc1a5ad2c8931dd940876d4e0b11edf16057bf3b8df9a78074ada4593d73c1a666d9b0435af0381a85f959deef7e51dd071d6e2c8df9a78074ada4593d73c1a666d9b0435af0381a85f959deef7e51dd071d6e2c1aaf4d05fb5b22720924f9bc0285b08236934339a10cb12ef59d6f6f932ea5e80b640c27fe8ecde9523a81e975802ce01e522e5cec4cb3ae7807364d29dbfeea0b640c27fe8ecde9523a81e975802ce01e522e5cec4cb3ae7807364d29dbfeead02050b05a685e5d3915263ec629280dbe13205bc2d7a3968b6efd0c785a53e228e8a028f4dd5f06b173c07a6098e2caee71b41d36a63b97182cbf9cae69440e28e8a028f4dd5f06b173c07a6098e2caee71b41d36a63b97182cbf9cae69440e306184dcc4544bd19beddcf8398081727544499c4ea0db48997887832ff74307ea3b1aedfcce28a996140546a8328381f3ab3852d28be326875c6b8a0e02d961ea3b1aedfcce28a996140546a8328381f3ab3852d28be326875c6b8a0e02d96176ce669b2d482275dbc25cab23ee434291d85643f126982dab8540178f7b43ca8cd72891e1adda21bac445c71d2f7a986af4e178a2e71b12d365f339a1505dac8cd72891e1adda21bac445c71d2f7a986af4e178a2e71b12d365f339a1505dace3e7dcf5786986019821abc6d0610a4d17d777120af03219fe45b4765b6ba183478cba2b1603bea47d2298b4845fea91ecb46a9d3916d1d889d21c6b261d2c22478cba2b1603bea47d2298b4845fea91ecb46a9d3916d1d889d21c6b261d2c22707465c8ddf0edbe2743e1b868cf23b797978f4b49dfa104fff7362535e8d423fca22dda45a365c8bfeedeb675c0e2d0f446bb672b3dc080aef2571e6c755f8ffca22dda45a365c8bfeedeb675c0e2d0f446bb672b3dc080aef2571e6c755f8f08e6dae5b10fbb576629840325c04640bed5ebc3679efbb73420e3d321432d939aa89a9b9f0faf309d9b2c872ba5561d294aec15a7d04428afa4f325aa2c89a19aa89a9b9f0faf309d9b2c872ba5561d294aec15a7d04428afa4f325aa2c89a16965fc335f727da8d47e39447af5bd2c9abfa729d10cb4486f20c3e3ecf23837c2a2eba2a51e96064bd963cd2d920c6384d83059e9148e8131315a4b2d568df4c2a2eba2a51e96064bd963cd2d920c6384d83059e9148e8131315a4b2d568df45aec8ca9410514f51c5b44d75083476e1a483a07fdaa010514d0abe517d21ac29fc1f50b04f5f9e38fe8cccd4739c817e9082c35f48a15645c51d3241218d2999fc1f50b04f5f9e38fe8cccd4739c817e9082c35f48a15645c51d3241218d29994149226fb8cba00eef3d220a68404379cc2a9589381bb66ce04d6fce5536796888d077ef6432eb8a2dcbb18df28be3507be73c56e3215e2f70ef6ebc762b00d59081f1a7ca7dee0416b7850a3779ebf6c1485a28e3f6116f064380036311115cc75015e6749c28dad05de33dcb04635608e43c0bb2d68c38f77164ec263f18bd069b59c66bb0de9cf7681cd52163bb6fc3ad6cf69d729e7f8e22b08b50d503780506b28f8803249834c9ea6fed0b9b8750bbf77ffd05fdd2d3c45e7152ec6e6a7a59144ceba97ecabbac5c5104d977a4d3983760a3f016653fb7e0d76d3d1d2ccf34d67b3d36adababb5dd43ec1baac7f7223717eabed05aa754e23a33f72cfccf34d67b3d36adababb5dd43ec1baac7f7223717eabed05aa754e23a33f72cf398ecd119b0a18fec465d583847fc56ed5c3bee6f1d9f3685944ea790fe2cc4112f047b3ec5bd6b80053cb4af939bff7710f9a5b4b6de6c905be7f31f19643a212f047b3ec5bd6b80053cb4af939bff7710f9a5b4b6de6c905be7f31f19643a2163598acb8a637d0d8cc928d5ae66d9a814d3916f91114b34658f7328b7fcaa9126bb14ecc59e88e39276f1cbd0f818732b96d5b859d4563067e5c1c89679de7126bb14ecc59e88e39276f1cbd0f818732b96d5b859d4563067e5c1c89679de7dee4124aa11516e7dcd9baf53c0d3bab33707975028b667238b98e4247375e23fddefc9e69867af8d935d1561584fac694db18495517f5b4c7c4ea6ce3f330b4725001dd71279f51d6b6456c408d416974e8aac9e6a98475506715db0bc80ba9ee98df7691fdab030d39a237f6c6131341459b8de8605782f3730811b8239fc9f104f5d68c3ab8309a8381982f64f7f840ff3cd28abfcafeaf12bf3afada35ab1b2fbd40937805c7784d7a8f0b910356685eb5c7f1501bee29b6810b74be6d251b2fbd40937805c7784d7a8f0b910356685eb5c7f1501bee29b6810b74be6d256678b08752b37db6f814e73eaaf15b5b2870abbceec25cfd88ee0a91df5f97615b1f8b9ed46b02fb5efe2abcfae5395a7a1974ae499a361e5c29bb927988fdbb5b1f8b9ed46b02fb5efe2abcfae5395a7a1974ae499a361e5c29bb927988fdbbc9eb1b30a52546d96481831c9de616bf2de5b3f03334e2346f9390b354bf206325b6a023c94b58322ceabd14e349b774f0a982699ea12f88ee97d1a114a979b525b6a023c94b58322ceabd14e349b774f0a982699ea12f88ee97d1a114a979b5488565b025c9798490e71b306e8807bbe104c6d8261ee6efeabcdbed76a38cac59b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17e6af2c12335957c724401e88bf7dd28dd3dbeaa1f2a7cd409969d6b4b763e62186af2c12335957c724401e88bf7dd28dd3dbeaa1f2a7cd409969d6b4b763e621828c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12af8e7334cbdf220993818f415cb5f86e3dd818976086beda7c2d09b70a647082968e7334cbdf220993818f415cb5f86e3dd818976086beda7c2d09b70a64708296d2fee24a21d474e0d41f0b2c823abba8992357862031e92b39af0d03d16123e5896dce030cd3dc21b9b1d87a19f3b0a5935f350702f6583ff0ba0332c3697b71896dce030cd3dc21b9b1d87a19f3b0a5935f350702f6583ff0ba0332c3697b714a9e6ce96f4040f71201b08f987dac853b1dab442e7599bf3951b309d81c98f37c271502ed2452e67055898b1850ed1d5efe8380f54afa89523c1d3166569cba7c271502ed2452e67055898b1850ed1d5efe8380f54afa89523c1d3166569cba9152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70f72f6cbd7dbf731c6b18b91364803144febf51d44c3cf515c500dff961dbbdfc74841a313c66035dc54b72225bde8b2e91723f9fc561547dd8b1d9e4cdc3c5e274841a313c66035dc54b72225bde8b2e91723f9fc561547dd8b1d9e4cdc3c5e219cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcbpython2-configpython2.7-configpython2.7libpython2.7.so.1.0python2.pcpython-2.7.pc../../libpython2.7.sorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-base-2.7.18-lp152.3.21.1.src.rpmpkgconfig(python)pkgconfig(python-2.7)pkgconfig(python2)python-develpython-devel(x86-64)python-testsuitepython2-develpython2-testsuite@@@@@@     /bin/sh/usr/bin/pkg-config/usr/bin/python/usr/bin/python2/usr/bin/python2.7glibc-develpythonpython(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.7.182.72.7.18-lp152.3.21.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@ZFusion Future Fusion Future Fusion Future Fusion Future Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Matej Cepl Tomáš Chvátal Matej Cepl Matej Cepl Tomáš Chvátal Dominique Leuenberger Matej Cepl Matej Cepl Matej Cepl Matej Cepl Steve Kowalik Matej Cepl Matej Cepl Bernhard Wiedemann Matej Cepl Matej Cepl Tomáš Chvátal Matej Cepl Martin Liška Matej Cepl Matej Cepl Matej Cepl Matej Cepl mcepl@suse.commcepl@suse.commcepl@suse.comTodd R Tomáš Chvátal Matěj Cepl mcepl@suse.compsimons@suse.commcepl@suse.commichael@stroeder.commliska@suse.czpsimons@suse.comnormand@linux.vnet.ibm.comnormand@linux.vnet.ibm.comtchvatal@suse.comjmatejek@suse.comjmatejek@suse.commpluskal@suse.comvcizek@suse.comjmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comrguenther@suse.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.commeissner@suse.comdmueller@suse.commichael@stroeder.comschwab@suse.deschwab@suse.dejmatejek@suse.comdmueller@suse.com- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch. - Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686). - Add CVE-2020-26116-httplib-header-injection.patch fixing bsc#1177211 (CVE-2020-26116, bpo#39603) no longer allowing special characters in the method parameter of HTTPConnection.putrequest in httplib, stopping injection of headers. Such characters now raise ValueError.- Renamed patch for assigned CVE: * bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch -> CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user modelamb20 1634750401  !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefijmnopqrstuvwxyy{||~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffhijklmnopprsttvwxyz{|}~      "##%&&())+,-.//122455788:;;=>>@AACDDFGGIJJLMNOPPRSSUVVXYY[\\^__abbdeeghhjkkmnnpqqsttvwwyzz|}}      !"#$%&'((*++-..0113446788:;<=>>@AACDEFGHHJKLMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuvwxxz{{}~     !"##%&&())+,,./0122455789:;;=>>@ABCDDFGGIJJLMMOPPRSSUVVXYY[\\^__abbdefghhjkkmnnpqqsttvwwyzz|}}      !""$%%'((*++-..0113446779::<==?@@BCCEFFHIJKLLNOOQRRTUUWXXZ[[]^^`aacddfggijjlmmopprssuvvxyy{||~      !!#$$&'')**,--/00234566899;<<>??ABBDEFGHHJKKMNNPQQSTTVWWYZZ\]]_``bccefghijklmnooqrrtuuwxxz{{}~~2.72.72.72.7.18-lp152.3.21.12.7.18-lp152.3.21.12.7.182.7.182.7.18     python-configpython2-configpython2.7-configpythonpython2.7Python-ast.hPython.habstract.hasdl.hast.hbitset.hboolobject.hbufferobject.hbytearrayobject.hbytes_methods.hbytesobject.hcStringIO.hcellobject.hceval.hclassobject.hcobject.hcode.hcodecs.hcompile.hcomplexobject.hdatetime.hdescrobject.hdictobject.hdtoa.henumobject.herrcode.heval.hfileobject.hfloatobject.hframeobject.hfuncobject.hgenobject.hgraminit.hgrammar.himport.hintobject.hintrcheck.hiterobject.hlistobject.hlongintrepr.hlongobject.hmarshal.hmemoryobject.hmetagrammar.hmethodobject.hmodsupport.hmoduleobject.hnode.hobject.hobjimpl.hopcode.hosdefs.hparsetok.hpatchlevel.hpgen.hpgenheaders.hpy_curses.hpyarena.hpycapsule.hpyctype.hpydebug.hpyerrors.hpyexpat.hpyfpe.hpygetopt.hpymacconfig.hpymactoolbox.hpymath.hpymem.hpyport.hpystate.hpystrcmp.hpystrtod.hpythonrun.hpythread.hrangeobject.hsetobject.hsliceobject.hstringobject.hstructmember.hstructseq.hsymtable.hsysmodule.htimefuncs.htoken.htraceback.htupleobject.hucnhash.hunicodeobject.hwarnings.hweakrefobject.hlibpython2.7.sopython-2.7.pcpython.pcpython2.pcMakefile.preMakefile.pre.inSetup.configSetup.localconfig.cconfig.c.ininstall-shlibpython2.7.somakesetuppython.otest185test.dbSine-1000Hz-300ms.aif__init__.py__init__.pyc__init__.pyo__main__.py__main__.pyc__main__.pyo_mock_backport.py_mock_backport.pyc_mock_backport.pyoallsans.pemaudiodatapluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24.aiffpluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudiotests.pycaudiotests.pyoautotest.pyautotest.pycautotest.pyobad_coding.pybad_coding2.pybad_coding3.pybadcert.pembadkey.pembadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pybadsyntax_nocaret.pybisect_cmd.pybisect_cmd.pycbisect_cmd.pyocapath0e4015b9.04e1295a3.05ed36f99.06e88d7b8.099d0fa06.0ce7b8643.0efa5f9c3.0cfgparser.1cjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtcmath_testcases.txtcurses_tests.pycurses_tests.pyccurses_tests.pyodataREADMEdecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdoctest_aliases.pydoctest_aliases.pycdoctest_aliases.pyodouble_const.pydouble_const.pycdouble_const.pyoempty.vbsexception_hierarchy.txtffdh3072.pemfloating_points.txtfork_wait.pyfork_wait.pycfork_wait.pyoformatfloat_testcases.txtgdb_sample.pygdb_sample.pycgdb_sample.pyogreyrgb.uueieee754.txtimghdrdatapython.bmppython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.xbminfinite_reload.pyinfinite_reload.pycinfinite_reload.pyoinspect_fodder.pyinspect_fodder.pycinspect_fodder.pyoinspect_fodder2.pyinspect_fodder2.pycinspect_fodder2.pyokeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemlist_tests.pylist_tests.pyclist_tests.pyolock_tests.pylock_tests.pyclock_tests.pyomake_ssl_certs.pymake_ssl_certs.pycmake_ssl_certs.pyomapping_tests.pymapping_tests.pycmapping_tests.pyomath_testcases.txtmp_fork_bomb.pymp_fork_bomb.pycmp_fork_bomb.pyomultibytecodec_support.pymultibytecodec_support.pycmultibytecodec_support.pyonokia.pemnullbytecert.pemnullcert.pemoutstanding_bugs.pyoutstanding_bugs.pycoutstanding_bugs.pyopickletester.pypickletester.pycpickletester.pyoprofilee.pyprofilee.pycprofilee.pyopycacert.pempyclbr_input.pypyclbr_input.pycpyclbr_input.pyopydoc_mod.pypydoc_mod.pycpydoc_mod.pyopydocfodder.pypydocfodder.pycpydocfodder.pyopystone.pypystone.pycpystone.pyopythoninfo.pypythoninfo.pycpythoninfo.pyorandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyre_tests.pycre_tests.pyorecursion.tarregrtest.pyregrtest.pycregrtest.pyorelimport.pyrelimport.pycrelimport.pyoreperf.pyreperf.pycreperf.pyorevocation.crlsample_doctest.pysample_doctest.pycsample_doctest.pyosample_doctest_no_docstrings.pysample_doctest_no_docstrings.pycsample_doctest_no_docstrings.pyosample_doctest_no_doctests.pysample_doctest_no_doctests.pycsample_doctest_no_doctests.pyoscript_helper.pyscript_helper.pycscript_helper.pyoselfsigned_pythontestdotnet.pemseq_tests.pyseq_tests.pycseq_tests.pyosgml_input.htmlsortperf.pysortperf.pycsortperf.pyossl_cert.pemssl_key.passwd.pemssl_key.pemssl_servers.pyssl_servers.pycssl_servers.pyossltests.pyssltests.pycssltests.pyostring_tests.pystring_tests.pycstring_tests.pyosubprocessdatasigchild_ignore.pysigchild_ignore.pycsigchild_ignore.pyosupport__init__.py__init__.pyc__init__.pyoscript_helper.pyscript_helper.pycscript_helper.pyosymlink_support.pysymlink_support.pycsymlink_support.pyotalos-2019-0758.pemtest_MimeWriter.pytest_MimeWriter.pyctest_MimeWriter.pyotest_SimpleHTTPServer.pytest_SimpleHTTPServer.pyctest_SimpleHTTPServer.pyotest_StringIO.pytest_StringIO.pyctest_StringIO.pyotest___all__.pytest___all__.pyctest___all__.pyotest___future__.pytest___future__.pyctest___future__.pyotest__locale.pytest__locale.pyctest__locale.pyotest__osx_support.pytest__osx_support.pyctest__osx_support.pyotest_abc.pytest_abc.pyctest_abc.pyotest_abstract_numbers.pytest_abstract_numbers.pyctest_abstract_numbers.pyotest_aepack.pytest_aepack.pyctest_aepack.pyotest_aifc.pytest_aifc.pyctest_aifc.pyotest_al.pytest_al.pyctest_al.pyotest_anydbm.pytest_anydbm.pyctest_anydbm.pyotest_applesingle.pytest_applesingle.pyctest_applesingle.pyotest_argparse.pytest_argparse.pyctest_argparse.pyotest_array.pytest_array.pyctest_array.pyotest_ascii_formatd.pytest_ascii_formatd.pyctest_ascii_formatd.pyotest_ast.pytest_ast.pyctest_ast.pyotest_asynchat.pytest_asynchat.pyctest_asynchat.pyotest_asyncore.pytest_asyncore.pyctest_asyncore.pyotest_atexit.pytest_atexit.pyctest_atexit.pyotest_audioop.pytest_audioop.pyctest_audioop.pyotest_augassign.pytest_augassign.pyctest_augassign.pyotest_base64.pytest_base64.pyctest_base64.pyotest_bastion.pytest_bastion.pyctest_bastion.pyotest_bdb.pytest_bdb.pyctest_bdb.pyotest_bigaddrspace.pytest_bigaddrspace.pyctest_bigaddrspace.pyotest_bigmem.pytest_bigmem.pyctest_bigmem.pyotest_binascii.pytest_binascii.pyctest_binascii.pyotest_binhex.pytest_binhex.pyctest_binhex.pyotest_binop.pytest_binop.pyctest_binop.pyotest_bisect.pytest_bisect.pyctest_bisect.pyotest_bool.pytest_bool.pyctest_bool.pyotest_bsddb.pytest_bsddb.pyctest_bsddb.pyotest_bsddb185.pytest_bsddb185.pyctest_bsddb185.pyotest_bsddb3.pytest_bsddb3.pyctest_bsddb3.pyotest_buffer.pytest_buffer.pyctest_buffer.pyotest_bufio.pytest_bufio.pyctest_bufio.pyotest_builtin.pytest_builtin.pyctest_builtin.pyotest_bytes.pytest_bytes.pyctest_bytes.pyotest_bz2.pytest_bz2.pyctest_bz2.pyotest_calendar.pytest_calendar.pyctest_calendar.pyotest_call.pytest_call.pyctest_call.pyotest_capi.pytest_capi.pyctest_capi.pyotest_cd.pytest_cd.pyctest_cd.pyotest_cfgparser.pytest_cfgparser.pyctest_cfgparser.pyotest_cgi.pytest_cgi.pyctest_cgi.pyotest_charmapcodec.pytest_charmapcodec.pyctest_charmapcodec.pyotest_cl.pytest_cl.pyctest_cl.pyotest_class.pytest_class.pyctest_class.pyotest_cmath.pytest_cmath.pyctest_cmath.pyotest_cmd.pytest_cmd.pyctest_cmd.pyotest_cmd_line.pytest_cmd_line.pyctest_cmd_line.pyotest_cmd_line_script.pytest_cmd_line_script.pyctest_cmd_line_script.pyotest_code.pytest_code.pyctest_code.pyotest_codeccallbacks.pytest_codeccallbacks.pyctest_codeccallbacks.pyotest_codecencodings_cn.pytest_codecencodings_cn.pyctest_codecencodings_cn.pyotest_codecencodings_hk.pytest_codecencodings_hk.pyctest_codecencodings_hk.pyotest_codecencodings_iso2022.pytest_codecencodings_iso2022.pyctest_codecencodings_iso2022.pyotest_codecencodings_jp.pytest_codecencodings_jp.pyctest_codecencodings_jp.pyotest_codecencodings_kr.pytest_codecencodings_kr.pyctest_codecencodings_kr.pyotest_codecencodings_tw.pytest_codecencodings_tw.pyctest_codecencodings_tw.pyotest_codecmaps_cn.pytest_codecmaps_cn.pyctest_codecmaps_cn.pyotest_codecmaps_hk.pytest_codecmaps_hk.pyctest_codecmaps_hk.pyotest_codecmaps_jp.pytest_codecmaps_jp.pyctest_codecmaps_jp.pyotest_codecmaps_kr.pytest_codecmaps_kr.pyctest_codecmaps_kr.pyotest_codecmaps_tw.pytest_codecmaps_tw.pyctest_codecmaps_tw.pyotest_codecs.pytest_codecs.pyctest_codecs.pyotest_codeop.pytest_codeop.pyctest_codeop.pyotest_coercion.pytest_coercion.pyctest_coercion.pyotest_collections.pytest_collections.pyctest_collections.pyotest_colorsys.pytest_colorsys.pyctest_colorsys.pyotest_commands.pytest_commands.pyctest_commands.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compile.pytest_compile.pyctest_compile.pyotest_compileall.pytest_compileall.pyctest_compileall.pyotest_compiler.pytest_compiler.pyctest_compiler.pyotest_complex.pytest_complex.pyctest_complex.pyotest_complex_args.pytest_complex_args.pyctest_complex_args.pyotest_contains.pytest_contains.pyctest_contains.pyotest_contextlib.pytest_contextlib.pyctest_contextlib.pyotest_cookie.pytest_cookie.pyctest_cookie.pyotest_cookielib.pytest_cookielib.pyctest_cookielib.pyotest_copy.pytest_copy.pyctest_copy.pyotest_copy_reg.pytest_copy_reg.pyctest_copy_reg.pyotest_cpickle.pytest_cpickle.pyctest_cpickle.pyotest_cprofile.pytest_cprofile.pyctest_cprofile.pyotest_crypt.pytest_crypt.pyctest_crypt.pyotest_csv.pytest_csv.pyctest_csv.pyotest_ctypes.pytest_ctypes.pyctest_ctypes.pyotest_curses.pytest_curses.pyctest_curses.pyotest_datetime.pytest_datetime.pyctest_datetime.pyotest_dbm.pytest_dbm.pyctest_dbm.pyotest_decimal.pytest_decimal.pyctest_decimal.pyotest_decorators.pytest_decorators.pyctest_decorators.pyotest_defaultdict.pytest_defaultdict.pyctest_defaultdict.pyotest_deque.pytest_deque.pyctest_deque.pyotest_descr.pytest_descr.pyctest_descr.pyotest_descrtut.pytest_descrtut.pyctest_descrtut.pyotest_dict.pytest_dict.pyctest_dict.pyotest_dictcomps.pytest_dictcomps.pyctest_dictcomps.pyotest_dictviews.pytest_dictviews.pyctest_dictviews.pyotest_difflib.pytest_difflib.pyctest_difflib.pyotest_difflib_expect.htmltest_dircache.pytest_dircache.pyctest_dircache.pyotest_dis.pytest_dis.pyctest_dis.pyotest_distutils.pytest_distutils.pyctest_distutils.pyotest_dl.pytest_dl.pyctest_dl.pyotest_doctest.pytest_doctest.pyctest_doctest.pyotest_doctest.txttest_doctest2.pytest_doctest2.pyctest_doctest2.pyotest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_docxmlrpc.pyctest_docxmlrpc.pyotest_dumbdbm.pytest_dumbdbm.pyctest_dumbdbm.pyotest_dummy_thread.pytest_dummy_thread.pyctest_dummy_thread.pyotest_dummy_threading.pytest_dummy_threading.pyctest_dummy_threading.pyotest_email.pytest_email.pyctest_email.pyotest_email_codecs.pytest_email_codecs.pyctest_email_codecs.pyotest_email_renamed.pytest_email_renamed.pyctest_email_renamed.pyotest_ensurepip.pytest_ensurepip.pyctest_ensurepip.pyotest_enumerate.pytest_enumerate.pyctest_enumerate.pyotest_eof.pytest_eof.pyctest_eof.pyotest_epoll.pytest_epoll.pyctest_epoll.pyotest_errno.pytest_errno.pyctest_errno.pyotest_exception_variations.pytest_exception_variations.pyctest_exception_variations.pyotest_exceptions.pytest_exceptions.pyctest_exceptions.pyotest_extcall.pytest_extcall.pyctest_extcall.pyotest_fcntl.pytest_fcntl.pyctest_fcntl.pyotest_file.pytest_file.pyctest_file.pyotest_file2k.pytest_file2k.pyctest_file2k.pyotest_file_eintr.pytest_file_eintr.pyctest_file_eintr.pyotest_filecmp.pytest_filecmp.pyctest_filecmp.pyotest_fileinput.pytest_fileinput.pyctest_fileinput.pyotest_fileio.pytest_fileio.pyctest_fileio.pyotest_float.pytest_float.pyctest_float.pyotest_fnmatch.pytest_fnmatch.pyctest_fnmatch.pyotest_fork1.pytest_fork1.pyctest_fork1.pyotest_format.pytest_format.pyctest_format.pyotest_fpformat.pytest_fpformat.pyctest_fpformat.pyotest_fractions.pytest_fractions.pyctest_fractions.pyotest_frozen.pytest_frozen.pyctest_frozen.pyotest_ftplib.pytest_ftplib.pyctest_ftplib.pyotest_funcattrs.pytest_funcattrs.pyctest_funcattrs.pyotest_functools.pytest_functools.pyctest_functools.pyotest_future.pytest_future.pyctest_future.pyotest_future1.pytest_future1.pyctest_future1.pyotest_future2.pytest_future2.pyctest_future2.pyotest_future3.pytest_future3.pyctest_future3.pyotest_future4.pytest_future4.pyctest_future4.pyotest_future5.pytest_future5.pyctest_future5.pyotest_future_builtins.pytest_future_builtins.pyctest_future_builtins.pyotest_gc.pytest_gc.pyctest_gc.pyotest_gdb.pytest_gdb.pyctest_gdb.pyotest_gdbm.pytest_gdbm.pyctest_gdbm.pyotest_generators.pytest_generators.pyctest_generators.pyotest_genericpath.pytest_genericpath.pyctest_genericpath.pyotest_genexps.pytest_genexps.pyctest_genexps.pyotest_getargs.pytest_getargs.pyctest_getargs.pyotest_getargs2.pytest_getargs2.pyctest_getargs2.pyotest_getopt.pytest_getopt.pyctest_getopt.pyotest_gettext.pytest_gettext.pyctest_gettext.pyotest_gl.pytest_gl.pyctest_gl.pyotest_glob.pytest_glob.pyctest_glob.pyotest_global.pytest_global.pyctest_global.pyotest_grammar.pytest_grammar.pyctest_grammar.pyotest_grp.pytest_grp.pyctest_grp.pyotest_gzip.pytest_gzip.pyctest_gzip.pyotest_hash.pytest_hash.pyctest_hash.pyotest_hashlib.pytest_hashlib.pyctest_hashlib.pyotest_heapq.pytest_heapq.pyctest_heapq.pyotest_hmac.pytest_hmac.pyctest_hmac.pyotest_hotshot.pytest_hotshot.pyctest_hotshot.pyotest_htmllib.pytest_htmllib.pyctest_htmllib.pyotest_htmlparser.pytest_htmlparser.pyctest_htmlparser.pyotest_httplib.pytest_httplib.pyctest_httplib.pyotest_httpservers.pytest_httpservers.pyctest_httpservers.pyotest_idle.pytest_idle.pyctest_idle.pyotest_imageop.pytest_imageop.pyctest_imageop.pyotest_imaplib.pytest_imaplib.pyctest_imaplib.pyotest_imgfile.pytest_imgfile.pyctest_imgfile.pyotest_imghdr.pytest_imghdr.pyctest_imghdr.pyotest_imp.pytest_imp.pyctest_imp.pyotest_import.pytest_import.pyctest_import.pyotest_import_magic.pytest_import_magic.pyctest_import_magic.pyotest_importhooks.pytest_importhooks.pyctest_importhooks.pyotest_importlib.pytest_importlib.pyctest_importlib.pyotest_index.pytest_index.pyctest_index.pyotest_inspect.pytest_inspect.pyctest_inspect.pyotest_int.pytest_int.pyctest_int.pyotest_int_literal.pytest_int_literal.pyctest_int_literal.pyotest_io.pytest_io.pyctest_io.pyotest_ioctl.pytest_ioctl.pyctest_ioctl.pyotest_isinstance.pytest_isinstance.pyctest_isinstance.pyotest_iter.pytest_iter.pyctest_iter.pyotest_iterlen.pytest_iterlen.pyctest_iterlen.pyotest_itertools.pytest_itertools.pyctest_itertools.pyotest_json.pytest_json.pyctest_json.pyotest_kqueue.pytest_kqueue.pyctest_kqueue.pyotest_largefile.pytest_largefile.pyctest_largefile.pyotest_lib2to3.pytest_lib2to3.pyctest_lib2to3.pyotest_linecache.pytest_linecache.pyctest_linecache.pyotest_linuxaudiodev.pytest_linuxaudiodev.pyctest_linuxaudiodev.pyotest_list.pytest_list.pyctest_list.pyotest_locale.pytest_locale.pyctest_locale.pyotest_logging.pytest_logging.pyctest_logging.pyotest_long.pytest_long.pyctest_long.pyotest_long_future.pytest_long_future.pyctest_long_future.pyotest_longexp.pytest_longexp.pyctest_longexp.pyotest_macos.pytest_macos.pyctest_macos.pyotest_macostools.pytest_macostools.pyctest_macostools.pyotest_macpath.pytest_macpath.pyctest_macpath.pyotest_macurl2path.pytest_macurl2path.pyctest_macurl2path.pyotest_mailbox.pytest_mailbox.pyctest_mailbox.pyotest_marshal.pytest_marshal.pyctest_marshal.pyotest_math.pytest_math.pyctest_math.pyotest_md5.pytest_md5.pyctest_md5.pyotest_memoryio.pytest_memoryio.pyctest_memoryio.pyotest_memoryview.pytest_memoryview.pyctest_memoryview.pyotest_mhlib.pytest_mhlib.pyctest_mhlib.pyotest_mimetools.pytest_mimetools.pyctest_mimetools.pyotest_mimetypes.pytest_mimetypes.pyctest_mimetypes.pyotest_minidom.pytest_minidom.pyctest_minidom.pyotest_mmap.pytest_mmap.pyctest_mmap.pyotest_module.pytest_module.pyctest_module.pyotest_modulefinder.pytest_modulefinder.pyctest_modulefinder.pyotest_msilib.pytest_msilib.pyctest_msilib.pyotest_multibytecodec.pytest_multibytecodec.pyctest_multibytecodec.pyotest_multifile.pytest_multifile.pyctest_multifile.pyotest_multiprocessing.pytest_multiprocessing.pyctest_multiprocessing.pyotest_mutants.pytest_mutants.pyctest_mutants.pyotest_mutex.pytest_mutex.pyctest_mutex.pyotest_netrc.pytest_netrc.pyctest_netrc.pyotest_new.pytest_new.pyctest_new.pyotest_nis.pytest_nis.pyctest_nis.pyotest_nntplib.pytest_nntplib.pyctest_nntplib.pyotest_normalization.pytest_normalization.pyctest_normalization.pyotest_ntpath.pytest_ntpath.pyctest_ntpath.pyotest_old_mailbox.pytest_old_mailbox.pyctest_old_mailbox.pyotest_opcodes.pytest_opcodes.pyctest_opcodes.pyotest_openpty.pytest_openpty.pyctest_openpty.pyotest_operator.pytest_operator.pyctest_operator.pyotest_optparse.pytest_optparse.pyctest_optparse.pyotest_ordered_dict.pytest_ordered_dict.pyctest_ordered_dict.pyotest_os.pytest_os.pyctest_os.pyotest_ossaudiodev.pytest_ossaudiodev.pyctest_ossaudiodev.pyotest_parser.pytest_parser.pyctest_parser.pyotest_pdb.pytest_pdb.pyctest_pdb.pyotest_peepholer.pytest_peepholer.pyctest_peepholer.pyotest_pep247.pytest_pep247.pyctest_pep247.pyotest_pep277.pytest_pep277.pyctest_pep277.pyotest_pep352.pytest_pep352.pyctest_pep352.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_pickletools.pytest_pickletools.pyctest_pickletools.pyotest_pipes.pytest_pipes.pyctest_pipes.pyotest_pkg.pytest_pkg.pyctest_pkg.pyotest_pkgimport.pytest_pkgimport.pyctest_pkgimport.pyotest_pkgutil.pytest_pkgutil.pyctest_pkgutil.pyotest_platform.pytest_platform.pyctest_platform.pyotest_plistlib.pytest_plistlib.pyctest_plistlib.pyotest_poll.pytest_poll.pyctest_poll.pyotest_popen.pytest_popen.pyctest_popen.pyotest_popen2.pytest_popen2.pyctest_popen2.pyotest_poplib.pytest_poplib.pyctest_poplib.pyotest_posix.pytest_posix.pyctest_posix.pyotest_posixpath.pytest_posixpath.pyctest_posixpath.pyotest_pow.pytest_pow.pyctest_pow.pyotest_pprint.pytest_pprint.pyctest_pprint.pyotest_print.pytest_print.pyctest_print.pyotest_profile.pytest_profile.pyctest_profile.pyotest_property.pytest_property.pyctest_property.pyotest_pstats.pytest_pstats.pyctest_pstats.pyotest_pty.pytest_pty.pyctest_pty.pyotest_pwd.pytest_pwd.pyctest_pwd.pyotest_py3kwarn.pytest_py3kwarn.pyctest_py3kwarn.pyotest_py_compile.pytest_py_compile.pyctest_py_compile.pyotest_pyclbr.pytest_pyclbr.pyctest_pyclbr.pyotest_pydoc.pytest_pydoc.pyctest_pydoc.pyotest_pyexpat.pytest_pyexpat.pyctest_pyexpat.pyotest_queue.pytest_queue.pyctest_queue.pyotest_quopri.pytest_quopri.pyctest_quopri.pyotest_random.pytest_random.pyctest_random.pyotest_re.pytest_re.pyctest_re.pyotest_readline.pytest_readline.pyctest_readline.pyotest_regrtest.pytest_regrtest.pyctest_regrtest.pyotest_repr.pytest_repr.pyctest_repr.pyotest_resource.pytest_resource.pyctest_resource.pyotest_rfc822.pytest_rfc822.pyctest_rfc822.pyotest_richcmp.pytest_richcmp.pyctest_richcmp.pyotest_rlcompleter.pytest_rlcompleter.pyctest_rlcompleter.pyotest_robotparser.pytest_robotparser.pyctest_robotparser.pyotest_runpy.pytest_runpy.pyctest_runpy.pyotest_sax.pytest_sax.pyctest_sax.pyotest_scope.pytest_scope.pyctest_scope.pyotest_scriptpackages.pytest_scriptpackages.pyctest_scriptpackages.pyotest_select.pytest_select.pyctest_select.pyotest_set.pytest_set.pyctest_set.pyotest_setcomps.pytest_setcomps.pyctest_setcomps.pyotest_sets.pytest_sets.pyctest_sets.pyotest_sgmllib.pytest_sgmllib.pyctest_sgmllib.pyotest_sha.pytest_sha.pyctest_sha.pyotest_shelve.pytest_shelve.pyctest_shelve.pyotest_shlex.pytest_shlex.pyctest_shlex.pyotest_shutil.pytest_shutil.pyctest_shutil.pyotest_signal.pytest_signal.pyctest_signal.pyotest_site.pytest_site.pyctest_site.pyotest_slice.pytest_slice.pyctest_slice.pyotest_smtplib.pytest_smtplib.pyctest_smtplib.pyotest_smtpnet.pytest_smtpnet.pyctest_smtpnet.pyotest_socket.pytest_socket.pyctest_socket.pyotest_socketserver.pytest_socketserver.pyctest_socketserver.pyotest_softspace.pytest_softspace.pyctest_softspace.pyotest_sort.pytest_sort.pyctest_sort.pyotest_source_encoding.pytest_source_encoding.pyctest_source_encoding.pyotest_spwd.pytest_spwd.pyctest_spwd.pyotest_sqlite.pytest_sqlite.pyctest_sqlite.pyotest_ssl.pytest_ssl.pyctest_ssl.pyotest_startfile.pytest_startfile.pyctest_startfile.pyotest_stat.pytest_stat.pyctest_stat.pyotest_str.pytest_str.pyctest_str.pyotest_strftime.pytest_strftime.pyctest_strftime.pyotest_string.pytest_string.pyctest_string.pyotest_stringprep.pytest_stringprep.pyctest_stringprep.pyotest_strop.pytest_strop.pyctest_strop.pyotest_strptime.pytest_strptime.pyctest_strptime.pyotest_strtod.pytest_strtod.pyctest_strtod.pyotest_struct.pytest_struct.pyctest_struct.pyotest_structmembers.pytest_structmembers.pyctest_structmembers.pyotest_structseq.pytest_structseq.pyctest_structseq.pyotest_subprocess.pytest_subprocess.pyctest_subprocess.pyotest_sunau.pytest_sunau.pyctest_sunau.pyotest_sunaudiodev.pytest_sunaudiodev.pyctest_sunaudiodev.pyotest_sundry.pytest_sundry.pyctest_sundry.pyotest_support.pytest_support.pyctest_support.pyotest_symtable.pytest_symtable.pyctest_symtable.pyotest_syntax.pytest_syntax.pyctest_syntax.pyotest_sys.pytest_sys.pyctest_sys.pyotest_sys_setprofile.pytest_sys_setprofile.pyctest_sys_setprofile.pyotest_sys_settrace.pytest_sys_settrace.pyctest_sys_settrace.pyotest_sysconfig.pytest_sysconfig.pyctest_sysconfig.pyotest_tarfile.pytest_tarfile.pyctest_tarfile.pyotest_tcl.pytest_tcl.pyctest_tcl.pyotest_telnetlib.pytest_telnetlib.pyctest_telnetlib.pyotest_tempfile.pytest_tempfile.pyctest_tempfile.pyotest_test_support.pytest_test_support.pyctest_test_support.pyotest_textwrap.pytest_textwrap.pyctest_textwrap.pyotest_thread.pytest_thread.pyctest_thread.pyotest_threaded_import.pytest_threaded_import.pyctest_threaded_import.pyotest_threadedtempfile.pytest_threadedtempfile.pyctest_threadedtempfile.pyotest_threading.pytest_threading.pyctest_threading.pyotest_threading_local.pytest_threading_local.pyctest_threading_local.pyotest_threadsignals.pytest_threadsignals.pyctest_threadsignals.pyotest_time.pytest_time.pyctest_time.pyotest_timeit.pytest_timeit.pyctest_timeit.pyotest_timeout.pytest_timeout.pyctest_timeout.pyotest_tk.pytest_tk.pyctest_tk.pyotest_tokenize.pytest_tokenize.pyctest_tokenize.pyotest_tools.pytest_tools.pyctest_tools.pyotest_trace.pytest_trace.pyctest_trace.pyotest_traceback.pytest_traceback.pyctest_traceback.pyotest_transformer.pytest_transformer.pyctest_transformer.pyotest_ttk_guionly.pytest_ttk_guionly.pyctest_ttk_guionly.pyotest_ttk_textonly.pytest_ttk_textonly.pyctest_ttk_textonly.pyotest_tuple.pytest_tuple.pyctest_tuple.pyotest_turtle.pytest_turtle.pyctest_turtle.pyotest_typechecks.pytest_typechecks.pyctest_typechecks.pyotest_types.pytest_types.pyctest_types.pyotest_ucn.pytest_ucn.pyctest_ucn.pyotest_unary.pytest_unary.pyctest_unary.pyotest_undocumented_details.pytest_undocumented_details.pyctest_undocumented_details.pyotest_unicode.pytest_unicode.pyctest_unicode.pyotest_unicode_file.pytest_unicode_file.pyctest_unicode_file.pyotest_unicodedata.pytest_unicodedata.pyctest_unicodedata.pyotest_unittest.pytest_unittest.pyctest_unittest.pyotest_univnewlines.pytest_univnewlines.pyctest_univnewlines.pyotest_univnewlines2k.pytest_univnewlines2k.pyctest_univnewlines2k.pyotest_unpack.pytest_unpack.pyctest_unpack.pyotest_urllib.pytest_urllib.pyctest_urllib.pyotest_urllib2.pytest_urllib2.pyctest_urllib2.pyotest_urllib2_localnet.pytest_urllib2_localnet.pyctest_urllib2_localnet.pyotest_urllib2net.pytest_urllib2net.pyctest_urllib2net.pyotest_urllibnet.pytest_urllibnet.pyctest_urllibnet.pyotest_urlparse.pytest_urlparse.pyctest_urlparse.pyotest_userdict.pytest_userdict.pyctest_userdict.pyotest_userlist.pytest_userlist.pyctest_userlist.pyotest_userstring.pytest_userstring.pyctest_userstring.pyotest_uu.pytest_uu.pyctest_uu.pyotest_uuid.pytest_uuid.pyctest_uuid.pyotest_wait3.pytest_wait3.pyctest_wait3.pyotest_wait4.pytest_wait4.pyctest_wait4.pyotest_warnings.pytest_warnings.pyctest_warnings.pyotest_wave.pytest_wave.pyctest_wave.pyotest_weakref.pytest_weakref.pyctest_weakref.pyotest_weakset.pytest_weakset.pyctest_weakset.pyotest_whichdb.pytest_whichdb.pyctest_whichdb.pyotest_winreg.pytest_winreg.pyctest_winreg.pyotest_winsound.pytest_winsound.pyctest_winsound.pyotest_with.pytest_with.pyctest_with.pyotest_wsgiref.pytest_wsgiref.pyctest_wsgiref.pyotest_xdrlib.pytest_xdrlib.pyctest_xdrlib.pyotest_xml_etree.pytest_xml_etree.pyctest_xml_etree.pyotest_xml_etree_c.pytest_xml_etree_c.pyctest_xml_etree_c.pyotest_xmllib.pytest_xmllib.pyctest_xmllib.pyotest_xmlrpc.pytest_xmlrpc.pyctest_xmlrpc.pyotest_xpickle.pytest_xpickle.pyctest_xpickle.pyotest_xrange.pytest_xrange.pyctest_xrange.pyotest_zipfile.pytest_zipfile.pyctest_zipfile.pyotest_zipfile64.pytest_zipfile64.pyctest_zipfile64.pyotest_zipimport.pytest_zipimport.pyctest_zipimport.pyotest_zipimport_support.pytest_zipimport_support.pyctest_zipimport_support.pyotest_zlib.pytest_zlib.pyctest_zlib.pyotestall.pytestall.pyctestall.pyotestcodec.pytestcodec.pyctestcodec.pyotestimg.uuetestimgr.uuetestrgb.uuetesttar.tartf_inherit_check.pytf_inherit_check.pyctf_inherit_check.pyothreaded_import_hangers.pythreaded_import_hangers.pycthreaded_import_hangers.pyotime_hashlib.pytime_hashlib.pyctime_hashlib.pyotokenize_tests.txttracedmodules__init__.py__init__.pyc__init__.pyotestmod.pytestmod.pyctestmod.pyowarning_tests.pywarning_tests.pycwarning_tests.pyowin_console_handler.pywin_console_handler.pycwin_console_handler.pyoxmltestdataexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyxmltests.pycxmltests.pyozipdir.zip/usr/bin//usr/include//usr/include/python2.7//usr/lib64//usr/lib64/pkgconfig//usr/lib64/python2.7/config//usr/lib64/python2.7//usr/lib64/python2.7/test//usr/lib64/python2.7/test/audiodata//usr/lib64/python2.7/test/capath//usr/lib64/python2.7/test/cjkencodings//usr/lib64/python2.7/test/data//usr/lib64/python2.7/test/decimaltestdata//usr/lib64/python2.7/test/imghdrdata//usr/lib64/python2.7/test/subprocessdata//usr/lib64/python2.7/test/support//usr/lib64/python2.7/test/tracedmodules//usr/lib64/python2.7/test/xmltestdata/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17077/openSUSE_Leap_15.2_Update/101b06c9c9aec0555f3476fdda47349d-python-base.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux                                                     !                         "                       "                                          #      #               $                                                                                                            #                                                                       "                 #           #        "  "                                                                                          %       &''(( )Python script, ASCII text executabledirectoryC source, ASCII textASCII textpkgconfig filemakefile script, ASCII text, with very long linesmakefile script, ASCII textPOSIX shell script, ASCII text executableELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), with debug_info, not strippedBerkeley DB 1.85 (Hash, version 2, big-endian)python 2.7 byte-compiledUTF-8 Unicode (with BOM) textUTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsASCII text, with very long linesASCII text, with no line terminatorsuuencoded or xxencoded, ASCII textGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16emptyPython script, UTF-8 Unicode text executabletar archiveHTML document, ISO-8859 textPython script, ASCII text executable, with very long linesPython script, ISO-8859 text executableHTML document, ASCII text, with very long linesPOSIX tar archiveUTF-8 Unicode text, with very long lines, with CRLF line terminatorsexported SGML document, ASCII textXML 1.0 document, ISO-8859 textgzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)  !"#$&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklnoprstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RPRPRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQA{? .]utf-883d43b5286140b7b1d9bf2070eeb823efb8486954b6cba4d3ff667387d8fa8be? 7zXZ !t/e,pVC >fx&@~,/\"3x̓f߾ߔoՓ]~dĪwQKYi`x%o=T4fq4ɖ̣udN៴dO!XUC-K 4BWЗj"d$L; W0B5VݭF攎.RIL~rUU"w͎ KRejyVѼx}ktwoyBGYRu>&UHaKQ ٚl9uA^ S5R13"ގLrYUa6Klc8SxY߳٬ǹN#GȨblʒ*Q(ƲңSPtBK]+ڂcHQ@3R/q.51VI<jH݉@-̪?ÜLGiZa"8VuR!@xET|RHݛmU!wαm;"\h,ԉ xNsYtk" δӑpHxu{齱ᐻMh橩Z"BB'$.dຆ?.Ӳf7=8(;\{hX}f-rV}Ѿ8whm߆q06XVT/YR#fG=H7Uf%ߙgX9zw^GX zWnTpCx)oo!.It?JQ6;2ff[΁QpۦHDB.5-c{SG^I3*U#4x[e[%kHk92fNL(^/s&I23?Y&ፁ}?E.ɚ" v #?39PМvYQ`xs .6HvG>Y fދ}=ޗ^K/-Y+gs?;ͲFopY~&WFv8M5 !?4Lz mbngD7Z_tuMB0s)Yfr)ZCVp"U>'tM|suSݨՖCNDCj>I |sI_}jZwՊ+1؍{^7PM}R"<@mr4,;X愰 4v[BY۽ź%*I`O]MbM㪁8p]$魮҂N-PloNjK <B8ҿR3cT3.՞̒ C$*WWjZq (ՔpyzmբdVH aB*D5;ceJ~}ڑp&DAr,|u{u̍n\t mJnSJ$WQSca'8l8 vJ.-W U&%N,3n_ww8vɟj9P.j(L:JnϾE/`=,!z0'4פ sVA#\;,e+UOU a(Zu,G"崙X%[F'Wr_D)Jun6QF 9J[q4#`!LD\ o^?nPNm5W݁K/ ,7K,pH|x)@C(Ne"E[>0UPѐ>=F\KsQ{\穗Q2BznoX4T Ҡ5Zp;QHڶDO XC5Ђqv O5BP'n^NWz#Bͼq'ɘ 0_Y ˺lѨs^)O'1Sjoī G>uNkڔbb̈/ m"ݘ՜'=F"ȫGK$PATAG谅ALIղI BAz@w2Fc0SȖm U4?ٱEU Nre+IA$go7*/DdqU/,kg aESy/l iT] 8JZ8$Tb}1'(`6$Fʵ2w\3*R]5lYm:aH|⯄tކK O̻YzT5oY~ "g-l`P>*ȘywrkC|97y.,>+^26 y$awb)%:ffvηmԋZ4lk< 8wVX,`~[uXĸNn>rzTwkUUM>x#tȲ(J?6dU[4b+I1x}hf ԓyXMjΫ`SoME٨kݞmԪq8>#RhLp ?I] K!;Zg p#R0u:c_;LC FeGrGjC՗E$[Rbbӵ:qy1onLtoTq+]RbF!6zi5pw+doBJlzTߕW+~ئRjKߡ!& etq28@,j7g]C8Eofk0bʰ2'sRT Gr۵DƑS4,ν xmu#4^!F[ȕ 9! >:tU\^oZe̔f Z?mD'Ug5ubs<7 m3 Q 3 })nP1HƏ d`Y'` jʨluzgo ^O牻{{%xݼY2$?>W@Mx8"`C&ba&eopyb_zA"J[>i"4&;t^|@oWLtƱ E9D#SAt`|_!68kғߝ+u-h]jpۆsRe9TGbӤq\z5Am@p؉fS X?M.Mvhϒ+<*Ƙ_K_;G 3KaSMb7i.d(c$9 N_LNQDG 0Y]XF X޷MSJly/}Dk8 u Y_$x=5I%o0-η)ogj^TeSm\nR X镦l!HGyGÂ-ĦS|oW4Yzix:ZHx-r|E.>reEO(#(PƋ6uvN"]pq$Մ4(ϷDa#l_S*A 48Kx8wFO߮V؉BM&vo;xj!b9c -n iW7tA|X00{QDRf `DuiP0Riݒn|7Lº؉Ia9RIdjDZR;f p'5P&іϓ^^z0^?kgۨjh)8EHIa |~GҞ9`I{o,)I/{cf()O*"0 I" 1m::8/$òN+a@Lc~W̎ºQ6MG=,^1SJ!Fd1CR8.j¼cjCrG3@R&7k;NyQV=VmI~ lRw9VO}W~9/{Ǵt?9(:q-t^;bu{0ܑ*~A⋂1@q϶R2c%2#{Y7&9ԧ,Ok_br'p-0آ*y$|h7sBe,Nſ2 y'$T%m];FMw>{!YhvoP6<\[yK-U=`nVVq ˢܣPu_XYv`։I 斢8&qr'VAk^Z3~RhZ4鄄zb:\0&ƣc g[ᬞ${=%m,;15 4w-;$Pe͆:jƫ {,ac5bv>6E?U)\>.Z=*0֎#j3L^_,6+B(D<ȓ ,|Õ I}ݦLlrMЉ̓Piq6JTEZFzz(ؤvR*ԚүHF.t/ࣺCm]o'Xer%*-Rc8 rt6!SP~ JN<Ur]J7[sapA*CΓ+uhkEfiH-dQ#0@q1:a|ДSʙWA ?dwN(!^M'Nabff[My7Q?O辋z2D8 ,4Sp]q֣iQ|@փn EsTK{VT(l?@(S~Fuvѧߔ Cw>=dț%]U>?e.tY#|-I% 2W;0-jݔŝX֖XW4D\H#l53$v(]elhc9,1.:u?zW8 /*[b5b" `o,P_)2w}f|mkJio@C ޿!8Dg"<䂇y)!jpy7̋\)ϼĤ (/&oW5E7̎w!a\hxm>?~;ke~g3הr>x8ZoYC4űPcEfMw\YcB<$D|%z&5waj?.9'*1khm9VVv?zG sj:'\tZt;>s`ȬZ;r#Vk$,^ Lb&lÑM-{QOMڮ_sSQO Bq>v}Q+n&^%=*%j#I-vcQk9ѫL>TqӞ: UUkYpoL}0HQoSg4 \ֲpLZ윫ʕexт \2ae=P@#\&G\xJ*Er=jIo0]`^Vl K&׍4`д f%io66İFH4FS"W.e1F (.U"iEe)Η'9Q+hd0;aф9 , ZfL T _edQ²daFLuz"?7 ެIϦhԂ`h(AW vd-kJ*iĉr 6kg[QF?XŸ:AxG4'2HRxP5hGkW;m-]q ĶNgL0s!Dj%@i "=cx6[ers$t(jw<8w*`mLl!!XLp`@syyBI44ճhn& IUdxR"KjR%=yą㏯QA~?,&GЌ_;yMD£Ѻ|e>a]BwY:{<&&^6'N.ALX=cD|gNȒ$Pƴ%2Ȉv¸JH;$29g7ɥvxXσ_B@(N\O8mqOb4J 0*sdrkVwtRm5=i##y49Nnyw伝F.^lf-u z:3J8d/ o¾ =nt &tR W*`?T֨a)M׸TJPKU`wfI[yJ)&`\IYP%sLX@38@tVkʛˠSa sJܯU:OU2,hiV~VBS ȥsWZk#? ȂvwN^RL??sRZak2ٟR]/e1\wMtYvv_nxw=n&kPue.Pf%ځK Lg `CDC"2kw#[O5jQMh_nxٚ!2lp:J]Tw_k"/fj} !!V8^1~2-!wrf2(پv(J:7 ^En_|7_&K0G\W,Gn\coBڦbd,\l\W<{t?.=ׂd#=m&lHքͼ} ropxJO;x"$-c]&dbuaYȼ8b؃+w*}QUa5$W<콠ql+Z@ ]KWTmQ~@x9RU`C|"XivM_g6-3uI:_EA W` |N9}2xrպP':^!RkXxvLfg0r葯ZC/UDُC@笃!$r[Pupw q?J:n> nDWiч8l7K<ȫl,˃Al]E(dq䁙y)$4U`cUXtf#H:3nɮaƝ{1)'szniPQuQe}<'d:R? ÔR~N"OBۆqe , zC&1~J,0]13wr-m6 5N3h5Hz3dZ=Os A'+'2,@c]&_-3A^# Mz"\qqc}}tjD`@nָ@\ZCN%Va򼶸CVm"Fuy7uk@W_(ht\OCz^,TJpzUg" 2IP@xWʪ#xцO P+Xt=jqZUM'CIO4d C{$NKHL+2VG!"GQ!Rl`**TбO?YnMHR7}[>1s"TYoyHЭ 1 #6W< k`([F= 7wh%k~#:]+A AX0K XLB&q0> ]Y=\6\n57= +M8j.ޚs9%a=VA= PLpˀ?sIl_XZCKOV ̬ @u|ǰ5xC+dk32ٛTv?K˄gI._.eoAώăzS"IբNr&IuJHr1 Ys%˨0unlcneiB>٧BsU,vE)]9eg[Q2i&1чȎJ/#-,$ȪGpwF4nH@+y!وׁh\+, kU=+Ȉ7o+2DG0xIj,>q37lm7;r]]!-;dH W=j+q9CBIGEYQ,{ћkVwHYkF5[ε LVFE)YZܱe\pVsf;.$Uۈ]3; h(?pܮŅn;MΎaYQ:d9:upC4 @*6ؤ =Lg. ?o ?{IB{L0N$qGZPѴ9oq{TҕW <:l5ht:x) Obp#$f?0pT bE5!o# ̠|YèMo8 xef$˓hur\{la/a" \yh=EiM qtt[q͖b| $k]M7snTH{7Rl3DC-2%{ o&j4&[lSh1CN3s9HE}WK=FS eB,SW [K0L}or=(,~s۷ʑ+rۊ 1=Y:/r^z҂ⱎQxv,8DQ)@(&]:ie'wگJaC9F,i=vп>o\< B)NQI\¶ `n Zt0yL7vԒv˄ZLH&ίKX8"c\ω?DM:jd:~c@6;S~0}1tdW )GZS$ു$K\HbtU+|ӔugL]1Eqax+P)!+l3żXSv"4b@zj[sV=a*'K~!!xM86`Ϯ[.ݹGm~[ z?8q>ۙkB%"b5M,>njl {k(BOC"A1'N==OVotͼ 4mR5Բjҩ(tƛC|Zp{#1LMԁC&aa~'{f ֕s;Vi˧O"V} Q[,|ֈ Lv,i͆Qkh~;5]P`5e-tS: 1if*TNYD76q(7iAL ^Ji,XjX{7-IޔSk@\u {)k>^WJ1tUwRWchqk[$ll1?{:J7y,">s~y\h$@vAk$InnRWQIaR@|ĨL) Э"[{)p~ !ORܾ uv''vF\Q}kyBՆR`j)2#>&CKܦdžJHKB 'bViY :oKd"W/U|FM#Q9"(XA1`Qr6RB%cyшz_!MgR1qVT\=+d[V+J/橔t6\T,ȃVg T"Hb `ި6>vI4Frٸ(ҿZBJ7%<rݭal5C`nȤ׬8SYi{\ڌ 9csq)(ةݙnԍ?@}if9DAb]oRJ',r>U}Q!)tOB Dٮn6DLL+eW;w:PdQ>׹3`⮔~(Rƅ#hz*q}֢0wS)cdŇ/-3Yu {&d[3 &Լ 3T" Q藔s; $1?1=c869|^i 0EIɾ(iY`Qq{.h apw>xjNјtv*?2-qYs0 &#q QmT9죓^3CXoF7,3Jb@d4(u-k؊w"|d`=LnjEo0!{r0| qaSQ&r t_pO')D^Cmo-|\ej[ps>RIqVa2j_)wK)4kOy3) o5ȧEwHDa\R|OE#?pS&ڄb%uנYcX͵CqΦdqڍ!cq3ـUT|,]A%7p@c݈uX^H7Ev=pt@@#\SI$ HۑWIq h<}]W_J(r`ݰ>3Z=.sZZ/C/jop;;{Gz YZ