ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ hc@sdZddlZddlZyddlZWnek rMddlZnXyddlZWnek r}ddlZnXdejfdYZ dej fdYZ e edre Z ejZnej Z dZdS( s[A subclass of unittest.TestCase which checks for reference leaks. To use: - Use testing_refleak.BaseTestCase instead of unittest.TestCase - Configure and compile Python with --with-pydebug If sys.gettotalrefcount() is not available (because Python was built without the Py_DEBUG option), then this module is a no-op and tests will run normally. iNtLocalTestResultcBs2eZdZdZdZdZdZRS(sHA TestResult which forwards events to a parent object, except for Skips.cCstjj|||_dS(N(tunittestt TestResultt__init__t parent_result(tselfR((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyR:scCs|jj||dS(N(RtaddError(Rttestterror((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyR>scCs|jj||dS(N(Rt addFailure(RRR((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyR AscCsdS(N((RRtreason((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pytaddSkipDs(t__name__t __module__t__doc__RRR R (((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyR7s    tReferenceLeakCheckerTestCasecBs)eZdZdZddZdZRS(sHA TestCase which runs tests multiple times, collecting reference counts.icCstjj|_tt|jd|tt|jd|d}t|}g}xYt|j D]H}|j }tt|jd||j }|j ||qlW||fGHy|j |dg|j Wn't k r |j|tjnXdS(Ntresulti(tcopyregtdispatch_tabletcopyt_saved_pickle_registrytsuperRtrunRtrangetNB_RUNSt _getRefcountstappendt assertEqualt ExceptionRtsystexc_info(RRt oldrefcountt local_resulttrefcount_deltast_t newrefcount((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyRMs      cCsHtjjtjj|jtjtjtjtjS(N( RRtcleartupdateRtgctcollectRtgettotalrefcount(R((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyRgs     N(R R RRtNoneRR(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyRHs R(cCs~d}|S(NcSs|S(N((tfunc((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pytSame|s((R R+((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pytSkipReferenceLeakCheckerzs (RR&Rtcopy_regRt ImportErrort unittest2RRRtTestCaseRthasattrt BaseTestCasetskipR,(((sM/usr/lib/python2.7/site-packages/google/protobuf/internal/testing_refleaks.pyt's"    *