+
    ŸBiºŸ  ã                   óv  € ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ]
P(                  R8H  tRtRt]! R	4      t]! R
4      t]3R ltR tR t ! R R]]P<                  4      t ! R R]P<                  4      t ]!R8X  d   ]PD                  ! 4        R# R# )é    )Úabc)ÚcombinationsN)Úsupport)Úimport_helper)Úassert_python_ok)ÚComplexesAreIdenticalMixinÚbigÚinfÚnanc              #   ód   "  € \          F!  pV  F  pVR9  d
   VR9   d   K  W3x € K  	  K#  	  R# 5i)Ú N©r   Ú@)ÚnÚN)Úinteger_codes)Ú
byteordersÚcodeÚ	byteorders   &  Ú'/usr/lib/python3.14/test/test_struct.pyÚiter_integer_formatsr      s3   é € ßˆÛ#ˆIØ Ô*¨t°zÔ/AÙØ/Ô!ó $ó ùs   ‚.0c                 ó   € V R R R1,          # )Néÿÿÿÿ© )Úss   &r   Ústring_reverser       s   € Ø‰TˆrˆT7€Nó    c                 ó4   € \         '       d   V # \        V 4      # ©N)ÚISBIGENDIANr   )Úvalues   &r   Úbigendian_to_nativer"   #   s   € ßƒ{Øˆä˜eÓ$Ð$r   c                   ód  a € ] tR t^)t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR t]P0                  R 4       tR tR tR tR tR tR tR t ]P0                  R 4       t!R t"]P0                  R 4       t#]P0                  R 4       t$R  t%R! t&R" t'R#t(V t)R$# )%Ú
StructTestc                óp   € V P                  \        P                  ! R ^4      ^ ,          ^ 8H  \        4       R# )z=iN)ÚassertEqualÚstructÚpackr    ©Úselfs   &r   Útest_isbigendianÚStructTest.test_isbigendian*   s'   € Ø×Ñœ&Ÿ+š+ d¨AÓ.¨qÕ1°QÑ6¼ÖEr   c                óh  € V P                  \        P                  \        P                  R 4       \        P                  ! R4      pV P	                  V^,          \        P                  ! R4      4       RpRp\        P                  ! V4      p\        P                  ! V4      pV P	                  V^,          V4       V P                  \        P                  \        P
                  R^4       V P                  \        P                  \        P
                  R^^^4       V P                  \        \        P                  3\        P
                  RR4       V P                  \        \        P                  3\        P
                  RR4       V P                  \        P                  \        P                  RR4       \        P
                  ! R	^^4      pV P                  \        P                  \        P                  RV4       V P                  \        P                  \        P                  RV4       R
# )ÚZÚiÚiiizcbxxxxxxhhhhiillffd?z3c3b18x12h6i6l6f3d3?ÚfooÚPÚds   flapÚiiN)ÚassertRaisesr'   ÚerrorÚcalcsizer&   r(   Ú	TypeErrorÚunpack)r*   ÚszÚfmtÚfmt3Úsz3r   s   &     r   Útest_consistenceÚStructTest.test_consistence-   se  € Ø×Ñœ&Ÿ,™,¬¯©¸Ô=ä_Š_˜SÓ!ˆØ×Ñ˜˜a¤§¢°Ó!7Ô8à$ˆØ%ˆÜ_Š_˜SÓ!ˆÜoŠo˜dÓ#ˆØ×Ñ˜˜a Ô%à×Ñœ&Ÿ,™,¬¯©°U¸AÔ>Ø×Ñœ&Ÿ,™,¬¯©°S¸!¸QÀÔBØ×Ñœ9¤f§l¡lÐ3´V·[±[À#ÀuÔMØ×Ñœ9¤f§l¡lÐ3´V·[±[À#ÀuÔMØ×Ñœ&Ÿ,™,¬¯©°s¸GÔDÜKŠK˜˜a Ó#ˆØ×Ñœ&Ÿ,™,¬¯©°u¸aÔ@Ø×Ñœ&Ÿ,™,¬¯©°s¸AÖ>r   c                óh  € R p^p^ÿpRpRpRpRpRpR EF  p	R EF  p
Wš,           p
\         P                  ! W¡W#WEWgV4	      p\         P                  ! W«4      w  rÍrïppppV P                  WÁ4       V P                  WÒ4       V P                  Wã4       V P                  Wô4       V P                  VV4       V P                  \	        ^dV,          4      \	        ^dV,          4      4       V P                  \	        ^dV,          4      \	        ^dV,          4      4       V P                  VV4       EK  	  EK  	  R# )ó   aiÿÿ  i   goƒÀÊ!	@TN)r   r   Ú<Ú>Ú=Ú!)z	xcbhilfd?z	xcBHILfd?)r'   r(   r9   r&   Úint)r*   ÚcÚbÚhr/   ÚlÚfr3   ÚtÚprefixÚformatr   ÚcpÚbpÚhpÚipÚlpÚfpÚdpÚtps   &                   r   Útest_transitivenessÚStructTest.test_transitivenessB   s  € ØˆØˆØˆØˆØˆØˆØˆØˆä3ˆFÜ4ØÜ—K’K ¨1°°q¸QÓ?Ü17·²¸vÓ1IÑ.˜  B¨¨BØ× Ñ  Ô'Ø× Ñ  Ô'Ø× Ñ  Ô'Ø× Ñ  Ô'Ø× Ñ   QÔ'Ø× Ñ ¤ S¨2¥X£´°C¸!µG³Ô=Ø× Ñ ¤ S¨2¥X£´°C¸!µG³Ô=Ø× Ñ   Q×'ô 5ó 4r   c                ó„  € . RNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR. RR^3NR0NpV FÞ  w  r#rEpRV,           V3RV,           V3RV,           V3RV,           \         ;'       d    T;'       g    T33 F‘  w  rx\        P                  ! Ws4      p	V P                  W˜4       V P                  \        P                  ! V4      \        V	4      4       \        P                  ! Wy4      ^ ,          p
W£8w  g   K€  V P                  V4       K“  	  Kà  	  R# )1rG   ó    Ú?rC   rE   rB   rD   N)rG   rA   rA   rA   r   )ÚxcrA   ó    ar]   r   )ÚcxrA   ó   a r_   r   )r   rA   rA   rA   r   )Ú0só
   helloworldr   r   é   )Ú1sra   ó   hrd   rb   )Ú9sra   ó	   helloworlrf   rb   )Ú10sra   ra   ra   r   )Ú11sra   ó   helloworld ri   rb   )Ú20sra   ó   helloworld          rk   rb   )Ú0pra   r   r   rb   )Ú1pra   rZ   rZ   rb   )Ú2pra   ó   hro   rb   )Ú10pra   ó
   	helloworlrq   rb   )Ú11pra   ó   
helloworldrs   r   )Ú12pra   ó   
helloworld ru   rb   )Ú20pra   ó   
helloworld         rw   rb   )rH   é   ó   ry   r   )rH   iùÿÿÿó   ùrz   r   )ÚBrx   ry   ry   r   )r{   éù   rz   rz   r   )rI   é¼  ó   ¼ó   ¼r   )rI   iDýÿÿó   ýDó   Dýr   )ÚHr}   r~   r   r   )r‚   iDý  r€   r   r   )r/   é€,ó   ,€ó   €,r   )r/   é€âÓûó   ûÓâ€ó   €âÓûr   )ÚIrƒ   r„   r…   r   )r‰   ì   €b§w r‡   rˆ   r   )rJ   rƒ   r„   r…   r   )rJ   r†   r‡   rˆ   r   )ÚLrƒ   r„   r…   r   )r‹   rŠ   r‡   rˆ   r   )rK   ç       @s   @   s      @r   )r3   rŒ   s   @       s          @r   )rK   ç       Às   À   s      Àr   )r3   r   s   À       s          Àr   )r[   r   rZ   rZ   r   )r[   é   ó   r   rb   )r[   Tr   r   r   )r[   )rb   r   r   rb   )r    r'   r(   r&   r7   Úlenr9   Ú
assertTrue)r*   Útestsr;   Úargr	   ÚlilÚasyÚxfmtÚexpÚresÚrevs   &          r   Útest_new_featuresÚStructTest.test_new_featuresZ   s˜  € ð-
Ø&ð-
à+ð-
ð ,ð-
ð 'ð	-
ð
 /ð-
ð 1ð-
ð Að-
ð Dð-
ð Hð-
ð Vð-
ð /ð-
ð 7ð-
ð 9ð-
ð Jð-
ð Lð-
ð  Pð!-
ð" \ð#-
ð$ &ð%-
ð& +ð'-
ð( &ð)-
ð* ,ð+-
ð, 4ð--
ð. /ð/-
ð0 4ð1-
ð2 6ð3-
ð4 Cð5-
ð6 Jð7-
ð8 Cð9-
ð: Uð;-
ð< Cð=-
ð> Jð?-
ð@ CðA-
ðB UðC-
ðD >ðE-
ðF<ðG-
ðJ EðK-
ðL@ðM-
ðP &ðQ-
ðR &ðS-
ðT )ðU-
ðV "e˜U AÐ&ðW-
ðX )ðY-
ˆó^ (-Ñ#ˆCc Ø!$ S¥¨# °°Sµ¸#°ÀÀSÅÈ#ÀØ!$ S¥¬+×*=Ð*=¸#×*DÐ*DÀÐ Eó G‘ä—k’k $Ó,Ø× Ñ  Ô*Ø× Ñ ¤§¢°Ó!6¼¸C»ÔAÜ—m’m DÓ.¨qÕ1Ø–:Ø—O‘O CÖ(ó Gó (-r   c                ó  € R ^R^R^R^R^R^R^R^R^R	^/
p\        R4       F;  w  r#W2,           p\        P                  ! V4      pV P                  WQV,          4       K=  	  RpV Fc  pR FZ  p\        P                  ! W7^ ,          ,           4      p\        P                  ! W7^,          ,           4      p	V P                  W‰4       K\  	  Ke  	  V P                  \        P                  ! R 4      ^4       V P	                  ^\        P                  ! R4      4       V P	                  ^\        P                  ! R4      4       V P	                  \        P                  ! R4      \        P                  ! R4      4       V P	                  \        P                  ! R4      \        P                  ! R4      4       V P	                  ^\        P                  ! R4      4       V P	                  \        P                  ! R4      \        P                  ! R4      4       V P                  \        P                  ! R
4      \        P                  ! R4      4       V P                  \        P                  ! R
4      \        P                  ! R4      4       R# )rH   r{   rI   r‚   r/   r‰   rJ   r‹   ÚqÚQr   r2   N©rD   rB   rC   rE   )ÚbBÚhHÚiIÚlLÚnNÚqQr   )r   r'   r7   r&   ÚassertLessEqualÚassertGreaterEqual)
r*   Úexpected_sizer   r   rN   ÚsizeÚnative_pairsÚformat_pairÚsigned_sizeÚunsigned_sizes
   &         r   Útest_calcsizeÚStructTest.test_calcsize–   sÖ  € àC˜ØC˜ØC˜ØC˜ØC˜ðˆô  4Ð4HÖI‰OˆDØ•^ˆFÜ—?’? 6Ó*ˆDØ×Ñ˜T°Õ#6Ö7ñ  Jð :ˆÛ'ˆKÛ$	Ü$Ÿošo¨iÀa½.Õ.HÓIÜ &§¢°	È½NÕ0JÓ KØ× Ñ  Ö<ó %ñ (ð 	×ÑœŸš¨Ó-¨qÔ1Ø×Ñ˜Q¤§¢°Ó 4Ô5Ø×Ñ˜Q¤§¢°Ó 4Ô5Ø×ÑœVŸ_š_¨SÓ1´6·?²?À3Ó3GÔHØ×ÑœVŸ_š_¨SÓ1´6·?²?À3Ó3GÔHØ×Ñ˜Q¤§¢°Ó 4Ô5Ø×ÑœVŸ_š_¨SÓ1´6·?²?À3Ó3GÔHØ×Ñ¤§¢°Ó 4´f·o²oÀcÓ6JÔKØ×Ñ¤§¢°Ó 4´f·o²oÀcÓ6JÖKr   c                ó¶   aaa€ ^ RI o ! VVV3R lR\        P                  4      o\        4        F%  w  rW!,           oS! S4      pVP	                  4        K'  	  R# )r   Nc                   ó   <a a€ ] tR t^¼t oVV 3R lt]P                  ]P                   ZP                  3R lt	V3R lt
RtVtV ;t# )Ú+StructTest.test_integers.<locals>.IntTesterc                óÄ  <€ \         SV `  R R7       Wn        VR	,          V n        VRR	 V n        V P                  \
        9   g   \        RV P                  ,          4      h\        P                  ! V4      V n	        V P                  ^,          V n
        V P                  \        R4      9   dP   RV n        ^V P                  ^,
          ,          ) V n        ^V P                  ^,
          ,          ^,
          V n        R# V P                  \        R4      9   d0   RV n        ^ V n        ^V P                  ,          ^,
          V n        R# \        RV P                  ,          4      h)
Útest_one)Ú
methodNameNz"unrecognized packing byteorder: %sÚbhilqnTÚBHILQNFzunrecognized format code: %sr   )ÚsuperÚ__init__rN   r   r   r   Ú
ValueErrorr'   r7   ÚbytesizeÚbitsizeÚtupleÚsignedÚ	min_valueÚ	max_value)r*   rN   Ú	IntTesterÚ	__class__s   &&€€r   r¹   Ú4StructTest.test_integers.<locals>.IntTester.__init__½   s  ø€ Üi Ñ/¸:Ð/ÔFØ$”Ø" 2J”	Ø!'¨¨ ”Ø—~‘~¬Ô3Ü$Ð%IØ%)§^¡^õ&4ó 5ð 5ä &§¢°Ó 7”Ø#Ÿ}™}¨qÕ0”Ø—9‘9¤ h£Ô/Ø"&D”KØ'(¨4¯<©<¸­>Õ':Ð%;D”NØ%&¨¯©°a­Õ%8¸1Õ%<D–NØ—Y‘Y¤%¨£/Ô1Ø"'D”KØ%&D”NØ%&¨¯©¥_°qÕ%8D–Nä$Ð%CØ%)§Y¡Yõ&/ó 0ð 0r   c                ó¼  € V P                   pV P                  Tu;8:  d   V P                  8:  Ed€   M EM{TpV P                  '       d"   V^ 8  d   V^V P                  ,          ,          pV P                  V^ 4       RV,          p\        V4      ^,          '       d
   RV,           pVP                  R4      pV! V4      pRV P                  \        V4      ,
          ,          V,           pV P                  R8X  g   V P                  R9   d   \        '       g   \        V4      pV P                  \        V4      V P                  4       V! WQ4      pV P                  Wv4       V! WW4      ^ ,          pV P                  W4       V P                  \        P                  \         3W5RV,           4       R# V P                  \"        \$        \        P                  3W%V4       R# )	r   z%xÚ0ÚasciirZ   rB   r   N)r   r   rD   )rN   r¿   rÀ   r¾   r¼   r§   r   Úencoder»   r   r    r   r&   r5   r'   r6   r8   ÚOverflowErrorrº   )	r*   Úxr(   r9   Ú	unhexlifyrN   ÚexpectedÚgotÚ	retrieveds	   &&&&&    r   r´   Ú4StructTest.test_integers.<locals>.IntTester.test_oneÓ   sq  € ð Ÿ™Ø—>‘> QÖ8¨$¯.©.×8Ñ8Ø HØ—{—{{ q¨1¤uØ  A¨¯©Õ$5Õ5˜Ø×+Ñ+¨H°aÔ8Ø# hHÜ˜8“} q×(Ô(Ø#&¨¥>˜Ø'Ÿ™¨wÓ7HÙ(¨Ó2HØ '¨4¯=©=¼3¸x»=Õ+HÕ IØ (õ!)HàŸ™¨#Ô-ØŸ™¨.Ô8ÇÃÜ#1°(Ó#;˜Ø×$Ñ$¤S¨£]°D·M±MÔBñ ˜v›/CØ×$Ñ$ SÔ3ñ !' vÓ 3°AÕ 6IØ×$Ñ$ QÔ2ð ×%Ñ%¤v§|¡|´YÐ&?ÀØAHÈ3ÅöPð ×%Ñ%¤}´jÄ&Ç,Á,Ð&OØ&*°Aö7r   c                óœ  <€ ^ RI Hp . p\        V P                  ^,           4       F  pVP	                  ^V,          4       K  	  \        V P                  4       FH  p^ p\        V P
                  4       F  pV^,          V! R4      ,          pK  	  VP	                  V4       KJ  	  VP                  RR\        P                  ^,          .4       V F1  pV) V3 F%  pR F  pWX,           p	V P                  V	4       K  	  K'  	  K3  	   ! R R4      p
 ! R R\        4      p ! R	 R
\        4      pV P                  \        \        P                  3\        P                  V P                   R4       V P                  \        \        P                  3\        P                  V P                   V4       V P                  \        \        P                  3\        P                  V P                   R4       V P                  \        \        P                  3\        P                  V P                   V
! 4       4       V P                  \        \        P                  3\        P                  V P                   V! 4       4       V! ^ 4      V! ^
4      V! ^4      V! ^*4      V! ^d4      V! ^4      3 F  p \        P                  ! SV4       K  	  V! R4      V! R4      V! R4      V! R^/4      V! . RO4      3 FC  pV P                  \        \        P                  3\        P                  V P                   V4       KE  	  R#    T P#                  R4        K§  ; i)r   )Ú	randrangeé   i,  i`®
 c                   ó&   a € ] tR tRt o R tRtV tR# )ÚAStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnInti  c                ó   € ^*# ©é*   r   r)   s   &r   Ú__int__ÚIStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnInt.__int__  ó   € Ù!r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r×   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚNotAnIntrÓ     s   ø‡ € ÷"ð "r   râ   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚBStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexablei  c                ó   € Wn         R # r   ©Ú_value)r*   r!   s   &&r   r¹   ÚKStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__init__  s   € Ø&+žr   c                ó   € V P                   # r   ræ   r)   s   &r   Ú	__index__ÚLStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__index__!  s   € Ø#Ÿ{™{Ð*r   ræ   N)rÚ   rÛ   rÜ   rÝ   r¹   rê   rÞ   rß   rà   s   @r   Ú	Indexablerä     s   ø‡ € ò,÷+ð +r   rì   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚAStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndexi&  c                ó   € \         hr   )r8   r)   s   &r   rê   ÚKStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__index__'  s   € Ü'˜r   c                ó   € ^*# rÕ   r   r)   s   &r   r×   ÚIStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__int__*  rÙ   r   r   N)rÚ   rÛ   rÜ   rÝ   rê   r×   rÞ   rß   rà   s   @r   ÚBadIndexrî   &  s   ø‡ € ò(÷"ð "r   ró   za stringz:integer code pack failed on object with '__index__' methodrA   rH   NÚa)r   r   rb   y      @      E@)rb   é   rŽ   )ÚrandomrÐ   Úranger¼   Úappendr»   ÚextendÚsysÚmaxsizer´   Úobjectr5   r8   r'   r6   r(   rN   Úfail)r*   rÐ   Úvaluesr—   r/   ÚvalÚjÚbaseÚincrrÉ   râ   rì   ró   ÚobjrN   s   &             €r   ÚrunÚ/StructTest.test_integers.<locals>.IntTester.runù   s“  ø€ Ý,ð Ü  §¡°Õ!1Ö2CØ—M‘M ! s¥(Ö+ñ 3ô ˜tŸ|™|Ö,AØCÜ" 4§=¡=Ö1˜Ø" ax©9°S«>Õ9šñ 2à—M‘M #Ö&ñ	 -ð —‘˜s F¬C¯K©K¸­MÐ:Ô;ó #DØ $˜u d›{˜Û$,˜DØ #¥
˜AØ ŸM™M¨!Ö,ó %-ó  +ñ #÷"ñ "ô+¤ô +ô"œvô "ð ×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø",ô.ð ×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø"+ô-ð ×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø"'ô)ð ×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ù"*£*ô.ð ×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ù"*£*ô.ñ
 & a›L©)°B«-¹À2»Ù% b›M©9°S«>¹9ÀS»>óKCð=ÜŸš F¨CÖ0ñKñ & d›O©Y°s«^¹YÀt»_Ù% s¨A hÓ/±º9Ó1EóGCà×%Ñ%¤y´&·,±,Ð&?Ü&,§k¡k°4·;±;Ø&)ö+óGøð=ØŸ	™	ð #<÷ =ús   Ê(L5Ì5M)r¼   r   r»   r   rN   rÀ   r¿   r¾   )rÚ   rÛ   rÜ   rÝ   r¹   r'   r(   r9   rÊ   r´   r  rÞ   rß   Ú__classcell__)rÂ   rá   rÁ   ÚbinasciirN   s   @@€€€r   rÁ   r²   ¼   s5   ú‡ € ö0ð, (.§{¡{Ø)/¯©Ù,4×,>Ñ,>ô$7÷LR+õ R+r   rÁ   )r  ÚunittestÚTestCaser   r  )r*   r   r   rL   rÁ   r  rN   s   &   @@@r   Útest_integersÚStructTest.test_integers¸   sL   ú€ ã÷O	+ñ O	+œ×)Ñ)ô O	+ôb  4Ö5‰OˆDØ•^ˆFÙ˜&Ó!ˆAØE‰EŽGó  6r   c                óÖ   a € V 3R  lpR F[  pR FR  pW2,           pV! \         P                  V4       V! \         P                  V^ 4       V! \         P                  VR4       KT  	  K]  	  R# )c                 óè   <€ SP                  \        P                  4      ;_uu_ 4       pV ! V/ VB  R R R 4       SP                  R\	        XP
                  4      4       R #   + '       g   i     L7; i)Nzbad char in struct format)r5   r'   r6   ÚassertInÚstrÚ	exception)ÚfuncÚargsÚkwargsÚcmr*   s   &*, €r   ÚassertStructErrorÚ2StructTest.test_nN_code.<locals>.assertStructErrorT  sM   ø€ Ø×"Ñ"¤6§<¡<×0Ô0°BÙdÐ%˜fÒ%÷ 1àM‰MÐ5´s¸2¿<¹<Ó7HÖI÷ 1×0ús   ©	A!Á!A1	r¤   r   NrŸ   )r'   r7   r(   r9   )r*   r  r   r   rN   s   f    r   Útest_nN_codeÚStructTest.test_nN_codeR  sT   ø€ õ	Jó ˆDÛ1	Ø"Ù!¤&§/¡/°6Ô:Ù!¤&§+¡+¨v°qÔ9Ù!¤&§-¡-°¸Ö=ó	 2ó r   c                ó¾   € R FV  w  rr4\         P                  ! W4      pV P                  WS4       \         P                  ! W4      w  pV P                  WT4       KX  	  R# )rl   N)	)rl   ó   abcr   r   )Úpr  rZ   r   )rm   r  rZ   r   )rn   r  s   arA   )Ú3pr  s   abs   ab)Ú4pr  s   abcr  )Ú5pr  s   abc r  )Ú6pr  s   abc  r  )Ú1000psè  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsè  ÿxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsÿ   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r'   r(   r&   r9   )r*   r   ÚinputrË   ÚexpectedbackrÌ   s   &     r   Útest_p_codeÚStructTest.test_p_code_  sQ   € ó	4DÑ/ˆD˜ô —+’+˜dÓ*ˆCØ×Ñ˜SÔ+Ü—]’] 4Ó-‰FˆSØ×Ñ˜SÖ/ó	4Dr   c                ó  € \        ^^!4       FÓ  pRpWR,          ,
          V8w  d   VR,          pK  W,
          p\        P                  ! RV4      p\        P                  ! RV4      ^ ,          pV P	                  W4       \        P                  ! RV4      pV P	                  V\        V4      4       \        P                  ! RV4      ^ ,          pV P	                  W4       KÕ  	  Rp\        P                  ! V^h4      p\        P                  ! RV4      p\        P                  ! RV4      ^ ,          pV P	                  Wu4       Rp\        P                  ! V^g4      pV P                  \        \        P                  RV4       R# )rb   g      à?rŒ   z<fz>fNiÿÿÿ iÿÿÿ)
r÷   r'   r(   r9   r&   r   ÚmathÚldexpr5   rÈ   )r*   r  ÚdeltaÚsmallerÚpackedÚunpackedÚ	bigpackedr	   s   &       r   Útest_705836ÚStructTest.test_705836p  s.  € ô ˜!˜R–LˆDàˆEØ Õ$¨Ô,Ø˜•’Ø•lˆGä—[’[  wÓ/ˆFÜ—}’} T¨6Ó2°1Õ5ˆHð ×Ñ˜TÔ,ÜŸš D¨'Ó2ˆIØ×Ñ˜Y¬°vÓ(>Ô?Ü—}’} T¨9Ó5°aÕ8ˆHØ×Ñ˜TÖ,ñ !ð$ ˆÜjŠj˜˜hÓ'ˆÜ—’˜T 3Ó'ˆÜ—=’=  vÓ.¨qÕ1ˆØ×Ñ˜Ô'ð ˆÜjŠj˜˜hÓ'ˆØ×Ñœ-¬¯©°d¸CÖ@r   c                ó¼  € \        4        Fm  w  rW!,           pV P                  \        P                  \        P                  VR 4       V P                  \        P                  \        P                  VR4       Ko  	  V P                  \        P                  \        P                  RR 4       V P                  \        P                  \        P                  RR4       R# )ç      ð?g      ø?r2   N)r   r5   r'   r6   r(   )r*   r   r   rN   s   &   r   Útest_1530559ÚStructTest.test_1530559‘  s‹   € Ü3Ö5‰OˆDØÕ%ˆFØ×ÑœfŸl™l¬F¯K©K¸ÀÔEØ×ÑœfŸl™l¬F¯K©K¸ÀÖEñ  6ð 	×Ñœ&Ÿ,™,¬¯©°S¸#Ô>Ø×Ñœ&Ÿ,™,¬¯©°S¸#Ö>r   c           	     óä  € R pRp\         P                  ! V4      p\        \        3 Fû  pV! V4      pV P	                  VP                  V4      R4       V P	                  VP                  V^4      R4       V P	                  VP                  V^4      R4       \        ^4       F.  pV P	                  VP                  WV4      WVV^,            34       K0  	  \        ^\        V4      ^,           4       F.  pV P                  \         P                  VP
                  WV4       K0  	  Ký  	  \        \        3 EF  pV! V4      pV P	                  \         P
                  ! W%4      R4       V P	                  \         P
                  ! W%^4      R4       V P	                  \         P
                  ! W%^4      R4       \        ^4       F4  pV P	                  \         P
                  ! W%V4      WVV^,            34       K6  	  \        ^\        V4      ^,           4       F3  pV P                  \         P                  \         P
                  W%V4       K5  	  EK  	  V P	                  VP                  V^R7      R4       R# )s	   abcd01234Ú4s)ÚbufferÚoffsetN)s   abcd)s   cd01)s   0123)
r'   ÚStructÚbytesÚ	bytearrayr&   Úunpack_fromr÷   r   r5   r6   )r*   Útest_stringr;   r   ÚclsÚdatar/   s   &      r   Útest_unpack_fromÚStructTest.test_unpack_from™  sè  € Ø"ˆØˆÜMŠM˜#ÓˆÜœ9Ó%ˆCÙ{Ó#ˆDØ×Ñ˜QŸ]™]¨4Ó0°*Ô=Ø×Ñ˜QŸ]™]¨4°Ó3°ZÔ@Ø×Ñ˜QŸ]™]¨4°Ó3°ZÔ@Ü˜1–XØ× Ñ  §¡¨tÓ!7¸$ÀÀ1Å¸+¸ÖHñ ä˜1œc +Ó.°Õ2Ö3Ø×!Ñ!¤&§,¡,°·±¸tÖGó 4ñ &ô œ9Ô%ˆCÙ{Ó#ˆDØ×ÑœV×/Ò/°Ó:¸JÔGØ×ÑœV×/Ò/°¸1Ó=¸zÔJØ×ÑœV×/Ò/°¸1Ó=¸zÔJÜ˜1–XØ× Ñ ¤×!3Ò!3°C¸qÓ!AÀDÈ1ÈQÍ3ÀKÀ>ÖRñ ä˜1œc +Ó.°Õ2Ö3Ø×!Ñ!¤&§,¡,´×0BÑ0BÀCÈqÖQô 4ñ &ð 	×Ñ˜Ÿ™¨kÀ!˜ÓDØ#ö	%r   c                óþ  € R p\         P                   ! RR4      pRp\        P                  ! V4      pVP                  V^ V4       VP	                  4       R\        V4       pV P                  WQ4       VP                  V^
V4       VP	                  4       R\        V4      ^
,            pV P                  WQR,          V,           4       \         P                   ! RR4      pV P                  \        \        P                  3VP                  V^ V4       V P                  \        \        P                  3VP                  V^V4       TpV P                  \        \        P                  3\        P                  RVR4       R# )ó   Reykjavik rocks, eow!rH   Ú21sNºNé
   Nr   ód                                                                                                       ó
             )Úarrayr'   r7  Ú	pack_intoÚtobytesr   r&   r5   rº   r6   r8   )r*   r;  Úwritable_bufr;   r   Úfrom_bufÚ	small_bufÚsbs   &       r   Útest_pack_intoÚStructTest.test_pack_into´  s<  € Ø.ˆÜ—{’{ 3¨Ó1ˆØˆÜMŠM˜#Óˆð 	
‰L ! [Ô1Ø×'Ñ'Ó)Ð*;¬3¨{Ó+;Ð<ˆØ×Ñ˜Ô/ð 	
‰L " kÔ2Ø×'Ñ'Ó)Ð*>¬3¨{Ó+;¸BÕ+>Ð?ˆØ×Ñ˜¨sÕ#3°kÕ#AÔBô —K’K  WÓ-ˆ	Ø×Ñœ:¤v§|¡|Ð4°a·k±kÀ9ÈaØ%ô	'à×Ñœ:¤v§|¡|Ð4°a·k±kÀ9ÈaØ%ô	'ð ˆØ×Ñœ9¤f§l¡lÐ3´V×5EÑ5EÀsÈBØö	 r   c                ó  a€ R p\         P                   ! RR4      pRoV3R lpV! V^ V4       VP                  4       R\        V4       pV P                  WA4       V! V^
V4       VP                  4       R\        V4      ^
,            pV P                  WAR,          V,           4       \         P                   ! RR4      pV P	                  \
        \        P                  3W5^ V4       V P	                  \
        \        P                  3W5^V4       R# )rA  rH   rB  c                  ó4   <€ \         P                  ! S.V O5!  # r   )r'   rH  )r  r;   s   *€r   Ú<lambda>Ú.StructTest.test_pack_into_fn.<locals>.<lambda>Ô  s   ø€ ¤&×"2Ò"2°3Ð">¸Ô">r   NrC  rE  rF  )rG  rI  r   r&   r5   rº   r'   r6   )r*   r;  rJ  rH  rK  rL  r;   s   &     @r   Útest_pack_into_fnÚStructTest.test_pack_into_fnÐ  sñ   ø€ Ø.ˆÜ—{’{ 3¨Ó1ˆØˆÜ>ˆ	ñ 	,  ;Ô/Ø×'Ñ'Ó)Ð*;¬3¨{Ó+;Ð<ˆØ×Ñ˜Ô/ñ 	,  KÔ0Ø×'Ñ'Ó)Ð*>¬3¨{Ó+;¸BÕ+>Ð?ˆØ×Ñ˜¨sÕ#3°kÕ#AÔBô —K’K  WÓ-ˆ	Ø×Ñœ:¤v§|¡|Ð4°iÈAØ%ô	'à×Ñœ:¤v§|¡|Ð4°iÈAØ%ö	'r   c                ó´   € \         P                   ! R R4      p\        R4      pW3 F.  p\        P                  ! RV4      w  pV P	                  VR4       K0  	  R# )r{   s   4Vxz>IixV4N)rG  Ú
memoryviewr'   r9   r&   )r*   Údata1Údata2r=  r!   s   &    r   Útest_unpack_with_bufferÚ"StructTest.test_unpack_with_bufferç  sL   € ä—’˜CÐ!4Ó5ˆÜÐ.Ó/ˆØ“NˆDÜ—]’] 4¨Ó.‰FˆEØ×Ñ˜U JÖ/ó #r   c                ó°  €  ! R  R\         4      p\        R4      R,            EFß  pR. . R^ 3p^.R^RRR3pVR\        V4      ,          ,           p\        P                  ! V.VO5!  p\        P
                  ! WV4      pVR\        V4      ,          ,           p\        P                  ! V.VO5!  p	\        P
                  ! W‰4      p
V P                  \        V4      \        V
4      4       V P                  \        V4      \        V4      4       V F  pV P                  V4       K  	  V
 F  pV P                  V4       K  	  \        P                  ! VR,           ^4      pV P                  \        V4      \        P                  ! VR,           4      4       \        V4      ^8w  d   V P                  VRV,          R7        \        P                  ! VR,           V! 4       4       V P                  RVR,           ,          4       EKâ  	  R F·  pV P                  \        P
                  ! R	V4      ^ ,          4       V P                  \        P
                  ! R
V4      ^ ,          4       V P                  \        P
                  ! RV4      ^ ,          4       V P                  \        P
                  ! RV4      ^ ,          4       K¹  	  R#   \         d     EK²  i ; i)c                   ó&   a € ] tR tRt o R tRtV tR# )Ú+StructTest.test_bool.<locals>.ExplodingBoolið  c                ó   € \         hr   )ÚOSErrorr)   s   &r   Ú__bool__Ú4StructTest.test_bool.<locals>.ExplodingBool.__bool__ñ  s   € Ür   r   N)rÚ   rÛ   rÜ   rÝ   ra  rÞ   rß   rà   s   @r   ÚExplodingBoolr^  ð  s   ø‡ € ÷ð r   rc  z<>!=r   Útestr[   z encoded bool is not one byte: %r)Úmsgz2Expected OSError: struct.pack(%r, ExplodingBool())z>?z<?z=?z@?N)r   r   r   l        g  àÿÿÿßA)r   ó   ó   ÿó   ó   ð)rü   r½   r   r'   r(   r9   r&   ÚassertFalser‘   r7   rý   r`  )r*   rc  rM   ÚfalseÚtrueÚfalseFormatÚpackedFalseÚunpackedFalseÚ
trueFormatÚ
packedTrueÚunpackedTruerL   r*  rG   s   &             r   Ú	test_boolÚStructTest.test_boolï  s<  € ô	œFô 	ô ˜F“m E×)Ñ)ˆFØ˜˜B  AÐ%ˆEØ3˜  2 |°\ÐAˆDà  3¬¨U«Õ#3Õ3ˆKÜ Ÿ+š+ kÐ:°EÓ:ˆKÜ"ŸMšM¨+ÓCˆMà #¬¨D«	¥/Õ1ˆJÜŸš ZÐ7°$Ó7ˆJÜ!Ÿ=š=¨Ó@ˆLà×ÑœS ›Y¬¨LÓ(9Ô:Ø×ÑœS ›Z¬¨]Ó);Ô<ã"Ø× Ñ  Ö#ñ #ã!Ø—‘ Ö"ñ "ô —[’[ ¨¥¨QÓ/ˆFà×ÑœS ›[¬&¯/ª/¸&À½*Ó*EÔFä6‹{˜aÔØ× Ñ  Ð-OØ.4õ.5Ð ô 6ð?Ü—’˜F SL©-«/Ô:ð —	‘	ð -Ø06¸µõ>÷ ?ñC *óH ?ˆAØO‰OœFŸMšM¨$°Ó2°1Õ5Ô6ØO‰OœFŸMšM¨$°Ó2°1Õ5Ô6ØO‰OœFŸMšM¨$°Ó2°1Õ5Ô6ØO‰OœFŸMšM¨$°Ó2°1Õ5Ö6ó	 ?øô ô Ûðús   Æ?#KËKËKc                ó†  € R P                  \        P                  ^,           4      pV P                  \        P
                  \        P                  V4       RP                  \        P                  ^,          \        P                  ^,          4      pV P                  \        P
                  \        P                  V4       R# )z{}bz{}b{}HN)rN   rú   rû   r5   r'   r6   r7   )r*   Ú	hugecountÚ
hugecount2s   &  r   Útest_count_overflowÚStructTest.test_count_overflow  sl   € Ø—L‘L¤§¡¨Q¥Ó/ˆ	Ø×Ñœ&Ÿ,™,¬¯©¸ÔCà—_‘_¤S§[¡[°!¥^´S·[±[À!µ^ÓDˆ
Ø×Ñœ&Ÿ,™,¬¯©¸ÖDr   c                óÂ  € \         P                   ! R R
4      pV P                  \        P                  \        P                  R4       V P                  \        P                  \        P
                  RR4       V P                  \        P                  \        P                  RV^ 4       V P                  \        P                  \        P                  RV^ 4       V P                  \        P                  \        P                  RR4       V P                  \        P                  \        P
                  RR4       V P                  \        P                  \        P                  RV^ R4       V P                  \        P                  \        P                  RV^ 4       V P                  \        P                  \        P                  RR4       V P                  \        P                  \        P
                  RR4       V P                  \        P                  \        P                  RV^ R4       V P                  \        P                  \        P                  RV^ 4       R	# )rH   Ú12345r   Úc12345rÉ   ó   xÚ14s42zspam and eggss   spam and eggsNrE  )rG  r5   r'   r6   r(   r9   rH  r:  )r*   Ústores   & r   Útest_trailing_counterÚ StructTest.test_trailing_counter$  sŽ  € Ü—’˜C Ó*ˆð 	×Ñœ&Ÿ,™,¬¯©°WÔ=Ø×Ñœ&Ÿ,™,¬¯©°wÀÔDØ×Ñœ&Ÿ,™,¬×(8Ñ(8¸'À5È!ÔLØ×Ñœ&Ÿ,™,¬×(:Ñ(:¸GÀUÈAÔNð 	×Ñœ&Ÿ,™,¬¯©°X¸sÔCØ×Ñœ&Ÿ,™,¬¯©°xÀÔFØ×Ñœ&Ÿ,™,¬×(8Ñ(8¸(ÀEÈ1Øô	 à×Ñœ&Ÿ,™,¬×(:Ñ(:¸HÀeØô	ð 	×Ñœ&Ÿ,™,¬¯©°W¸oÔNØ×Ñœ&Ÿ,™,¬¯©°wØ*ô	,à×Ñœ&Ÿ,™,¬×(8Ñ(8¸'À5È!Ø)ô	+à×Ñœ&Ÿ,™,¬×(:Ñ(:¸GÀUÈAÖNr   c                óT   € \         P                  ! R 4      pVP                  R4       R# )r/   r4   N)r'   r7  r¹   ©r*   r   s   & r   Útest_Struct_reinitializationÚ'StructTest.test_Struct_reinitialization=  s   € ô MŠM˜#ÓˆØ	
‰
4Ör   c                óà   € \         P                  ! R 4      pV\        P                  ! R4      V^,           ,          ,          p\         P                  ! V \        P
                  ! V4      V4       R# )Ú2n3PÚP3n0PN)r   Úcalcobjsizer'   r7   Úcheck_sizeofr7  )r*   Ú
format_strÚnumber_of_codesÚ	totalsizes   &&& r   rŠ  ÚStructTest.check_sizeofD  sJ   € ä×'Ò'¨Ó/ˆ	à”V—_’_ WÓ-°À1Õ1DÕEÕEˆ	Ü×Ò˜T¤6§=¢=°Ó#<¸iÖHr   c                ó¬  € \          F  pV P                  V^4       K  	  V P                  R^	4       V P                  RR4       V P                  R^4       V P                  R^ 4       V P                  R^4       V P                  R^4       V P                  R^4       V P                  R^4       V P                  R	^4       V P                  R
^ 4       R# )rb   Ú	BHILfdspPiÒ  ÚfdÚxxxxxxxxxxxxxxÚ100HÚ187srv   r`   rl   Ú0cNÁÒ  BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB)r   rŠ  )r*   r   s   & r   Útest__sizeof__ÚStructTest.test__sizeof__K  s½   € ç!ˆDØ×Ñ˜d AÖ&ñ "à×Ñ˜+ qÔ)Ø×Ñ˜* dÔ+Ø×Ñ˜$ Ô"Ø×ÑÐ*¨AÔ.Ø×Ñ˜& !Ô$Ø×Ñ˜& !Ô$Ø×Ñ˜% Ô#Ø×Ñ˜$ Ô"Ø×Ñ˜$ Ô"Ø×Ñ˜$ Ö"r   c                ó¦  € R pV P                  \        P                  V4      ;_uu_ 4        \        P                  ! R\	        ^4      ^^4       RRR4       RpV P                  \        P                  V4      ;_uu_ 4        \        P
                  ! R\	        ^4      ^4       RRR4       R#   + '       g   i     Lf; i  + '       g   i     R# ; i)zkpack_into requires a buffer of at least 6 bytes for packing 1 bytes at offset 5 \(actual buffer size is 1\)rH   Nzounpack_from requires a buffer of at least 6 bytes for unpacking 1 bytes at offset 5 \(actual buffer size is 1\))ÚassertRaisesRegexr'   r6   rH  r9  r:  ©r*   Úregex1Úregex2s   &  r   Útest_boundary_error_messageÚ&StructTest.test_boundary_error_messageZ  s˜   € ð+ð 	ð
 ×#Ñ#¤F§L¡L°&×9Õ9Ü×Ò˜S¤)¨A£,°°1Ô5÷ :ð+ð 	ð
 ×#Ñ#¤F§L¡L°&×9Õ9Ü×Ò˜s¤I¨a£L°!Ô4÷ :Ñ9÷ :×9ú÷ :×9Ð9ús   «#B,Â "B?Â,B<	Â?C	c                ó  € \        ^
4      pV P                  \        P                  R4      ;_uu_ 4        \        P                  ! RVR^{4       RRR4       V P                  \        P                  R4      ;_uu_ 4        \        P                  ! RVR^{4       RRR4       V P                  \        P                  R4      ;_uu_ 4        \        P
                  ! RVR4       RRR4       V P                  \        P                  R4      ;_uu_ 4        \        P
                  ! RVR4       RRR4       R#   + '       g   i     Lî; i  + '       g   i     L·; i  + '       g   i     L; i  + '       g   i     R# ; i)	rD  z%no space to pack 4 bytes at offset -2ú<INz*offset -11 out of range for 10-byte bufferz<Bz.not enough data to unpack 4 bytes at offset -2éþÿÿÿiõÿÿÿ)r9  rš  r'   r6   rH  r:  )r*   Ú	byte_lists   & r   Ú0test_boundary_error_message_with_negative_offsetÚ;StructTest.test_boundary_error_message_with_negative_offsetk  s(  € Ü˜b“Mˆ	Ø×#Ñ#Ü—‘Ø8÷:õ :ô ×Ò˜T 9¨b°#Ô6÷:ð
 ×#Ñ#Ü—‘Ø<÷>õ >ô ×Ò˜T 9¨c°3Ô7÷>ð
 ×#Ñ#Ü—‘ØA÷Cõ Cô ×Ò˜t Y°Ô3÷Cð
 ×#Ñ#Ü—‘Ø<÷>õ >ô ×Ò˜t Y°Ô4÷>ñ >÷:÷ :ú÷
>÷ >ú÷
C÷ Cú÷
>÷ >ð >ús/   ´D4Á>EÃEÄE-Ä4E	ÅE	ÅE*	Å-E>	c                ó"  € R \        \        P                  ^,           4      ,           R,           \        \        P                  4      ,           R,           pV P                  \        P
                  V4      ;_uu_ 4        \        P                  ! R\        ^
4      \        P                  ^4       RRR4       R\        \        P                  ^,           4      ,           R,           \        \        P                  4      ,           R,           pV P                  \        P
                  V4      ;_uu_ 4        \        P                  ! R\        ^
4      \        P                  4       RRR4       R#   + '       g   i     LÅ; i  + '       g   i     R# ; i)z(pack_into requires a buffer of at least z% bytes for packing 4 bytes at offset z \(actual buffer size is 10\)r¡  Nz*unpack_from requires a buffer of at least z' bytes for unpacking 4 bytes at offset )	r  rú   rû   rš  r'   r6   rH  r9  r:  r›  s   &  r   Ú-test_boundary_error_message_with_large_offsetÚ8StructTest.test_boundary_error_message_with_large_offset  s  € ð 8¼#¼c¿k¹kÈA½oÓ:NÕNØ4õ5Ü7:¼3¿;¹;Ó7GõHà,õ-ð 	ð
 ×#Ñ#¤F§L¡L°&×9Õ9Ü×Ò˜T¤9¨R£=´#·+±+¸qÔA÷ :ð :¼CÄÇÁÈaÅÓ<PÕPØ6õ7Ü9<¼S¿[¹[Ó9IõJà,õ-ð 	ð
 ×#Ñ#¤F§L¡L°&×9Õ9Ü×Ò˜t¤Y¨r£]´C·K±KÔ@÷ :Ñ9÷ :×9ú÷ :×9Ð9ús   Á<1E*Ä00E=Å*E:	Å=F	c                óô   € V P                  \        4      ;_uu_ 4        \        P                  ! R ^ 4       RRR4       V P	                  \        P                  ! R R4      R4       R#   + '       g   i     L9; i)rH   NrA   )éa   )r5   r8   r'   r9   r&   r)   s   &r   Útest_issue29802ÚStructTest.test_issue29802“  sN   € ð ×Ñœy×)Õ)ÜMŠM˜#˜qÔ!÷ *ð 	×ÑœŸš s¨DÓ1°:Ö>÷ *×)ús   žA'Á'A7	c                ó  € \         P                  ! R 4      pV P                  VP                  R 4       \         P                  ! VP                  P	                  4       4      pV P                  VP                  VP                  4       R# )ú=i2HN)r'   r7  r&   rN   rÇ   )r*   r   Ús2s   &  r   Útest_format_attrÚStructTest.test_format_attrœ  sW   € ÜMŠM˜&Ó!ˆØ×Ñ˜Ÿ™ 6Ô*ô ]Š]˜1Ÿ8™8Ÿ?™?Ó,Ó-ˆØ×Ñ˜Ÿ™ A§H¡HÖ-r   c                óÔ   € R p\        RV4      w  r#pV P                  V^ 4       V P                  VP                  4       R4       V P                  RV4       V P                  RV4       R# )zùif 1:
            import struct

            class C:
                def __init__(self):
                    self.pack = struct.pack
                def __del__(self):
                    self.pack('I', -42)

            struct.x = C()
            z-cr   s+   Exception ignored while calling deallocators	   C.__del__N)r   r&   Úrstripr  )r*   r   ÚrcÚstdoutÚstderrs   &    r   Ú)test_struct_cleans_up_at_runtime_shutdownÚ4StructTest.test_struct_cleans_up_at_runtime_shutdown¤  s_   € ð
ˆô .¨d°DÓ9ÑˆFØ×Ñ˜˜QÔØ×Ñ˜Ÿ™›¨#Ô.Ø‰ÐDÀfÔMØ‰l FÖ+r   c                óÚ   € \         P                  ! R 4      p\        P                  ! V4      pVP	                  R4       ?\
        P                  ! 4        V P                  V! 4       R4       R# )Ú_structrH   z(_struct module was not garbage collectedN)r   Úimport_fresh_moduleÚweakrefÚrefr7   ÚgcÚcollectÚassertIsNone)r*   Ú_struct_moduleÚ
module_refs   &  r   Ú'test__struct_reference_cycle_cleaned_upÚ2StructTest.test__struct_reference_cycle_cleaned_up¶  sU   € ô
 '×:Ò:¸9ÓEˆÜ—[’[ Ó0ˆ
Ø×Ñ Ô$Øô 	
Š
ŒØ×ÑÙ‹LÐDö	Fr   c           
     óh  € \         P                  p\        \         P                  ! R R4      4      pW3 FS  pV P	                  VR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        ^Vn        RRR4       RRR4       KU  	  R#   + '       g   i     L; i  + '       g   i     K}  ; i)rH   r}  )r<  N)r'   r7  ÚtypeÚiter_unpackÚsubTestr5   r8   rÉ   )r*   r7  Úunpack_iteratorr<  s   &   r   Útest__struct_types_immutableÚ'StructTest.test__struct_types_immutableÅ  sz   € ô —‘ˆÜœv×1Ò1°#°tÓ<Ó=ˆØÓ,ˆCØ—‘ #×&Õ&Ø×&Ñ&¤y×1Õ1ØC”E÷ 2÷ 'Ñ&ó -ç1×1ú÷ '×&Ð&ús$   ÁB Á/BÁ7B ÂBÂB Â B1c                óÎ   € R FJ  pV P                  \        P                  R4      ;_uu_ 4        \        P                  ! V4       RRR4       KL  	  R#   + '       g   i     Ka  ; i)Ú zembedded null characterN)rÍ  z2 irZ   )rš  r'   r6   r7   rƒ  s   & r   Útest_issue35714ÚStructTest.test_issue35714Ñ  sU   € ã$ˆAØ×'Ñ'¬¯©Ø(A÷Cõ Cä—’ Ô"÷Cñ Có %÷C÷ Cð Cús   ®AÁA$c                óž   a € V 3R  lpR F'  pR F  pV! W#R4       K  	  R F  pV! W#R4       K  	  K)  	  RpV! RVR4       RpV! RVR4       R	# )
c           
      ó²  <€ W,           p\         P                  ! V4      pV'       d   ^V^,          ,          ^,
          p^ pM6^V^,          ^,
          ,          ^,
          p^V^,          ^,
          ,          ) pRV RV RV 2p\        R	4      V^,
          V^,           \        R4      3 Fm  pS
P                  W8R7      ;_uu_ 4        S
P	                  \         P
                  V4      ;_uu_ 4        \         P                  ! W84       RRR4       RRR4       Ko  	  RpRp	S
P                  W9R7      ;_uu_ 4        S
P	                  \         P
                  V4      ;_uu_ 4        \         P                  ! W94       RRR4       RRR4       R#   + '       g   i     LŒ; i  + '       g   i     EK  ; i  + '       g   i     LB; i  + '       g   i     R# ; i)
rõ   Ú'z' format requires z <= number <= gšd~ÅQJ)r‹  ÚnumberNz#required argument is not an integerr   gšd~ÅQÊ)r'   r7   rF   rÈ  rš  r6   r(   )rM   Úint_typeÚis_unsignedÚfmt_strr©   Úmax_Úmin_Ú	error_msgrÓ  Ú
not_numberr*   s   &&&       €r   Útest_error_msgÚ2StructTest.test_issue98248.<locals>.test_error_msgÚ  s\  ø€ ØÕ'ˆGÜ—?’? 7Ó+ˆDßØ˜T AX•¨Õ*Ø‘à˜T AX¨\Õ*¨QÕ.Ø˜d Qh¨lÕ+Ð+Ø˜H˜:Ð%7¸°v¸^ÈDÈ6ÐRˆIÜ˜u›: t¨a¥x°¸µ¼3¸t»9ÓEØ—\‘\¨W\×DÕDØ×/Ñ/´·±¸i×HÕHÜŸš GÔ4÷ I÷ EÑDñ Fð >ˆIØˆJØ—‘¨×DÕDØ×+Ñ+¬F¯L©L¸)×DÕDÜ—K’K Ô4÷ E÷ EÑD÷	 I×Hú÷ E×DÑDú÷ E×Dú÷ E×DÐDúsH   Ã)FÃ/F
ÄFÄ8)GÅ!F2	Å8GÆ
FÆFÆF/Æ2GÆ=GÇG	ú@=<>ÚBHILQTÚbhilqFr   r   r   Nr   )r*   rÛ  rM   rÔ  s   f   r   Útest_issue98248ÚStructTest.test_issue98248Ø  s`   ø€ õ	5ó( ˆFÛ#Ù˜v°Ö6ñ $ã#Ù˜v°Ö7ó $ñ ð ˆÙs˜H dÔ+àˆÙs˜H eÖ,r   c                óŒ   a a€  ! R  R4      oVV 3R lpR F  pR F  pV! W#,           4       K  	  K  	  V! R4       V! R4       R# )c                   ó&   a € ] tR tRt o R tRtV tR# )Ú:StructTest.test_issue98248_error_propagation.<locals>.Div0iü  c                ó   € ^^ ,           R# )rb   Nr   r)   s   &r   rê   ÚDStructTest.test_issue98248_error_propagation.<locals>.Div0.__index__ý  s   € ØA—r   r   N)rÚ   rÛ   rÜ   rÝ   rê   rÞ   rß   rà   s   @r   ÚDiv0rä  ü  s   ø‡ € ÷ð r   rç  c           	      ó"  <€ SP                  V R R7      ;_uu_ 4        SP                  \        4      ;_uu_ 4        \        P                  ! V S! 4       4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)ÚZeroDivisionError)r‹  r  N)rÈ  r5   ré  r'   r(   )rÖ  rç  r*   s   &€€r   Útest_error_propagationÚLStructTest.test_issue98248_error_propagation.<locals>.test_error_propagation   s[   ø€ Ø—‘¨Ð<O×PÕPØ×&Ñ&Ô'8×9Õ9Ü—K’K ©«Ô0÷ :÷ QÑPß9×9ú÷ Q×PÐPús"   A=»A*	ÁA=Á*A:Á5A=Á=B	rÝ  Ú
BHILQbhilqr   r   Nr   )r*   rê  rM   rÔ  rç  s   f   @r   Ú!test_issue98248_error_propagationÚ,StructTest.test_issue98248_error_propagationú  sE   ù€ ÷	ñ 	ö	1ó
 ˆFÛ(Ù& vÕ'8Ö9ó )ñ ñ 	˜sÔ#Ù˜sÖ#r   c                óˆ   €  ! R  R\         P                  4      pV! 4       pV P                  VP                  R4      R4       R# )c                   ó2   a a€ ] tR tRt oV 3R ltRtVtV ;t# )Ú?StructTest.test_struct_subclass_instantiation.<locals>.MyStructi  c                ó&   <€ \         SV `  R 4       R# )z>hN)r¸   r¹   )r*   rÂ   s   &€r   r¹   ÚHStructTest.test_struct_subclass_instantiation.<locals>.MyStruct.__init__  s   ø€ Ü‘Ñ  Ö&r   r   )rÚ   rÛ   rÜ   rÝ   r¹   rÞ   rß   r  )rÂ   rá   s   @@r   ÚMyStructrñ    s   ù‡ € ÷'õ 'r   rô  i90  s   09N)r'   r7  r&   r(   )r*   rô  Ú	my_structs   &  r   Ú"test_struct_subclass_instantiationÚ-StructTest.test_struct_subclass_instantiation  s4   € ô	'”v—}‘}ô 	'ñ “Jˆ	Ø×Ñ˜Ÿ™¨Ó.°Ö<r   c                ó†   € \         P                  ! R 4      pV P                  \        V4      RVP                  : R24       R# )r®  zStruct(Ú)N)r'   r7  r&   ÚreprrN   rƒ  s   & r   Ú	test_reprÚStructTest.test_repr  s1   € ÜMŠM˜&Ó!ˆØ×Ñœ˜a› G¨A¯H©H©<°qÐ"9Ö:r   c                ó˜  € \        ^RRR^R\        \        ) \        .	^4       Uu. uF  p\        V!  NK  	  ppV Fr  pR Fi  pV P	                  W4R7      ;_uu_ 4        \
        P                  ! V\
        P                  ! WC4      4      ^ ,          pV P                  W54       RRR4       Kk  	  Kt  	  R# u upi   + '       g   i     K‰  ; i)rb   ç        )ÚzrN   Nr   ç       €éýÿÿÿ)ÚFÚDz>Fz>Dz<Fz<D)	r   ÚINFÚNANÚcomplexrÈ  r'   r9   r(   ÚassertComplexesAreIdentical)r*   Ú_rþ   rÿ  rK   Ú
round_trips   &     r   Útest_c_complex_round_tripÚ$StructTest.test_c_complex_round_trip  s·   € Ü'3°Q¸¸CÀÀqØ57¼¼s¸dÄCð5IØJKô(Mó Nñ (M !”'˜1”+ñ (Mˆð NãˆAÛ7Ø—\‘\ A\×0Õ0Ü!'§¢¨q´&·+²+¸aÓ2CÓ!DÀQÕ!GJØ×4Ñ4°QÔC÷ 1Ñ0ó 8ó ùòN÷ 1×0Ð0ús   ¥B3ÁAB8	Â8C	r   N)*rÚ   rÛ   rÜ   rÝ   r+   r>   rW   rš   r®   r
  r  r#  r-  r1  r>  rN  rT  rZ  rs  rx  r€  r„  rŠ  r   Úcpython_onlyr—  rž  r¤  r§  r«  r°  r·  rÃ  rÊ  rÎ  rà  rí  rö  rû  r
  rÞ   rß   rà   s   @r   r$   r$   )   s  ø‡ € òFò?ò*(ò0:)òx LòDXòt>ò0ò"AòB?ò%ò6 ò8'ò.0ò,7ò\EòOò2òIð ×Ññ#ó ð#ò5ò"5ò,Aò$?ò.ò,ò$Fð ×Ññó ðò#ð ×Ññ-ó ð-ðB ×Ññ$ó ð$ò"=ò;÷Dð Dr   r$   c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )ÚUnpackIteratorTesti#  c                ór  a € V 3R  lp\         P                  ! R4      pVP                  R4      pV! V4       VP                  R4      pV! V4       S P                  \         P                  4      ;_uu_ 4        VP                  R4       RRR4       S P                  \         P                  4      ;_uu_ 4        VP                  R4       RRR4       \         P                  ! R4      pS P                  \         P                  4      ;_uu_ 4        VP                  R4       RRR4       S P                  \         P                  4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     Lë; i  + '       g   i     L½; i  + '       g   i     Ly; i  + '       g   i     R# ; i)	c                 óˆ   <€ SP                  V \        P                  4       SP                  V \        P                  4       R # r   )ÚassertIsInstancer   ÚIteratorÚIterable)Úitr*   s   &€r   Ú_check_iteratorÚ:UnpackIteratorTest.test_construct.<locals>._check_iterator)  s+   ø€ Ø×!Ñ! "¤c§l¡lÔ3Ø×!Ñ! "¤c§l¡lÖ3r   ú>ibcpr   s   1234567s   123456Ns   12345678rC   s   12)r'   r7  rÇ  r5   r6   )r*   r  r   r  s   f   r   Útest_constructÚ!UnpackIteratorTest.test_construct(  s  ø€ õ	4ô MŠM˜'Ó"ˆØ]‰]˜3ÓˆÙ˜ÔØ]‰]˜:Ó&ˆÙ˜Ôà×ÑœvŸ|™|×,Õ,ØM‰M˜)Ô$÷ -à×ÑœvŸ|™|×,Õ,ØM‰M˜+Ô&÷ -ô MŠM˜#ÓˆØ×ÑœvŸ|™|×,Õ,ØM‰M˜#Ô÷ -à×ÑœvŸ|™|×,Õ,ØM‰M˜%Ô ÷ -Ñ,÷ -×,úç,×,ú÷ -×,úç,×,Ð,ús0   Á7E,Â8E?ÄFÅF%Å,E<	Å?F	ÆF"	Æ%F6	c                óŽ   € \        \        P                  ! R 4      P                  R4      4      pV P	                  \
        V4       R# )r  r   N)rÆ  r'   r7  rÇ  r5   r8   )r*   Úiter_unpack_types   & r   Útest_uninstantiableÚ&UnpackIteratorTest.test_uninstantiable=  s2   € Ü¤§¢¨gÓ 6× BÑ BÀ3Ó GÓHÐØ×Ñœ)Ð%5Ö6r   c                óŒ  € \         P                  ! R 4      p\        \        ^^4      4      pVP	                  V4      pV P                  \        V4      R4       V P                  \        V4      R4       V P                  \        V4      R4       V P                  \        \        V4       V P                  \        \        V4       R# )ú>IBN©ié   ©i	rD  )ié   )	r'   r7  r8  r÷   rÇ  r&   Únextr5   ÚStopIteration©r*   r   rH   r  s   &   r   Útest_iterateÚUnpackIteratorTest.test_iterateA  s   € ÜMŠM˜%Ó ˆÜ”%˜˜2“,ÓˆØ]‰]˜1ÓˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÖ2r   c                óh  € \         P                  ! R 4      p\        \        ^^4      4      pVP	                  \        V4      4      pV P                  \        V4      R4       V P                  \        V4      R4       V P                  \        \        V4       V P                  \        \        V4       R# ©r  Nr   r"  )
r'   r7  r8  r÷   rÇ  rW  r&   r$  r5   r%  r&  s   &   r   Útest_arbitrary_bufferÚ(UnpackIteratorTest.test_arbitrary_bufferK  s   € ÜMŠM˜%Ó ˆÜ”%˜˜2“,ÓˆØ]‰]œ: a›=Ó)ˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÖ2r   c                ó  € \         P                  p\        P                  ! R 4      p\	        \        ^^4      4      pVP                  V4      pV P                  V! V4      ^4       \        V4       V P                  V! V4      ^4       \        V4       V P                  V! V4      ^4       \        V4       V P                  V! V4      ^ 4       V P                  \        \        V4       V P                  V! V4      ^ 4       R# )r  N)ÚoperatorÚlength_hintr'   r7  r8  r÷   rÇ  r&   r$  r5   r%  )r*   Úlhr   rH   r  s   &    r   Útest_length_hintÚ#UnpackIteratorTest.test_length_hintT  sÄ   € Ü×!Ñ!ˆÜMŠM˜%Ó ˆÜ”%˜˜2“,ÓˆØ]‰]˜1ÓˆØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#Ø×Ñœ-¬¨rÔ2Ø×Ñ™˜B› Ö#r   c           	     ó2  € \         P                  ! R \        \        ^^4      4      4      pV P	                  \        V4      R4       V P	                  \        V4      R4       V P                  \        \
        V4       V P                  \        \
        V4       R# r*  )r'   rÇ  r8  r÷   r&   r$  r5   r%  )r*   r  s   & r   Útest_module_funcÚ#UnpackIteratorTest.test_module_funcc  sl   € ä×Ò ¤u¬U°1°b«\Ó':Ó;ˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÖ2r   c                óÞ  € R
RRRRRRR\        R4      3R\        R4      3R.
pV EF~  w  r#VRRR1,          pV P                  V\        P                  ! RV4      ^ ,          4       V P                  V\        P                  ! RV4      4       V P                  V\        P                  ! RV4      ^ ,          4       V P                  V\        P                  ! RV4      4       \
        P                  R8X  dY   V P                  V\        P                  ! R	V4      ^ ,          4       V P                  V\        P                  ! R	V4      4       EK)  V P                  V\        P                  ! R	V4      ^ ,          4       V P                  V\        P                  ! R	V4      4       EK  	  . ROpV F‘  w  rgV P                  \        P                  ! \        P                  ! RV4      ^ ,          4      4       V P                  \        P                  ! \        P                  ! RVRRR1,          4      ^ ,          4      4       K“  	  \        P                  ! R\        P                  4      pV P                  V^,          ^~,          ^~4       \        P                  ! R\        P                  ) 4      pV P                  V^,          ^~,          ^~4       . ROp	V	 F,  w  rgpV P                  V\        P                  ! Wc4      4       K.  	  . ROp
V
 F*  w  rcV P                  \        \        P                  Wc4       K,  	  R.pV F,  w  rgpV P                  V\        P                  ! Wc4      4       K.  	  R# )ó    <s    |z+infs    üz-infNú<eú>eÚlittleÚe)r7  r0  )s    Àr   )s   ÿ{g     üï@)s    ç      ?)s    g      p>)ó     rþ  )s    €r   )s   U5g     TÕ?r   ))r8  s   ü)r8  s    þ)r8  s   ÿÿ)r8  s   |)r8  s    ~)r8  s   ÿ))r9  s    g     `>)r9  r=  g      `>)r9  r=  g      P>)r9  ó   ÿg     ø?)r9  r>  güÿÿÿÿû?)r9  ó    g     ü?)r9  r?  r<  )r9  s   <g    ð?)r9  ó   < g     ð?)r9  r@  g     ð?)r9  ó   {ÿiàÿ  )r9  rA  iïÿ  )r9  s   €g     `¾)r9  ó   € g      `¾)r9  rB  g      P¾)r9  s   ¼g    ð¿)r9  ó   ¼ g     ð¿)r9  rC  g     ð¿)r9  s   ûÿi ÿÿ))r9  ç     þï@)r9  ç      ð@)r9  çœu ˆ<ä7~)r9  ç     þïÀ)r9  ç      ðÀ)r9  çœu ˆ<ä7þ)r8  rD  )r8  rE  )r8  rF  )r8  rG  )r8  rH  )r8  rI  )r9  s   gÿg  ÿÿÿýŸ@)Úfloatr&   r'   r9   r(   rú   r   r‘   r&  Úisnanr   r5   rÈ   )r*   Ú&format_bits_float__cleanRoundtrip_listÚle_bitsrK   Úbe_bitsÚformat_bits__nan_listÚ
formatcodeÚbitsr*  Ú format_bits_float__rounding_listÚ%format_bits_float__roundingError_listÚ+format_bits_float__doubleRoundingError_lists   &           r   Útest_half_floatÚ"UnpackIteratorTest.test_half_floatk  s³  € ð ØØ"Ø!Ø!ØØØœ% ›-Ð(Øœ% ›-Ð(Ø)ð2
Ð.ô A‰JˆGØ™d ˜d•mˆGØ×Ñ˜Q¤§¢¨d°GÓ <¸QÕ ?Ô@Ø×Ñ˜W¤f§k¢k°$¸Ó&:Ô;Ø×Ñ˜Q¤§¢¨d°GÓ <¸QÕ ?Ô@Ø×Ñ˜W¤f§k¢k°$¸Ó&:Ô;Ü}‰} Ô(Ø× Ñ  ¤F§M¢M°#°wÓ$?ÀÕ$BÔCØ× Ñ  ¬&¯+ª+°c¸1Ó*=×>à× Ñ  ¤F§M¢M°#°wÓ$?ÀÕ$BÔCØ× Ñ  ¬&¯+ª+°c¸1Ó*=×>ñ Aò!
Ðó !6ÑˆJØO‰OœDŸJšJ¤v§}¢}°T¸4Ó'@ÀÕ'CÓDÔEØO‰OœDŸJšJ¤v§}¢}°T¸4ÁÀ"À½:Ó'FÀqÕ'IÓJÖKñ !6ô —’˜T¤4§8¡8Ó,ˆØ×Ñ˜  TÕ)¨4Ô0Ü—’˜T¤D§H¡H 9Ó-ˆØ×Ñ˜  TÕ)¨4Ô0ò,
Ð(ó, $DÑˆJ˜aØ×Ñ˜T¤6§;¢;¨zÓ#=Ö>ñ $Dò1
Ð-ó  C‰MˆJØ×Ñœm¬V¯[©[¸*ÖHñ Cð
 7ð7
Ð3ó $OÑˆJ˜aØ×Ñ˜T¤6§;¢;¨zÓ#=Ö>ó $Or   r   N)rÚ   rÛ   rÜ   rÝ   r  r  r'  r+  r1  r4  rU  rÞ   rß   rà   s   @r   r  r  #  s/   ø‡ € ò
!ò*7ò3ò3ò$ò3÷f?ð f?r   r  Ú__main__)rH   r{   rI   r‚   r/   r‰   rJ   r‹   r   rž   r   r   )r   r   rD   rB   rC   rE   )#Úcollectionsr   Ú	itertoolsr   rG  r¾  r&  r.  r  r'   rú   r¼  rd  r   Útest.supportr   Útest.support.script_helperr   Útest.support.testcaser   r   r    r   r   rJ  r  r  r   r   r"   r	  r$   r  rÚ   Úmainr   r   r   Ú<module>r^     s²   ðÝ Ý "Û Û 	Û Û Û Û Û 
Û å Ý &Ý 7Ý <àm‰m˜uÑ$€àJ€Ø(€
áˆEƒl€ÙˆEƒl€à$.ô "òò%ôwDÐ+¨X×->Ñ->ô wDôtn?˜×*Ñ*ô n?ðb ˆzÔØ‡M‚M†Oñ r   