ELF>V@@8 @PP !!Him !!888$$000 Std000 PtdTTTQtdRtd!!xxGNU2#Ee{|'CK $r@!` *JP\^I   l ǀDQ!@#+KNOQRSVWY[\^_`adfgjmnoprtvwxz}~hf8$טd# F\LVdʆ%/#U)z#pdX;U !Ȣq'c5! v c| ϕb̚q.JU13{xAQ&(UҬMMf*1 F,a#$81eP̏PF1=uSɔ` τB> -ܲBE )HG`.tYr& t|ưWt˳H Ҿ9V l:.qXDt^Y֯2yTx ?)_ys +uf<V E2o   ShgEG`eX7"T7 g, F" / S p y  $  0xv  kA@! g[^!5  @[!  H4!@&!3X  `!i  j"Y!:X! &!: p! P b=\  !f J [U W pnD  PL @d30 Pv   p@{!` `z  3 `X IM y`(!0 * д 0 !w @p  G  @y!( \  p ~!q    i  P  N Ђ! k  i> П$c! pc! H! 0  P\ 0Q v x<  l4 @  D Ђ! L F b __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizefsb_dx_addmethodsPyModule_GetDictPyDict_SetItemStringPyCFunction_NewExPyInit_setscNyMutBitSet_TypeNyCplBitSet_TypeNyNodeSet_TypePyModule_Create2fsb_dx_nybitset_initfsb_dx_nynodeset_initsets_docPyUnicode_FromStringPyCapsule_NewPyErr_OccurredPyExc_ImportErrorPyErr_SetStringmutbitset_indisizecplbitset_traversenodeset_indisizenodeset_traversenodeset_relateNyImmBitSet_hasbit_NyImmBitSet_EmptyStruct_Py_TrueStruct_Py_FalseStructPyObject_ReallocPyObject_InitVarNyUnion_Type_PyObject_NewVarmemmove_Py_NoneStructPyLong_AsSsize_tPyExc_IndexErrorPyLong_FromSsize_timmbitset_intPyMem_Malloc_PyLong_FromByteArrayPyMem_FreePyErr_NoMemoryPyExc_OverflowErrorPyNumber_Invertimmbitset_iterNyImmBitSetIter_Type_PyObject_NewPyObject_FreePyTuple_NewPyBytes_FromStringAndSizePyUnicode_FromFormatPySequence_ListNyMutBitSet_hasbitPyExc_TypeErrorNyImmBitSet_TypePyType_IsSubtypeNyAnyBitSet_iteratePyErr_FormatNyImmBitSet_SubtypeNewNyImmBitSet_New__stack_chk_failPyExc_ValueErrorNyMutBitSet_setbitNyMutBitSet_clrbit_Py_NotImplementedStructPyTuple_Size_PyArg_ParseTuple_SizeTNyMutBitSet_SubtypeNewNyMutBitSet_Newcpl_conv_leftcpl_conv_rightPyObject_GetIterPyIter_Next_PyLong_Frexp_PyLong_AsByteArrayNyMutBitSet_clearmutbitset_iopPySequence_CheckPyDict_Nextmutbitset_iandmutbitset_iorNyImmBitSet_SubtypeNewArgmemcpy_PyArg_ParseTupleAndKeywords_SizeTmutbitset_isubmutbitset_ixorNyMutBitSet_popNyCplBitSet_SubtypeNew_NyImmBitSet_OmegaStructcplbitset_newNyCplBitSet_NewNyMutBitSet_AsImmBitSetmutbitset_iterPyNumber_LongPyLong_AsLongPyBytes_AsStringAndSizeNyCplBitSet_New_DelNyAnyBitSet_lengthpos_add_checksf_slicePySlice_Typeclaset_loadgeneric_indisizeanybitset_indisizeNyBitSet_TypePyType_ReadyPyObject_GetAttrStringPyType_GenericNewPyObject_GenericGetAttrPyType_GenericAllocmutbitset_is_immutable_docimmbitset_is_immutable_docbitset_docPyLong_AsUnsignedLongMaskNyImmNodeSetIter_Type_PyObject_GC_NewPyObject_GC_Tracknodeset_get_is_immutableNyImmNodeSet_TypePyObject_GC_UnTrackPyThreadState_GetPyObject_GC_Del_PyTrash_thread_deposit_object_PyTrash_thread_destroy_chainmutnodeset_iterNyMutNodeSetIter_TypeNyNodeSet_clrobjNyMutNodeSet_TypePyObject_RichCompareNyNodeSet_setobjNyNodeSet_iterateNyNodeSet_hasobjNyNodeSet_invobjNyMutNodeSet_SubtypeNewFlagsNyMutNodeSet_NewFlagsNyMutNodeSet_NewNyMutNodeSet_NewHidingNyNodeSet_clearNyImmNodeSet_SubtypeNewmemsetNyImmNodeSet_NewPyNumber_AndPyNumber_OrPyNumber_SubtractPyNumber_XorNyMutNodeSet_SubtypeNewIterableNyImmNodeSet_NewSingletonNyImmNodeSet_SubtypeNewCopyNyImmNodeSet_NewCopyNyNodeSet_be_immutableNyImmNodeSet_SubtypeNewIterablelibpython3.7m.so.1.0libpthread.so.0libc.so.6_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5GLIBC_2.4/opt/alt/python37/lib64 % ui 0 ii < !W!`W!!$!$!!Q!Q!Q!Q!R!R!R!+! R!%(R!8R!)!@R!HR!XR!&!`R!hR!@xR!(!R!@iR!R!v S!(S!o8S!@S!HS!@{XS!.!`S!hS!p|xS!.!S!S!`S!,!S!S!0{S!@.!S!S!pS!`-!S!S!P|S!-!T!T!@T!+! T!(T!z8T!`,!@T!HT!pzXT!+!T!mT!T! T!+!U!U!0fU!xU!@mU!U!`_U!P_U! V!V!V! V!cV!hV!W!l@W!HW!XW!+!`W!hW! fxW!W!W!@yW!^X!10X!dY!HY!dxZ!^Z! bX[![p[!Z[!pf[!]![!T![!R![! /!\!0(\! S!0\!R!8\!\!x\!P\!\!b]!]!0]!8]!_]!]!0h]!0]! ]!]!]!^!Ф^!^!_^!Pf_!U!_!@U!_!0_P_!1!h_!_!T!_!@`!@`!H`!p_`!`!`\`!ma!b!a!V!a!V!a!\Pa!@2!ha!a!@W!a!@b!a!@b!Hb!p_b!b!]b!b! c!c!c!c!) u!0u!8u!`u!hu!@xu!e!u!v!`v!hv!xv!i!v!v!0v!@i!v!v! v!i!v!v!v!h!v!v!v!`h!w!w! w!h! w!(w!8w!g!@w!Hw!@Xw! g!w!мw!w!x!@x!x!p@x!px!Pxx!x!x!@y!Xy!Hy!y!Xz!xz!z!X{!{!w!{!}!{!w!{!j!{!|!|!8|!@}!|!|!@}!X}!~!0~!~!`~!!!pP!i!X!`!h!!`v!!v!!|!؀!PX!6p!p!!f!!!!!@(!`u!0!u!8!@y!x!p!Q!!tc!t! !Y(!Oy!O0!a8!@!H!P!X!S`!!h!\p!#x!'!Z!nx!n!n@!n!x!.!]!3!!4!U!!:!B!@\!_!a!!G!y!!|%!X%!b%!%!p%!W!W!sW!oW!W!W!RW!fX!%0Z!%[!%0_!%0a!%0z!%{!%~!%0!%Ё!%\!ep\!0_!0a!0p|!0Ѐ!0p!0\!_!a!H]!_ ^!P^!X^!^`^!N_!kX`!XXb!Xxa!j c!cd!Wx!~x!zx!x!x!dy!Vy!{}!{ y!THy!}|!}H}!}|! ! ! x!L!!N!R!`!!!!K!~!! !(!0!8! @! H! P! X!{`!h!mp!x!!O!!!!!g!!!!![!!!!!!h!!! !o(!r0!"8!$@!sH!&P!TX!(`!)h!*p!+x!,!!w!-!!!f!/!y!1!M!2!!i!P!!5!6!!!7 !8(!u0!98!@!H!cP!;X!`!<h!=p!>x!!?!@!A!!C!v!D!E!l!!F!G!H!I!!JHH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehf%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D% DH=+!H+!H9tH Ht H=+!H5+!H)HHH?HHtH HtfD=u+!u+UH=r Ht H= dM+!]wAUATIUHSHGH}thI7HuHLHuZHHu HCHP0H H}t,1LHHHuH[]A\A]H1[]A\A]HHuHCHP0UH= SHHC H H H H H HHHWHH\t_HtRH= NH5wHHt/1H5fH= H5dHHuHt&H+t1HH[]@HCHP0@Hq H5 H81u H fuH@uH@uH@uHH@H?Hu H HHuHHHuHHHuHHHuHHH?)ÐATLg0UHSHW(L9tAIL!Ht[]A\A]A^L1L HL!LgLWH L941E16I9skMKICI9uL9rAME1sfDMr1IPfLgLWH DHiLYE1H )@[1]A\A]A^DHiLYH fHH@HHOHfSHHH/uHGP0HCH@-#![ÐHCHff.@HGHfDH- HHտ HSH1HfDHHuHH^HHt'HGHp(HHp H[HpHrfH= H[AWIAVAUATIUSHLw(IF InI)IHMI9noHG0II9HLHL$OHL$HII\$Mu(HLI9}1HH{ HHL$L)HnHL$HI9|INHL;HCH[]A\A]A^A_H INDH1HL$HL$HIt$HIuPHx HL$HHL$C1ff.AUIATIUHSHH HZ H9tHGwHu}H}H9tHHGRH}IEH9t6HGt`3I$1H[]A\A]fH}IEH9uHI$H1[]A\A]Hս H5"}H8fD뤐HG(Hxff.@HGHLGL9@~cLHO HHHB(Hu fHHtHz HHHtHHN 8I1LFHN D1DAUATUSH_ HHGHHHH9H HhHHH9HH9L,L}IHtm1Ht"fD1H9uHSHIHH9uL1ɺL LHHH[]A\A]ÐH1[]A\A]/1HH[]A\A]Hѻ H5}1H8XfDH H5z}1H88SHHHt9HH^H+tH[fHSHD$HR0HD$H[fDH1[SHH= HtHXHH@H@ [ff.fSHHH/uHGP0H[ff.UHSHH~41f.HHH|8Ht H/uHGP0HH9]HH[]f.AUAATUHSH6H)IcInHuH} IH HHtBMt=MHH!!HCHHLc Ml$Il$ H[]A\A]HusMtI,$u ID$LP0MtImu IELP0HtHmu HEHP0H1H[]A\A]H+uHCHP0fDH+u1DHff.Hw1H=xf.UHSHGt\GEH=xHHtN1HH+t H[]HSHD$HR0HD$H[]DH=^xHHuH1[]Ht HH9HHxHp HHHH;t+HNHOHH)HHH?HHHHH9uL@HHLH;tKHNHOHH)HHH?HHHHH9uH9sH;HN1I9vH;HDDI9HFHHV?HHIHHHH)yH@HHw(H HIHtLHfD1DGuEHw(H~HHHH H9v.HNHVH9w*f.HH9vHztf.H H9wfDHGHtÐL_M~~E1E1Lz!f.LHHT(Ht1DA HuHcIxIM9uLWLHH_ H5xHD$H:HD$HE1@HGLW(IBLXIMI M9~E1H=!MBIrI9wT@HL9sGHFHt1@HuAyH H5uH8AHHDI M9rIcH1HD H5wH8Hff.UHSHHH?H5J H9t tEH[]fDH;H5 H9t1Tu(H;H5F H9t1Ho HtiHKHP HC1HHSH)H)HKHSH[]fDHCHt+HHHH?HHHHD HCHCH1[]øAWAVIAUATUSHHHoHH}~sLe LkL)H|$H}M)HHD5IHtJHUHH LHHH|$L{IHLkH{HmuHEHP0H{I>L{HL[]A\A]A^A_ÐAWAVIAUIATUSHHH_ dH%(HD$81Ht H93\H\$0Iu(HD$0I} HHL$0DL;ut.HNHOHH)HHHH?HHHHH9uHHHMHuIHL;3LNHOLH)HHHH?HHHHH9uL9sL;0LNL9v M94$MIIUI)M)LMHIH9~ L9rHULZ HRIIMM9L9H@L9LL9H{LHHEL3HCI] H|$8dH3<%(H+HH[]A\A]A^A_IH96I] fDL9M9t K<H9 L9IHI)H)LHHH9HqHLD$L)LL$HHEH]HHLP HHL)LT$HHLHH+EHL$ HH)LII?IIIJ<#LL$HuLD$LT$K!LLeHM9HuLeI9IH~LI\$uHmH1I] @HLLD$ L)H)LL$HHL\$H)LLT$(HH?HHHH<HL$ HL$HuLL$LD$ HI HML\$M9HuHM'I9@LIE(HHu LLD$H LL$H)H|$LLL$LD$HHH|$IE(LLD$LL$Hl8 HHsLD$HVL)HH?HLHHH| LJH{HCHCHHHLeL+eIt$HRLL$H]LHCHE`HL$ L9%LT$(I9M9VLwHG Ht H90LO(IAII L@IMDH;2t.LNHOLH)HHHH?HHHHH9uLZHJM H;0tKLNHOLH)HIH?LHHHH9uL9sH;1LN1M9v-I92t3I9v#I9 HRH:~FfD1LHt/trt=H H5iH8HDHzuq1Hf.HztH2HT$HT$HtHRH P1fDHztH2HT$|HtHT$HRHH!P1H2HT$sHcHT$HRH1P1gfDUHSHGt1҅HHq?HIHHHH)yH@HHt,HtSHPHuAH HX1H[]@HtHPHtHH!HXfH[]øBfUHHSHHHt"HHGtHHc[]t@kHtH1[]ff.f1DUHHSH+HHt"HHtHHc[]@HtH1[]ff.fATAUHHSHHt%DHHGtH H[]A\fHt[1]A\ff.@1DAVAAUIHATIUSGHHHHp?HHIHHHH)AEHtALEu4HtjHPHtaHH!HhH H[]A\A]A^HtMHPHu-H Hh@H1Hu(H@Ht@H HLH81[1]A\A]A^fDH =f1ff.H Mfff.AWE1E1AVAUATAUHo SHZ HHGLpHBILhI1IIՐHHf.L9skLL9s{HL9LVuHOHHLH1AtAtVMLI!H AIEHtMt`MIIQL9rL9s[LHOE1HLV1H@HL!HDHOIHE1uDI7MuLHt LH H[]A\A]A^A_fDtt"H# HfDHHVrftt"H HfDHCHV2fAWAVAUATUSHhdH%(H$X1HHH9HFH1H)HHHcH|$H9H|$HHC?HHIHHHD$ HH)y HH@H|$ HHF?HHIHHHD$HH)HHT$yH@HHD$H|$AIH?=H|$ HH9|$@HD|$H9~ ADLHHHI H9H;T$ILII@?LIIHHHH)HoHt$8IE1LT$@ALl$0Ht$H$PH|$(H$XWDILII@?MIIHHHI)LyH@HH9McAI9AHEMOMHIHGLH?HH9D$@HDD$H9wMHIHM H9LSHY HH$XdH3%(Hh[]A\A]A^A_Ll$0Ht$8H;T$H$PND@LAHL$@H)IHD$H)HH)HIHHLOH1L)IHH9DHIH9~HD$HHH)H)H1H97AMMFHHK HH)H)HH9}E1LH9LL$0AILD$I|LLD$LL$0HNH|$ Lh(HP0Hx MLl$(IE1E1fLJ<"fH1HHLHrHqHrH9uIMHM9uMMKIH$PJ47DH HHLHOHJHOH9uM#HH{?HIHHHH)HH>HHVH?HH9|$@HD|$IH9ALHHH I9HVE19Hu$1H@HHH@HjH|$ Lh(E1E1Hx Hx0H H5_H812H H5a_H8q1HE1I{ML]HE1 ff.SHHH dH%(HD$1H$HD$HD$H~L1HL$HHLD$H53_tDHT$Ht$H<$HL$dH3 %(u%H [Ð1HT$H5^Hu1Mff.fSHHHuBHu01HtH@HHP ٺHHP([1[@^HtHHS?HIHHHH)yff.ATI1UHS0Ht}HH@ @H@H@0H@@H@HHtHh(HEH؃ []A\fDH@0LHHC( uH+u HCHP01H[]A\ff.H=ՙ 11 ff.t)tG~-tuCf.u#fAVAUIHATUHSHH dH%(HD$1HD$)AăIu(I} HHT$HIH;D$sdLd$LLHt$H9s<H9v%HfDHH9vHH9|H91HPHH9rI L9l$w1H|$dH3<%(bH []A\A]A^ÃIE1HIu(I} HHT$HLd$IH;D$sLL%Ht$H9s<H9v%HfDHH9vHH9|H91HPHH9rI L9l$w;I4$LsHtEIIL9TI|$tHPHH#SH H5A[H8HDHHHDLu߸DHPHHH#S0H(dH%(HD$1HHB?HIHHHH)yH@HH$HHHD$IHt$dH34%(uH(ff.@t!t~t8D@fu@AVAUIATUHSH dH%(HD$1BHt$HD$D$2H}AI9HT$Hu(H} IH;D$saLt$I](LLLT$IL9s2M] @IHL1HtIQH#PIQIM9rI L9d$wD$*U1E1Me(ID$HHLI HD$L9v?ID$HD$I\$H9v H3HHHH9\$wI L9d$wHT$Hu(H} Lt$I](IH;D$JDLL}LT$IL9s5M] @IHLz1Ht IQHH#PIQIM9rI L9d$wHy H5WH8BHL$dH3 %(H []A\A]A^@~H.1HxfMm(IEHHLI HD$L9HIEHD$I]H9v+fHDHGHH9\$wI L9l$w9fAWAVIAUATUSHH+HAxHHtsMLDLtEHHHHH+Iu HCHP0Iu{HtfDM9tI,$t4HmtH[]A\A]A^A_fHEHP0@ID$LP0Hmu@HuM9t LLtI,$HEHP1HUHzHUD$ HR0D$ cIHJH?HHu'M91I,$&ID$LP0AID$LP0lDAWIAVAAUIHATUSHXdH%(HD$H1H\$ D$Hf.9Ysff/yE1f.HH$H$HHLE1HAǃHD$(I}DARHT$(Iu(I} hIH9D$(HE1Lt$0LLHL$L$TH|$0L$HL$H9sLHt7HI4II)L9@I9HIHI)Hu1HPHH9rI L;D$(~D|$EAU1E1AEHL$1DHt$D$LAIHHHf.fW%HMfHD$ HHX?HIHHHH91AH0MtI,$t,HL$HdH3 %(D8HX[]A\A]A^A_fDID$LP0uk1E11HufAIcHH9H|tL-HuAeDMf:@HCH H5*RAH8\L9HHH#PIHH 1Lt$0fDHL$D$HH9HL$0HDLDLHL$HD$8D$$AǃuHT$(Iu(I} ^IH;D$(HE1Lt$0DLLHL$L$LLL$0L$HL$L9sPfHt3HI4HH)L9GH9t;HIHI)Hu1HPHL9rI L;D$(zDL9uHPHIHHH#QfA蠾SHH1[hHtH HHfD1@AWAVAUATAUHSHHzHHdH%(HD$81Ht$D$OD$tnMHUH mHHDHqHMHU DHHHHL$8dH3 %(nHH[]A\A]A^A_fHDHL}AIM~E1"DDLt8IM9sJ|HHuH$跾H$HtfDL9/I.%IFLP01?@Ht$0DD$0HUH߉HJH L$0S1CHDHDL}AIME1DL4IM9~sHEJ1H8ū1@Hx H5>1H8蠫fDH=Ay HH+Hu HCHP0HtAHYU1EGfHyx H5r>1H88(HHH+HtH HCHHP0ɪf1Ht=SHHH+t H[@HSHD$HR0HD$H[fDHtt6Hw HHfDHHHH鋫HVHHHjf.tt"H#w HfDHHHH~kHHff.@tt:Hv HfDHHHHH鿪HVHfDtt"Hcv HfDHHHVHHRfHtt'Hv HHWHoHHVHRHHfDtt:Hu HfDHHH HH鯩HWH~fDSH5u HHH9t0u'H{H5u H9t ګtH[MDH[韾H0u H5Y;H8H[HHHHH9fDAWAVAUATUSHHXdH%(HD$H1H;=t bLgLF?H LHHHLILhILMHH)HH6Lv]LLcJHHD$H H MA@,$E1A)HuxIHM9Hk $H3HLHDLVHHt$ LT$0HT$(Hl$8HtH|$HT$LT$HbHT$LT$H PHtH|$LH9IH hHM9nHD$HdH3%(8H|$HX[]A\A]A^A_@HS(H@LH@HH)HHIHBs H5S9H8˥1H|$HdH3<%(HX[]A\A]A^A_fDH@IHArf.LȧHtM~ fHLHHLH LH HI9upfHH[H|$HH$HHu H|$HGP013ǤUSHHH(dH%(HD$1kHHtrHHt$HHtgD$tdtoHq HH+tHL$dH3 %(udH([]HSHD$HR0HD$f.Ht1fHHuH{HdHLDAVIAUATUHSHHH~}H9IE1H= E1@MAIqL9M9|"DHM9L9HFHt1DHuHcIIHHI9HIE1E1IH5n fDI L9w_IyIQHH9r8M9}BHGHt1DB HuHcHIIH9sM9|f.L1ILHItH H9wGHEH}HH9r*I9~*HHHtHNHHHHHNH9sI9M9~1HVAHI褩LHHHH!M9uHV[L]A\A]A^fDM9~ I L96LN1IHp DH{HCH9v5I9 <@L9}3HPHtHVHHHHVHH9rI9~ H H9wM9mLNADLI,LHHHI!M9uLNL[]A\A]A^Hn H54H8@E1[]LA\A]A^[1]A\A]A^rfSHHH@dH%(HD$81H:n H9FtT诡HH;m HtsHtn H54H8轠1HL$8dH3 %(H@[ÐHT$H裯1tH$HL$HHH9uyHHH{(跧H{ HHHۡH1HrH;&m tdHCHHHH{輧H;HHH蛠;fDHsHC H|$HD$HHHw HD$ ٟ @Ham H53H8誟1nff.SHHH dH%(HD$1Hl H9FHASHHK(HAHpHHH H9vbHAHQH9w JfHH9s?HzHtYH:HHH舟H\$dH3%(H [fDH H9rH`l H53H8詞1DHT$Ht$衭1tHT$HL$HuHH9sHC(HXHx HsHHORf.Hk H52H81+諟H1HCuHC(HXHp HSHHH H9HJHBf.HH9rHyHtYH9HHH8H4k H5u2H8}1HΠH k H51H8S1dt_t2t@HG HWHAHHHAIH I ËGHW(HBHHHH IIDHwHF HVHAAWAVAUAATIHzUHSHdH%(H$1Ht$蓴t$CHT)H:)D4H)Dl$HL$@HT$HLL$(LD$ St$HL$`HT$LL$8LD$0L3xuD$9D$.EtiHoi gDHL$@HT$DLLL$(LD$ t$HL$`HT$LL$8LD$0Hx~HuD$9D$Hh HH$dH3%( HĘ[]A\A]A^A_ÐE1Dd$l$C$ v\HD$ L|$8Ll$0Ht$(MHHD$LH4$1҅ u A9Et҅VH'@E1LD$8HL$0Ht$(H|$ 跥1҅fDHg H5/H8r1HDLIH4$H|$LZNff.HMff.fH-ff.fH ff.fHWHHwHz` f.HWHB HR(HtHWHfATUSHGHO(L` HG0H9tHAHQHHB IHy~8H11ҐHH|8ϗHK(HcLIH;Q|[]A\L[]A\SH5f HHH9tH蓜u?H{H5Df H9t"zuH{H5f H9t atH[D@H[wHe H5-H8zH[ÐHӚHHAWIAVAUATUSHH4e H-e L5e L%ge HhHe I8L`L誘0H8H茘I$8LmL-^e I8LHH=d H8&H=d H8qLDLH5d&HHLH5&HHH5"&HەLH5]%Hɕ1H5,H=y 脚H5$HH袕1H5 LH5$LٕH H1L Ht7f1@uAtHHux 1H[]A\A]A^A_Hfc I8 HSc I$8IH?c H8H,c I8HHc H8|Hc H8GtHH@HcNHHHH|(HF1ff.HHHH8PHff.HG1HÐHHHtH1DSHHHt,HcCHH;G}HD(SH[ÐH/uHGP0HC1[HcNHHH|(HF1AUIATIUHSHGt1H~*1f.H|(Ht LAԅu.HH9]H} HtHLL[]A\A]1H[]A\A]HO7H~1@H3D(HH9uHtHUHHSHHHHEHu(LD(L9sYLH)HHH?HHHfUSHHHo(HtGuTHC(Hmt5H{ HtHC H/tH1[]DHGP0H1[]HEHP0@HH5f1HC(HmuUSHH^Hŋ1KH߉:HCH@Ht~ H[]fHH[]bfH[]5DATIUHSHGuH{ 1Ht[LH]A\f[t[]A\fUHSHHHH5S H9t [HE1H9}SH HH?HHHL(H9tEH9s.JfDH HH?HHHL(HH9tH9r-HH9|H1[]@H[]HHfDH~HwHH}(H[H]鎄ff.H裊tt"H[S HHf.1@HR H5H8袅1ff.UHSHHHH5R H9t t8HHtHHH[]HHH[]HPR H5H81H[]ff.UHSHHH~Ht1҅tH[]DH;H腉1҃H[]fAVAUATUHSHH H5Q dH%(HD$1H<$HHT$H9t H}H5Q H9t tGHH5H轅HHHL$dH3 %(H []A\A]A^@H@IHtzI(LHuHmAu HEHP0At;LCHHuVHu!I,$rID$LP0bfDI,$u ID$LP01JHP H5H8Z1&ff.HH@ATA1UHS0HtED`HH@цHC(HtHk HtHEH[]A\fH+u HCHP01H[]A\fDH=O 1,ff."fHH=O USHHH{H5sO HH9t t H{(詄HHH[]ff.HHHO H9H(tHPHp HGf1ff.fH(H5dH%(HD$1H<$HHD$)HL$dH3 %(uH(_ff.@SH5N HHH9t tOH{(HtFCu Kt HC1[f.HHH5螂H{(H1N H5H81[ÐHCtH_N HHfD1@ATIUHS0HHt(@L` MtI$HH{(1H[]A\@HHH=OM f.AWAVAUATAUHSHH8HL-M dH%(HD$(1L9t LtH{L9L訃pH}L-]M L9tL舃H{L9tLoWHHE H9C  HIHHyIHmHLAAAqdIM8LH&Hu HIHHT$H5rLHD$D$H+u HCHP0I,$u ID$LP0I.u IFLP0Imu IELP0HL$(dH3 %(LH8[]A\A]A^A_f.HEE1E1Lt(HCLl(HE(HD$HC(1H$DH$Ht$I9vkH>I9HH9rthHAA1AtAAA! ADDEtMtPI:IHI9wI9vkH8H1HDHH1HH1ҹ`!Az@MHu Hc~IHLP(fDHYJ H5E1H8}bfE1H+t\I,$u ID$LP0I.u IFLP0MtImu IELP0MtI/u IGLP0E1HCHP0HI H5bH8|H+uE1E1HCHP0Mu]E1fK{IHtHHHHHSLHHHPHR0uf.H+tE1fH+CE1xfD|IsIzsIjL1~{ff.BfUHSHHHH5H H9t tHxH HHH[]HHHߺ[]fUHSH{HtDHHt HHqHtH(u HPHR0HH[]fH+u HCHP01HH[]@SH ĝ HHHHHdH%(HD$1IH$}1tH4$1HyHL$dH3 %(uH[zff.@fUHSHHHH55G H9t }tHG HHH[]?HHHߺ[]frfUHSHH8HH5F dH%(HD$(1H9t ;}H}H5F H\$Hl$H9t }thHT$H5THzHHH|$H9tHtH/uHWHD$R0HD$HL$(dH3 %(uhH8[]wHD$HtHHNHtH(oHPHR0`1}fHHPixf2fUHSHHHH5E H9t |tH0F HHH[]HHHߺ[]fSHxHtHX(H[ff.@SHH HV HvdH%(HD$1D$_zH$HtHH5H$yH$HL$dH3 %(uH [UwDHH=bD zff.fUSHHH?;xHt'H;HH/tH+1H[]fDHGP0UHSHH=D vHtBHHHyH+tH[]HSHD$HR0HD$H[]DH1[]SH HHHHH dH%(HD$1LL$LD$HD$HD$xt[H;4C HD$HT$t(HHtHL$dH3 %(u1H [HtH9XuH9P uHf1uAUIATUSHH=hC H8revHC H8hH@vH=iC H8[vL%OB I$8PLupH-YB H8CHuKLy1H5 H= IxH5 LHsHuHH5 LsH\uHH5 LasL0uLLH5 5sH[]A\A]HyA H8{DHaA H8DHIA H8DH1A I$8@HA H8DH[]A\A]HH__doc__guppy.sets.setsc._NyHeapDefs_module initialization failedsetsc~+PHX(bitset slicing step must be 1(~%R)MutBitSet(~ImmBitSet(%R))MutBitSet(%R)len() is too largeImmBitSet([])ImmBitSet(%R)|O:immbitset|O:mutbitset_newpop(): index must be 0 or -1pop(): empty set|n:popO!:CplBitSet.__new__NyBitSet_Exports_bsargNyBitSet_Exports v1.0immbitimmbitrangeguppy.sets.setsc.Unionimmbitset-iteratorguppy.sets.setsc.MutBitSet_splitting_size_num_seg_indisizeis_immutable__reduce__helper for pickleaddappendcleardiscardremovemutcopytastacguppy.sets.setsc.CplBitSetguppy.sets.setsc.ImmBitSetguppy.sets.setsc.BitSetimmbitset with negative bits can not be converted to intimmbitset too large to convert to intlen() of this immbitset is too large to telllen() of complemented set is undefinedoperand for anybitset_iterate must be immbitset or mutsetbitno_from_object: an int was expectedInvalid mutbitset_iop_field() operationmutset.remove(%ld): bit is not in the set.mutset.append(%ld): bit is already in the set.bitrange() arg 3 must be positivebitrange() result has too many itemsn;bitrange() requires 1-3 int argumentsnn|n;bitrange() requires 1-3 int argumentsInvalid mutbitset_iop_fields() operationInvalid mutbitset_iop_bits() operationoperand for mutable bitset must be integer or iterableImmBitSet.__new__ : complemented arg not supportedpop(): The mutset is complemented, and doesn't support pop. operand for immbitset must be a bitset, iterable or integerNyBitSet_Form() requires exactly 2 argumentsNyBitSet_Form(): 1st arg must be an intNyBitSet_Form(): 2nd arg must be bytesNyAnyBitSet_length: bitset required.immbitset_lshift(): too large shift countthis slice index form is not implementedempty immbitset - index out of rangeimmbitset_subscript(): index must be 0 or -1mutbitset_slice(): The mutset is complemented, and doesn't support other slice than [:]. mutbitset_subscript(): The mutset is complemented, and doesn't support indexing. mutbitset_subscript(): index must be 0 or -1mutbitset_subscript(): empty setbitset_richcompare: some bitset expectedanybitset_indisize: some bitset expectedguppy.sets.setsc.NybitSet_ExportsNo object found at address %p nodeset_richcompare: some nodeset expectedS.append(e): e is already in SNyNodeSet_iterate: can not iterate because not owning element nodesiop: left argument must be mutableleft argument must be a NodeSetnodeset_op: mismatching '_hiding_tag_' attributesguppy.sets.setsc.NyNodeSet_ExportsS.is_immutable == True True since S is immutable.S.is_immutable == False False since S is not immmutable.S.is_immutable : bool True if S is immutable, else False.list(%%s)[%d]immutable nodesetmutable nodeset requiredpop: argument must be mutableS.remove(e): e not in S|O:MutNodeSet.__new__|OO:ImmNodeSet.__new__NyNodeSet_Exportsiterablehiding_tagNyNodeSet_Exports v1.0obj_at_hiding_tag_immnodeset-iteratorguppy.sets.setsc.NodeSetguppy.sets.setsc.MutNodeSetguppy.sets.setsc.ImmNodeSet;^,e\l, m|nlnn|oo,pl q,qqq|s s, sD s` st t t ,t \a0 sCEGD R GAF NCA0@sSEGD c DAH NCA0ttCEGD R GAF NCA4txLD h AG XAGP DCdtDV^(tAAD  AAA 4$ulEDD0t AAE X AAF \upuYAA N D4vKAK w AAH i CAA 4\vAAG ~ AAG t CAA D vBBE B(A0A8GP8D0A(B BBBLH wBBE E(A0A8D 8A0A(B BBBI  { |D n F M K 4 H}EFD b AAE l CAA  }0 }SEGD b DAI NCAL } 0` }SEGD b DAI NCA4 ~QBDG m ABC KCB 8~ 4~ L 0~BEH D(A0y (A BBBD X(C BBBD ~X ~Hl ~JBHB B(D0E8H@ 8A0A(B BBB > (>L TuBBB B(A0A8G h 8A0A(B BBBA 0 EJ0~ AB T EG D C E 4x FFD V ABG nAB  i@ lYBBI A(D0GP 0A(A BBBA  qD0g A 8 \@L 8BBE A(F0DP' 0A(A BBBE H BBE B(A0A8GP 8A0A(B BBBJ L XBEE H(A0A8D 8A0A(B BBBG ,ENH,HY G HdbFBB B(D0D8K 8A0A(B BBBC $0D<&BDA  ABE m ABH U ABA ( $EDD0 AAA LoE[ H AA pdp| xoE[ H AA ęЙ(ܙpEADP9 AAK $ EQ U AD HLWcF dvE[ O AA ( @${BDJ c ABJ b ABK GAB` $\JED a AE XA0-AG cADP0BAD  ABG T ABA X ABE 8|@BED D(D@ (A ABBF  $EX0e AE 0H\XED _ AG X AG DC|0FAA G@  AABD (0ILG O AE XAG TfHY G U K VQtU,ZdUD0NtR\hZ|VtZdU$pEy J D E ^@*d\BBB B(A0A8G 8A0A(B BBBI g 8A0A(B BBBG (0ĦEAJ@f AAH p\xFEB A(D0 (D BBBG  (A BBBA Z (A EBBA A(C BBB EJPn AB `IEJ0 AG L,BBB E(H0D8IT 8A0A(B BBBB |HT`lx4xFAA ] ABH DAB$̰ER I D L ^@4HIHX<FEB B(A0A8D@ 8A0A(B BBBA  $$KS   ijIEi B X@ HT}FED D(D0D (G ABBI F(A ABB494`EGD  AAH H AAA $(CEDD pDAP\XX H O<4EDD ` AAA D DAG DAA@tFDA E ABE Y ABL KCB(FDD U GBD JAB<hEDG  CAE D FAA cAERH] K <LEDG l GAL D GAE \FA0HNEDG V CAF WCA@|bBBB A(D0GP 0A(A BBBE  4jFFD z ABC VAB  $4 $H,DEAG qDApT3QH0C A ĿE@ K ~4,HY G (HLFDD zABlHxBBB B(D0D8Gp 8A0A(B BBBK h0|^EDG d GAL DLA0lEID v DAC VDA @qE[ J AA  0 ^EDG d GAL DLAP (d 'EDGP AAH  0 ^EDG d GAL DLA !E[ kEG0X AA !L(,!XHEAG b AAG <X!|iEDD0i AAH X AAF DCA !E[0g AH H!H FEA A(D0t (D ADBH |(F ABBGNUW`W!   F I P!!o` ^ ! 0@  ooX ooo!J J0J@JPJ`JpJJJJJJJJJKK K0K@KPK`KpKKKKKKKKKLL L0L@LPL`LpLLLLLLLLLMM M0M@MPM`MpMMMMMMMMMNN N0N@NPN`NpNNNNNNNNNOO O0O@OPO`OpOOOOOOOOOPP P0P@PPP`PpPThis module implements two specialized kinds of sets, 'bitsets' and 'nodesets'. Bitsets are sets of 'bits' -- here meaning integers in a particular range -- and designed to be efficient with dense as well as sparse distributions. Nodesets are sets of 'nodes', i.e. objects with equality based on their address; this makes inclusion test work with any combination of objects independently from how equality or hashing has been defined for the objects involved. Summary of module content. Classes BitSet Abstract bitset base class. CplBitSet Complemented immutable bitset. ImmBitSet Immutable bitset, non-complemented. MutBitSet Mutable bitset, complemented or not. NodeSet Abstract nodeset base class. ImmNodeSet Immutable nodeset. MutNodeSet Mutable nodeset. Functions immbit Immutable bitset singleton constructor. immbitrange Immutable bitset range constructor. immbitset Immutable bitset constructor. Data NyBitSet_Exports, NyNodeSet_Exports C-level exported function tables. !S.is_immutable == False False since S is not immmutable.S.is_immutable == True True since S is immutable.immbitset() -> empty immutable bitset immbitset(bitset) -> immutable bitset with bitset's bits immbitset(iterable) -> immutable bitset with iterable's bits (int items) immbitset(integer) -> immutable bitset with integer's bits (binary 2-complement) Return an immutable bitset. It will be complemented if the argument is a complemented bitset or a negative integer. If the argument is an immutable bitset, the result is the same object. _bs(flags, data) -> some kind of bitset Internal function used to form a bitset when unpickling. It is designed to be 'safe' with any data but may give strange results if given something else than what x.__reduce__() generated.immbitrange([start,] stop[, step]) -> immutable bitset Return an immutable bitset containing an arithmetic progression of integers. immbitrange(i, j) equals immbitset([i, i+1, i+2, ..., j-1]). Start defaults to 0. If step is given, it specifies a positive increment. For example, immbitrange(3) equals immbitset([0, 1, 2]).immbit(bit) -> immutable bitset Return an immutable bitset containing the single bit specified. The bit must be an integer in the range of an int.S.mutcopy() -> mutable bitset Return a mutable copy of S. S.tac(e) -> bool Test and Clear. If e is in S, remove e from S and return True, else return False.S.tas(e) -> bool Test and Set. If e is in S return True, else add e to S and return False.S.clear() Remove all elements from S, and compact its storage.S.remove(e) Remove e from S, or raise ValueError if e was not in S.S.pop([index]) -> int Remove and return a bit, or raise ValueError if there is no bit to pop. The index must be -1 (default) to pop the highest bit or 0 to pop the lowest bit; otherwise IndexError will be raised.S.discard(e) Remove e from S; no effect if e was not in S.S.append(e) Add e to S, or raise ValueError if e was already in S.S.add(e) Add e to S; no effect if e was already in S MutBitSet() -> new empty mutable bitset MutBitSet(bitset) -> new mutable bitset with bitset's bits MutBitSet(iterable) -> new mutable bitset with iterable's bits (int items) MutBitSet(integer) -> new mutable bitset with integer's bits (binary 2-complement) A mutable bitset has operations common for all bitsets as described for the BitSet base class. It also defines the following methods: add, append, clear, discard, pop, remove, tac, tas CplBitSet(x:ImmBitSet) -> complemented immutable bitset. If the argument is an instance of ImmBitSet, this is the same as ~x, otherwise TypeError is raised. A complemented immutable bitset provides the same operations as non-complemented immutable bitsets, except for len() and iter(). ImmBitSet() -> empty immutable bitset ImmBitSet(bitset) -> immutable bitset with bitset's bits ImmBitSet(iterable) -> immutable bitset with iterable's bits (int items) ImmBitSet(integer) -> immutable bitset with integer's bits (binary 2-complement) The result can only be non-complemented; TypeError is raised otherwise. (The function immbitset() can be used to create both complemented and non-complemented bitsets.) An immutable bitset provides the operations common for all bitsets as described for the BitSet base class. It also defines the following: hash(x) -> int Return a hash value based on the bit numbers of the elements. The class BitSet is the base class for all bitset classes. A bitset is a set of 'bits'. Bits are integers, in a range that is typically [-2**31 .. 2**31-1] or the range of the builtin Python int type. The implementation of bitsets is such that it handles dense sets the most efficiently while sparse sets are handled reasonably well. Bitsets can be either mutable or immutable. Mutable bitsets have various operations to add and remove bits in-place. Immutable bitsets have hashing so they can be used as keys in dicts. Both kinds of bitsets have several operations in common. Sometimes an operand can be either a bitset or a 'convertible', which means it is one of the following kinds. iterable An iterable argument is convertible to a bitset if each object yielded is an integer in the range of an int. int A positive argument, x, of one of these types will be converted to a bitset with the same bits as the binary representation of x. A negative argument will be converted to a complemented bitset, equivalent to the following expression: ~immbitset(~x) This corresponds to the bits in the 2-complement binary representation of x, except that the result conceptually has all negative bits set. The difference shows (only) when shifting a complemented bitset. The following operations are common for mutable and immutable bitsets. ------------------------------------------ Standard binary operations. In the usual case the left argument is some kind of bitset, and the right argument is a bitset or a 'convertible' as defined above. The return value is then an immutable bitset. x & y -> Intersection: the set of bits that are in both x and y. x | y -> Union: the set of bits that are in either x or y. x ^ y -> Symmetric difference: the set of bits that are in exactly one of x and y. x - y -> Difference: the set of bits that are in x but not in y. If the right argument is a bitset but not the left argument, the result will be an immutable bitset if only the left argument is a convertible that does not define the same operation; otherwise the result is what is returned by the operation of the left argument or a TypeError will be raised. The following table gives the result for the different kinds of arguments. Left argument Right argument Result - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bitset bitset immutable bitset bitset convertible immutable bitset bitset other TypeError defining the same op bitset handled by left argument convertible bitset immutable bitset other bitset TypeError ------------------------------------------ In-place binary operations. The left argument must be a bitset. If it is mutable, it is updated in place and returned. If it is immutable, the result is a new immutable bitset. The right argument is a bitset or a convertible. x &= y -> Intersection x |= y -> Union x ^= y -> Symmetric difference x -= y -> Difference ------------------------------------------ Complement operation. ~x -> immutable bitset Return the complement of x. This is a bitset that, conceptually, contains all bits in the universe except the ones in x. [ Subtle If x is not already complemented, ~x will return a special complemented kind of set. This can be used like other bitsets except for two operations that are not supported: it is not possible to iterate over, or take the length of a complemented bitset. If x is a complemented bitset, ~x returns a non-complemented bitset. Mutable bitsets may become complemented in-place if given a complemented argument to a suitable in-place operation. This is represented by a flag. Immutable complemented bitsets are represented by a special type, but this is to be considered an implementation detail, it could as well be using a flag. ] ------------------------------------------ Shift operation. x << y -> immutable bitset Return the set of bits of x, with the integer y added to each one. Raise OverflowError if some bit would exceed the range of an int. [ Subtle For non-complemented x and positive y, the result is what one would expect if x was a number in binary representation. But when x is complemented, the result will equal ~((~x) << y) which is different from what one would expect from binary number shifting, since 1's are shifted in from the right. The operation allows both positive or negative y values, unlike the shift for integer objects. For negative y's, the operation will shift bits to the right but not quite in the same way as a binary integer right-shift operation would do it, because the low bits will not disappear but be shifted towards negative bits. ] ------------------------------------------ Inclusion test. The left argument is an integer in the range of an int. The right argument is a bitset. x in y -> bool True if x is an element of y, False otherwise. ------------------------------------------ Relational operations. These return a boolean value. The left argument is a bitset. The right argument is a bitset. If the right argument is another type, TypeError will be raised. (This restriction may be reconsidered in the future.) x == y -> Equal: x and y contain the same bits. x != y -> Not equal: x and y do not contain the same bits. x <= y -> Subset, non-strict: all bits in x are also in y. x < y -> Subset, strict: all bits in x are also in y, and y contains some bits not in x. x >= y -> Superset, non-strict: all bits in y are also in x. x > y -> Superset, strict: all bits in y are also in x, and x contains some bit not in y. ------------------------------------------ Iteration. iter(x) -> iterator The iterator yields the bits of x. Raises TypeError if x is complemented. [The order is implementation dependent.] ------------------------------------------ Length. len(x) -> int Return the number of bits in x. Raises TypeError if x is complemented. ------------------------------------------ Truth-value testing. bool(x) -> bool Return True if x is not empty, False otherwise. ------------------------------------------ Conversions. int(x) -> int Return an integer having the same binary representation as the bits of x, or raise an exception if the bitset can not be represented in the choosen type. When no exception is raised, the bitset x can be exactly recreated and the following invariants will hold. immbitset(int(x)) == x The exception OverflowError will be raised if it is found that x can not be represented. Note that for a sparse bitset with high bit numbers, int(x) may create a very big object since it allocates storage for all the low bits up to the highest bit number set, unlike bitsets that use a sparse representation. Creating such big objects may run out of storage which may raise a MemoryError or cause some other malfunction depending on the system. ------------------------------------------ Mutable copy S.mutcopy() -> mutable bitset Return a mutable copy of S. +!%)!&!@(!@ivo@{.!p|.!`,!0{@.!p`-!P|-!@+!z`,!pz+!m +!0f@m`_P_ chl+! f`@y^1 dH(d^ b[pZpf]!T!R! /!0 S!R!\!Pb_0h0 Ф_PfU!@U!0_1!T!@`!p_ `\mb!V!V!\@2!@W!@b!p_] )x.obj_at(address) Return the object in x that is at a specified address, if any, otherwise raise ValueErrorImmNodeSet([iterable]) Return a new immutable nodeset with elements from iterable. An immutable nodeset inherits the operations defined for NodeSet. It also supports the following operation: hash(x) -> int Return a hash value based on the addresses of the elements.S.tac(e) -> bool Test and Clear. If e is in S, remove e from S and return True, else return False.S.tas(e) -> bool Test and Set. If e is in S return True, else add e to S and return False.S.remove(e) Remove e from S, or raise ValueError if e was not in S.S.pop() -> object Remove and return some object from S, or raise ValueError if S was empty.S.discard(e) Remove e from S; no effect if e was not in S.S.clear() Remove all elements from S, and compact its storage.S.append(e) Add e to S, or raise ValueError if e was already in S.S.add(e) Add e to S; no effect if e was already in S.MutNodeSet([iterable]) Return a new mutable nodeset with elements from iterable. A mutable nodeset inherits the operations defined for NodeSet. It also supports the following methods: add, append, clear, discard, pop, remove, tac, tas. The class NodeSet is the base class for ImmNodeSet and MutNodeSet. A nodeset is a set of objects with equality based on heap address. The following operations are defined for both mutable and immutable nodesets. ------------------------------------------ Binary operations. The following operations all return an immutable nodeset. The left argument must be a nodeset. The right argument can be any iterable object. x & y -> Intersection: the set of objects that are in both x and y. x | y -> Union: the set of objects that are in either x or y. x ^ y -> Symmetric difference: the set of objects that are in exactly one of x and y. x - y -> Difference: the set of objects that are in x but not in y. ------------------------------------------ In-place binary operations. The left argument can be mutable or immutable. If it is mutable, it is updated in place and returned. If it is immutable, the result is a new immutable nodeset. The right argument can be any iterable object. x &= y -> Intersection x |= y -> Union x ^= y -> Symmetric difference x -= y -> Difference ------------------------------------------ Inclusion test. The left argument can be any object. The right argument is a nodeset. x in y -> bool True if x is an element of y, False otherwise. ------------------------------------------ Relational operations. These return a boolean value. The left argument is a nodeset. The right argument is a nodeset. If the right argument is another type, TypeError will be raised. (This may be relaxed in future.) x == y -> Equal: x and y contain the same elements. x != y -> Not equal: x and y do not contain the same elements. x <= y -> Subset, non-strict: all elements in x are also in y. x < y -> Subset, strict: all elements in x are also in y, and y contains some element not in x. x >= y -> Superset, non-strict: all elements in y are also in x. x > y -> Superset, strict: all elements in y are also in x, and x contains some element not in y. ------------------------------------------ Iteration. iter(x) -> iterator The iterator yields the elements of x. [The order is implementation dependent.] ------------------------------------------ Length. len(x) -> int Return the number of elements in x. ------------------------------------------ Truth-value testing. bool(x) -> bool Return True if x is not empty, False otherwise. @e!  i!0@i! i!h!`h! h!g!@ g!м@pPhH @0w!}!w!Dj!@}! `0pDi!`v!v!|!P6(pDf!@`u!u!@y!pGA$3a1I] GA$3p1067WXGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA$3p1067`PGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYWlGA+GLIBCXX_ASSERTIONSsetsc.cpython-37m-x86_64-linux-gnu.so-3.0.8-7.el8.x86_64.debug%7zXZִF!t/0/ w]?Eh=ڊ2N QG`VOI-؈Hg>w)'+zQ܆USǸg?1#%ܠfKxL$ $ ;_M? Nju#̱a )MH^ϫJ9*6&F|X%ڽ\y~BQ5pQ6N?[FS7 L IOkD44O>+  3;G vA\nrBJT3x60 DtUj1bԣeV{&Z9N9^BnYw:Ѭ;%pEnSnQEA#3%2;UxF w @*ۋRQgRDc)Յ*,Bt끢S~wllI*^VǬ;w/gfiEs5*iՙWZϞ~s"n;BC/S Nk?o10O3\rb0N鱿jt"Rw*Ф颢І2o#Bmm]-ܥ}~mʳ0vu\8-0S?HUO/ TRexA(Rir`hqZb']Re|w@y o#|7G3SvN5Zu-F1vr69"v25]Blw#l;X.[<Uk>|/_2^,nE |n0=w}fhCnt̓sYN!-M<`J'xE}0/udtC 32D! C$-pJr,*g3yɱcY_gp(;)A)w:Q{NRy4rju^ yKkzDGal$$.d lcL^ȠI0pK9pTྵ9y[[c>&Kۛ;%D㓍G,\zog9G^W-1weŻb݄ rr|0& d!YZ Oˡknv@Y&CF=zT ɴk<i @/͐g!!sk颚R9ȋjݵc_pkZ2u٫! HS_v?5QxF225AgŎ7G f * ML1v!`zJ`.3^ LAcWw.:G~nHI<vݟ `I`0~o,Ew G$9\yq% Rx=:j]ڻN_.ʪa]=}mFY\DCS8m&%ONк|3|?9e&AeB!\gPvgZw#~y ^]mr_S8X뭹m {ᬉkW'l ) 4h`_J03'li: 3;bq[Hc/X2N葾?'nB"͂oa}hגfjpݨ?e&,`x igYc>0DفqHk"&Kbsfͦ.VbLl|y7%q35jo@\4 !HS>qӔ& @MvyXYy"S;U 9CL?*iL̻$Uo?A;?eLS5EZIUQdW."T]#ϛ`[nR͚\!  u*/Il =׏K$)_ڸhz weRHp`p,wQ`GvD*x 5Q6 i[$ƒ(P͑hezF*)~=hٵ~@/džP{te?sEȸJ.Lq?15M%[n1?`S`x-gYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata 88$o``( 0^ 8o:EoX X @T ^B0@0@ hIIcJJnPPpwVV`}PP `` TT(("00 !!!!!P ! b !Ђh HaЂ D( (