+
    ¾¾jô  ã                   ó”  € ^ 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
 ^ RIHtHt RP                  4       tR R	 lt]! R
4      t]! R4      t]! R4      t]! R4      tR] R] R] R] RR RR RR RR RR R2P+                  RR4      t ! R R]P.                  4      t]R8X  d   ]P4                  ! 4        R# R# )é    N)Údatetime)ÚPath)Úmock)ÚZoneInfo)ÚCalendarÚcliaÜ  
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
SUMMARY:Test Summary
ORGANIZER:organizer@test.test
ATTENDEE:attendee1@example.com
ATTENDEE:attendee2@test.test
COMMENT:Comment
DTSTART;TZID=Europe/Warsaw:20220820T103400
DTEND;TZID=Europe/Warsaw:20220820T113400
LOCATION:New Amsterdam, 1000 Sunrise Test Street
DESCRIPTION: Test Description
END:VEVENT
BEGIN:VEVENT
ORGANIZER:organizer@test.test
ATTENDEE:attendee1@example.com
SUMMARY:Test summary
DTSTART;TZID=Europe/Warsaw:20220820T200000
DTEND;TZID=Europe/Warsaw:20220820T203000
LOCATION:New Amsterdam, 1010 Test Street
DESCRIPTION:Test Description\nThis one is multiline
END:VEVENT
BEGIN:VEVENT
UID:1
SUMMARY:TEST
DTSTART:20220511
DURATION:P5D
END:VEVENT
END:VCALENDAR
c                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚdtÚreturn)Ústr)Úformats   "Úi/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/tests/test_issue_821_stdin_parse.pyÚ__annotate__r   0   s   € ÷ 
ñ 
œð 
¤ñ 
ó    c                óœ   € \         P                  ! V R4      P                  \        R4      R7      P	                  4       P                  R4      # )zŽ
Match the CLI's behavior: display datetimes in the *local* timezone.
The source times are Europe/Warsaw; convert to local tz for comparison.
z%Y%m%dT%H%M%SzEurope/Warsaw)Útzinfoz%c)r   ÚstrptimeÚreplacer   Ú
astimezoneÚstrftime)r   s   &r   Ú_local_datetimer   0   s:   € ô 	×Ò˜"˜oÓ.ß	‰œ Ó1ˆÓ	2ß	‰‹ß	‰�$‹ð	r   Ú20220820T103400Ú20220820T113400Ú20220820T200000Ú20220820T203000z¹    Organizer: organizer <organizer@test.test>
    Attendees:
     attendee1 <attendee1@example.com>
     attendee2 <attendee2@test.test>
    Summary    : Test Summary
    Starts     : z
    End        : a)  
    Duration   : 1:00:00
    Location   : New Amsterdam, 1000 Sunrise Test Street
    Comment    : Comment
    Description:
      Test Description

    Organizer: organizer <organizer@test.test>
    Attendees:
     attendee1 <attendee1@example.com>
    Summary    : Test summary
    Starts     : z[
    Duration   : 0:30:00
    Location   : New Amsterdam, 1010 Test Street
    Comment    :Ú zR
    Description:
     Test Description
     This one is multiline

    Organizer:z¬
    Attendees:

    Summary    : TEST
    Starts     : Wed May 11 00:00:00 2022
    End        : Mon May 16 00:00:00 2022
    Duration   : 5 days, 0:00:00
    Location   :z
    Comment    :z
    Description:
    z

z
Ú
c                   ó2   a € ] tR t^lt o R tR tR tRtV tR# )ÚTestIcalendarCLIArgparseStdinc                ó`  € \         P                  ! \        4      p\         P                  ! 4       p\        P                  P                  \        RV4      ;_uu_ 4        \        P                  P                  \        RRR.4      ;_uu_ 4        \        P                  ! V4      ;_uu_ 4        \        P                  ! 4        RRR4       RRR4       RRR4       VP                  4       \        8X  g   Q hR#   + '       g   i     L=; i  + '       g   i     LH; i  + '       g   i     LS; i)z�
Validate that `type=argparse.FileType("r", ...)` maps '-' to sys.stdin
and the CLI prints the expected, fully formatted output.
ÚstdinÚargvÚ	icalendarÚ-N)ÚioÚStringIOÚINPUTr   ÚpatchÚobjectÚsysÚ
contextlibÚredirect_stdoutr   ÚmainÚgetvalueÚPROPER_OUTPUT)ÚselfÚ
fake_stdinÚcaptureds   &  r   Útest_cli_with_stdin_dashÚ6TestIcalendarCLIArgparseStdin.test_cli_with_stdin_dashm   s³   € ô —[’[¤Ó'ˆ
Ü—;’;“=ˆô �J‰J×Ñœc 7¨J×7Õ7Ü�J‰J×Ñœc 6¨K¸Ð+=×>Õ>Ü×&Ò& x×0Õ0ä�HŠHŒJ÷ 1÷ ?÷ 8ð × Ñ Ó"¤mÔ3Ð3Ò3÷	 1×0ú÷ ?×>ú÷ 8×7ús<   Á0DÂD
	Â,C7ÃD
	Ã
DÃ7DÄD
	Ä
DÄDÄD-	c           	     óÈ  € \         P                  ! RRRR7      ;_uu_ 4       pVP                  \        4       VP                  pRRR4        \
        P                  ! 4       p\        P                  P                  \        RRX.4      ;_uu_ 4        \        P                  ! V4      ;_uu_ 4        \        P                  ! 4        RRR4       RRR4       VP                  4       \         8X  g   Q h \#        V4      P%                  4        R#   + '       g   i     LÑ; i  + '       g   i     Lb; i  + '       g   i     Lm; i  \#        X4      P%                  4        i ; i)zE
Validate that passing a real file path also yields the same output.
ÚwFzutf-8)ÚdeleteÚencodingNr#   r$   )ÚtempfileÚNamedTemporaryFileÚwriter(   Únamer&   r'   r   r)   r*   r+   r,   r-   r   r.   r/   r0   r   Úunlink)r1   ÚtfÚtmpnamer3   s   &   r   Útest_cli_with_file_pathÚ5TestIcalendarCLIArgparseStdin.test_cli_with_file_path   sâ   € ô ×(Ò(¨°UÀW×MÕMÐQSØ�H‰H”UŒOØ—g‘gˆG÷ Nð		#Ü—{’{“}ˆHä—
‘
×!Ñ!¤# v°¸WÐ/E×FÕFÜ×*Ò*¨8×4Õ4ä—’”
÷ 5÷ Gð ×$Ñ$Ó&¬-Ô7Ð7Ñ7ä�‹M× Ñ Ö"÷ N×Mú÷ 5×4ú÷ G×Fûô �‹M× Ñ Õ"úsH   ¢"DÁAE ÂD3Â0D 	ÃD3Ã#E ÄD	Ä D0Ä+D3Ä3E	Ä>E ÅE!c                ó$  € \         P                  ! \        4      p. pVP                  R4       F9  pVP	                  \
        P                  ! V4      4       VP	                  R4       K;  	  RP                  V4      R,           pV\        8X  g   Q hR# )zƒ
Optional: sanity check that the lower-level view(event) path
still matches what the CLI emits, to guard against formatting drift.
ÚveventÚ r   N)	r   Ú	from_icalr(   ÚwalkÚappendr   ÚviewÚjoinr0   )r1   ÚcalÚmanualÚevtÚmanual_outputs   &    r   Útest_view_direct_matches_cliÚ:TestIcalendarCLIArgparseStdin.test_view_direct_matches_cli’   so   € ô
 × Ò ¤Ó'ˆØˆØ—8‘8˜HÖ%ˆCØ�M‰Mœ#Ÿ(š( 3›-Ô(Ø�M‰M˜"Öñ &ð Ÿ	™	 &Ó)¨DÕ0ˆà¤Ô-Ð-Ò-r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r4   rA   rO   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r    r    l   s   ø‡ € ò4ò$#÷&.ð .r   r    Ú__main__)r,   r&   r+   r:   Úunittestr   Úpathlibr   r   Úzoneinfor   r$   r   r   Úlstripr(   r   Ú_firststartÚ	_firstendÚ_secondstartÚ
_secondendr   r0   ÚTestCaser    rR   r.   rQ   r   r   Ú<module>rc      s  ðã Û 	Û 
Û Û Ý Ý Ý Ý ç #ð	÷> �FƒHð? õD
ñ Ð/Ó0€ÙÐ-Ó.€	ÙÐ0Ó1€ÙÐ.Ó/€
ðð
 �ð Ø�ð ð �ð  Ø�ð ð �ð ð
 ˆeð ð �ð Ø�ð à€Eð 
ðI&÷L �GˆF�DÓðM ôR2. H×$5Ñ$5ô 2.ðj ˆzÔØ‡M‚M†Oñ r   