PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/proc/self/root/usr/share/emacs/26.1/lisp/calendar/
Upload File :
Current File : //proc/self/root/usr/share/emacs/26.1/lisp/calendar/icalendar.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@33 Version number of icalendar.el.
(defconst icalendar-version "0.19" (#$ . 408))
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\306\301&\210\310\320\312\313\321DD\322\316\323\306\301&\210\310\324\312\313\325DD\326\316\323\306\301&\210\310\327\312\313\330DD\331\316\323\306\301&\210\310\332\312\313\333DD\334\316\323\306\301&\210\310\335\312\313\336DD\337\316\323\306\301&\210\310\340\312\313\341DD\342\316\323\343\344\306\301&	\210\310\345\312\313\346DD\347\316\323\306\301&\210\310\350\312\313\351DD\352\316\323\306\301&\210\310\353\312\313\354DD\355\316\356\306\301&\210\310\357\312\313\360DD\361\316\362\306\301&\210\310\363\312\313\364DD\365\316\323\306\301&\210\310\366\312\313\367DD\370\343\371\316\356\306\301&	\210\310\372\312\313\373DD\374\343\371\316\362\306\301&	\210\310\375\312\313\376DD\377\343\371\316\201@\306\301&	\207" [custom-declare-group icalendar nil "iCalendar support." :prefix "icalendar-" :group calendar custom-declare-variable icalendar-import-format funcall function #[0 "\300\207" [#1="%s%d%l%o"] 1 #1#] "Format for importing events from iCalendar into Emacs diary.\nIt defines how iCalendar events are inserted into diary file.\nThis may either be a string or a function.\n\nIn case of a formatting STRING the following specifiers can be used:\n%c Class, see `icalendar-import-format-class'\n%d Description, see `icalendar-import-format-description'\n%l Location, see `icalendar-import-format-location'\n%o Organizer, see `icalendar-import-format-organizer'\n%s Summary, see `icalendar-import-format-summary'\n%t Status, see `icalendar-import-format-status'\n%u URL, see `icalendar-import-format-url'\n%U UID, see `icalendar-import-format-uid'\n\nA formatting FUNCTION will be called with a VEVENT as its only\nargument.  It must return a string.  See\n`icalendar-import-format-sample' for an example." :type (choice (string :tag "String") (function :tag "Function")) icalendar-import-format-summary #[0 "\300\207" [#2="%s"] 1 #2#] "Format string defining how the summary element is formatted.\nThis applies only if the summary is not empty! `%s' is replaced\nby the summary." string icalendar-import-format-description #[0 "\300\207" [#3="\n Desc: %s"] 1 #3#] "Format string defining how the description element is formatted.\nThis applies only if the description is not empty! `%s' is\nreplaced by the description." icalendar-import-format-location #[0 "\300\207" [#4="\n Location: %s"] 1 #4#] "Format string defining how the location element is formatted.\nThis applies only if the location is not empty! `%s' is replaced\nby the location." icalendar-import-format-organizer #[0 "\300\207" [#5="\n Organizer: %s"] 1 #5#] "Format string defining how the organizer element is formatted.\nThis applies only if the organizer is not empty! `%s' is\nreplaced by the organizer." icalendar-import-format-url #[0 "\300\207" [#6="\n URL: %s"] 1 #6#] "Format string defining how the URL element is formatted.\nThis applies only if the URL is not empty! `%s' is replaced by\nthe URL." icalendar-import-format-uid #[0 "\300\207" [#7="\n UID: %s"] 1 #7#] "Format string defining how the UID element is formatted.\nThis applies only if the UID is not empty! `%s' is replaced by\nthe UID." :version "24.3" icalendar-import-format-status #[0 "\300\207" [#8="\n Status: %s"] 1 #8#] "Format string defining how the status element is formatted.\nThis applies only if the status is not empty! `%s' is replaced by\nthe status." icalendar-import-format-class #[0 "\300\207" [#9="\n Class: %s"] 1 #9#] "Format string defining how the class element is formatted.\nThis applies only if the class is not empty! `%s' is replaced by\nthe class." icalendar-recurring-start-year #[0 "\300\207" [2005] 1] "Start year for recurring events.\nSome calendar browsers only propagate recurring events for\nseveral years beyond the start time.  Set this string to a year\njust before the start of your personal calendar." integer icalendar-export-hidden-diary-entries #[0 "\300\207" [t] 1] "Determines whether hidden diary entries are exported.\nIf non-nil hidden diary entries (starting with `&') get exported,\nif nil they are ignored." boolean icalendar-uid-format #[0 "\300\207" [#10="emacs%t%c"] 1 #10#] "Format of unique ID code (UID) for each iCalendar object.\nThe following specifiers are available:\n%c COUNTER, an integer value that is increased each time a uid is\n   generated.  This may be necessary for systems which do not\n   provide time-resolution finer than a second.\n%h HASH, a hash value of the diary entry,\n%s DTSTART, the start date (excluding time) of the diary entry,\n%t TIMESTAMP, a unique creation timestamp,\n%u USERNAME, the variable `user-login-name'.\n\nFor example, a value of \"%s_%h@mydomain.com\" will generate a\nUID code for each entry composed of the time of the event, a hash\ncode for the event, and your personal domain name." icalendar-export-sexp-enumeration-days #[0 "\300\207" [14] 1] "Number of days over which a sexp diary entry is enumerated.\nIn general sexp entries cannot be translated to icalendar format.\nThey are therefore enumerated, i.e. explicitly evaluated for a\ncertain number of days, and then exported.  The enumeration starts\non the current day and continues for the number of days given here.\n\nSee `icalendar-export-sexp-enumerate-all' for a list of sexp\nentries which by default are NOT enumerated." "25.1" icalendar-export-sexp-enumerate-all #[0 "\300\207" [nil] 1] "Determines whether ALL sexp diary entries are enumerated.\nIf non-nil all sexp diary entries are enumerated for\n`icalendar-export-sexp-enumeration-days' days instead of\ntranslating into an icalendar equivalent.  This affects the\nfollowing sexp diary entries: `diary-anniversary',\n`diary-cyclic', `diary-date', `diary-float', `diary-block'.  All\nother sexp entries are enumerated in any case." icalendar-export-alarms #[0 "\300\207" [nil] 1] "Determine if and how alarms are included in exported diary events." (choice (const :tag "Do not include alarms in export" nil) (list :tag "Create alarms in exported diary entries" (integer :tag "Advance time (minutes)" :value 10) (set :tag "Alarm type" (list :tag "Audio" (const audio :tag "Audio")) (list :tag "Display" (const display :tag "Display")) (list :tag "Email" (const email) (repeat :tag "Attendees" (string :tag "Email"))))))] 10)
#@34 Enable icalendar debug messages.
(defvar icalendar-debug nil (#$ . 6789))
(defconst icalendar--weekday-array ["SU" "MO" "TU" "WE" "TH" "FR" "SA"])
(byte-code "\300\301!\210\300\302!\207" [require calendar diary-lib] 2)
#@70 Print message ARGS if `icalendar-debug' is non-nil.

(fn &rest ARGS)
(defalias 'icalendar--dmsg #[128 "\205\301\302\"\207" [icalendar-debug apply message] 4 (#$ . 7014)])
#@290 Return a new buffer containing the unfolded contents of a buffer.
Folding is the iCalendar way of wrapping long lines.  In the
created buffer all occurrences of CR LF BLANK are replaced by the
empty string.  Argument FOLDED-ICAL-BUFFER is the folded input
buffer.

(fn FOLDED-ICAL-BUFFER)
(defalias 'icalendar--get-unfolded-buffer #[257 "\300\301!r\211q\210\302 \210\303!\210\304 \210eb\210\305\306\307\310#\203%\311\312\307\211#\210\202)\211\207" [get-buffer-create " *icalendar-work*" erase-buffer insert-buffer-substring icalendar--clean-up-line-endings re-search-forward "
?\n[ 	]" nil t replace-match ""] 6 (#$ . 7196)])
#@224 Replace DOS- and MAC-like line endings with unix line endings.
All occurrences of (CR LF) and (LF CF) are replaced with LF in
the current buffer.  This is necessary in buffers which contain a
mix of different line endings.
(defalias 'icalendar--clean-up-line-endings #[0 "\212eb\210\300\301\302\303#\205\304\305\302\211#\210\202)\207" [re-search-forward "
\n\\|\n
" nil t replace-match "\n"] 4 (#$ . 7833)])
#@216 Replace regular expression in string.
Pass arguments REGEXP REP STRING FIXEDCASE LITERAL to
`replace-regexp-in-string' (Emacs) or to `replace-in-string' (XEmacs).

(fn REGEXP REP STRING &optional FIXEDCASE LITERAL)
(defalias 'icalendar--rris #[1283 "\300\301!\203\301%\207\300\302!\205-\303 \304\305\306\307\310!\311\"\312$\216\302$)\262\207" [fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3] 12 (#$ . 8252)])
(put 'icalendar--rris 'byte-optimizer 'byte-compile-inline-expand)
#@376 Recursively read the next iCalendar element in the current buffer.
INVALUE gives the current iCalendar element we are reading.
INPARAMS gives the current parameters.....
This function calls itself recursively for each nested calendar element
it finds.  The current buffer should be an unfolded buffer as returned
from `icalendar--get-unfolded-buffer'.

(fn INVALUE INPARAMS)
(defalias 'icalendar--read-element #[514 "\300\211\211\211\211\211\211\211\211\301\300\262	\211\203\321\302\303\300\301#\203\321\304\305\306!!\262\307u\210\300\262\300\262\310\311!\203\210\302\312\300\211#\210\304\305\306!!\262\302\313\300\301#\210\307u\210\305\314!\206N\305\315!\262D\262\310\316!\203}\302\317\300\301#\210\305\314!\203o\305\314!\262\202t\305\315!\262\320\"\262\202U\320\"\262\202)\310\321!\204\222\322\323!\210\306u\210`\300\210\211`{\262\210E\262\324\267\202\305\320	\325\304!	\"C\"\262	\202
\300\262\202
\320\n	C\"\262\n\202
\203\342F\202\344\207" [nil t re-search-forward "^\\([A-Za-z0-9-]+\\)[;:]" intern match-string 1 -1 looking-at ";" ";\\([A-Za-z0-9-]+\\)=" "\\(\\([^;,:\"]+\\)\\|\"\\([^\"]+\\)\"\\)[;:]" 2 3 "," "\\(\\([^;,:]+\\)\\|\"\\([^\"]+\\)\"\\)" append ":" error "Oops" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (BEGIN 174 END 191)) icalendar--read-element] 17 (#$ . 8848)])
#@88 For the given EVENT return the value of the first occurrence of PROP.

(fn EVENT PROP)
(defalias 'icalendar--get-event-property #[514 "\3002+AA@\301\203'@\262\211@=\203 \302\300AA@\"\210A\262\202	\266\3010\207" [found nil throw] 7 (#$ . 10244)])
#@89 For the given EVENT return attributes of the first occurrence of PROP.

(fn EVENT PROP)
(defalias 'icalendar--get-event-property-attributes #[514 "\3002*AA@\301\203&@\262\211@=\203\302\300A@\"\210A\262\202	\266\3010\207" [found nil throw] 7 (#$ . 10509)])
#@88 For the given EVENT return a list of all values of the property PROP.

(fn EVENT PROP)
(defalias 'icalendar--get-event-properties #[514 "AA@\300\211\203(@\262@=\203!\301\302AA@\303\"\"\262A\262\202\207" [nil append split-string ","] 9 (#$ . 10785)])
#@163 Return all children of the given NODE which have a name NAME.
For instance the VCALENDAR node can have VEVENT children as well as VTODO
children.

(fn NODE NAME)
(defalias 'icalendar--get-children #[514 "\300AAA@@=\203\262\211\203<\301\300\302\303\304\305\306\307\n!\310\"\311\312%\"\"\211\203;\2038\313\"\262\202;\211\262\210\207" [nil delq mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [icalendar--get-children] 4 "\n\n(fn N)" append] 13 (#$ . 11057)])
#@80 Return the list of all existing events in the given ICALENDAR.

(fn ICALENDAR)
(defalias 'icalendar--all-events #[257 "\300C\301\302\303\304\305\306!\307\"\310\311%\237\"\210\211\242\207" [nil mapc make-byte-code 257 "\300\301\302\303\"\300\242\"\240\207" vconcat vector [append icalendar--get-children VEVENT] 6 "\n\n(fn ELT)"] 9 (#$ . 11550)])
#@48 Split VALUE-STRING at `;='.

(fn VALUE-STRING)
(defalias 'icalendar--split-value #[257 "\300\211\211\203;r\301\302!q\210\303\300!\210\304 \210c\210eb\210\305\306\300\307#\203:\310\311\312!!\262\311\313!\262\314DC\"\262\202)\207" [nil get-buffer-create " *icalendar-work*" set-buffer-modified-p erase-buffer re-search-forward "\\([A-Za-z0-9-]+\\)=\\(\\([^;:]+\\)\\|\"\\([^\"]+\\)\"\\);?" t intern match-string 1 2 append] 8 (#$ . 11906)])
#@251 Return a cons of two strings representing a timezone start.
ALIST is an alist entry from a VTIMEZONE, like STANDARD.
DST-P is non-nil if this is for daylight savings time.
The strings are suitable for assembling into a TZ variable.

(fn ALIST DST-P)
(defalias 'icalendar--convert-tz-offset #[514 "\300\236AA@\301\236AA@\302\236AA@\303\236AA@\232\205\323\205\323\204+\211\205\323\304!\305\236A@\306\236A@\307\236A@\204K\310\230\205\321\205\321	\203T\311\202U\312	\313H\314=\203b\315\202c\316\n\317\320O\321\f\320\322O\260\203x\317\202~\323\324\325O!\203\207\326\202\225\211\327=\203\221\202\225\313\324O\211\330\230\203\236\331\262\203\246\326\262\332\333\333\327=\203\266\334\202\272\335!\336\337\340O\321\340\324O\321\324\325O\260\f\266\202B\266\204\207" [TZOFFSETTO TZOFFSETFROM RRULE DTSTART icalendar--split-value FREQ BYMONTH BYDAY "YEARLY" "DST" "STD" 0 45 "+" "-" 1 3 ":" 5 icalendar--get-weekday-number -2 nil "1" -1 "-1" "5" "M" "." "0" int-to-string "/" -6 -4] 28 (#$ . 12364)])
#@107 Turn a VTIMEZONE ALIST into a cons (ID . TZ-STRING).
Return nil if timezone cannot be parsed.

(fn ALIST)
(defalias 'icalendar--parse-vtimezone #[257 "\300\301\302\"!\303\304\"@AA@\211\205\305\306\"\303\307\"@AA@\211\205&\305\310\"\205G\211\205G\203D@@\311A\311A\260\202F@B\207" [icalendar--convert-string-for-import icalendar--get-event-property TZID icalendar--get-children DAYLIGHT icalendar--convert-tz-offset t STANDARD nil ","] 13 (#$ . 13424)])
#@160 Convert all timezones in the ICALENDAR into an alist.
Each element of the alist is a cons (ID . TZ-STRING),
like `icalendar--parse-vtimezone'.

(fn ICALENDAR)
(defalias 'icalendar--convert-all-timezones #[257 "\300\301@\302\"\211\203!\211@\303!\262\211\203\211B\262A\266\202\202\210\211\207" [nil icalendar--get-children VTIMEZONE icalendar--parse-vtimezone] 6 (#$ . 13906)])
#@179 Return a timezone string for the time zone in PROP-LIST, or nil if none.
ZONE-MAP is a timezone alist as returned by `icalendar--convert-all-timezones'.

(fn PROP-LIST ZONE-MAP)
(defalias 'icalendar--find-time-zone #[514 "\300\301\"\211\205
\302\"A\207" [plist-get TZID assoc] 6 (#$ . 14300)])
#@487 Return ISODATETIMESTRING in format like `decode-time'.
Converts from ISO-8601 to Emacs representation.  If
ISODATETIMESTRING specifies UTC time (trailing letter Z) the
decoded time is given in the local time zone!  If optional
parameter DAY-SHIFT is non-nil the result is shifted by DAY-SHIFT
days.
ZONE, if provided, is the timezone, in any format understood by `encode-time'.

FIXME: multiple comma-separated values should be allowed!

(fn ISODATETIMESTRING &optional DAY-SHIFT ZONE)
(defalias 'icalendar--decode-isodatetime #[769 "\306!\210\205\375\307\310\311O!\307\311\312O!\307\312\313O!\310\211\211G\314V\2037\307	\315\316O!\262\307	\316\317O!\262G\320V\203H\307	\317\321O!\262G\321V\203]\322\323\n\321H\"\203]\324\262\203\315\325E\211\3268)\327\211\310U\203~\330\331!\202\271\n\310V\203\362\nS\332\211\211@)\211A@)\3268)\fS\333_\\\326V\203\337
\334\311_\\\335\245Z\n\211\310W\203\302\336\n!S\n\311\246\310U\205\330\n\337\246\310U?\206\330\n\340\246\310U)\203\337
T
-	\341_	\311\245	\337\245[	\340\245%\202\271\336\nT!\342\211\211@)\211A@)\3268)\fS\333_\\\326V\203O
\334\311_\\\335\245Z\n\211\310W\2032\336\n!S\n\311\246\310U\205H\n\337\246\310U?\206H\n\340\246\310U)\203O
T
-	\341_	\311\245	\337\245[	\340\245\343\211\211@)\211A@)\3268)\fS\333_\\\326V\203\265
\334\311_\\\335\245Z\n\211\310W\203\230\336\n!S\n\311\246\310U\205\256\n\337\246\310U?\206\256\n\340\246\310U)\203\265
T
-&+	\\!\211@\262\211A@\262\3268\262\210\3441\346\345\346\n\f&!0\202\373\210\347\350\n\"\210\211\n\310\327\310\257	\266\206\207" [date offset-years year month day day-of-year icalendar--dmsg read 0 4 6 8 12 9 11 13 14 15 char-equal 90 t calendar-gregorian-from-absolute 2 nil user-error "There was no year zero" + 31 23 10 abs 100 400 365 - (12 31 -1) (error) decode-time encode-time message "Cannot decode \"%s\""] 21 (#$ . 14605)])
#@445 Convert ISODURATIONSTRING into format provided by `decode-time'.
Converts from ISO-8601 to Emacs representation.  If ISODURATIONSTRING
specifies UTC time (trailing letter Z) the decoded time is given in
the local time zone!

Optional argument DURATION-CORRECTION shortens result by one day.

FIXME: TZID-attributes are ignored....!
FIXME: multiple comma-separated values should be allowed!

(fn ISODURATIONSTRING &optional DURATION-CORRECTION)
(defalias 'icalendar--decode-isoduration #[513 "\205\242\300 \301\302\303\304\305!\306\"\307$\216\310\311\"\210\302\211\211\211\211\211\312\224\2039\313	\307\224\307\225O!\262\203\225S\262\202\225\314\224\203\203\315\224\203P\313	\316\224\316\225O!\317_\262\317\224\203`\313	\320\224\320\225O!\262\321\224\203p\313	\322\224\322\225O!\262\323\224\203\225\313	\324\224\324\225O!\262\202\225\325\224\203\225\313	\326\224\326\225O!\317_\262\257\266\206)\262\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "^P[+-]?\\(\\(\\([0-9]+\\)D\\)\\|\\(\\(\\([0-9]+\\)D\\)?T\\(\\([0-9]+\\)H\\)?\\(\\([0-9]+\\)M\\)?\\(\\([0-9]+\\)S\\)?\\)\\|\\(\\([0-9]+\\)W\\)\\)$" 2 read 4 5 6 7 8 9 10 11 12 13 14] 15 (#$ . 16574)])
#@143 Add TIME1 to TIME2.
Both times must be given in decoded form.  One of these times must be
valid (year > 1900 or something).

(fn TIME1 TIME2)
(defalias 'icalendar--add-decoded-times #[514 "\300\301@@\\A@A@\\\3028\3028\\\3038\3038\\\3048\3048\\\305	8\305	8\\\306\211&!\207" [decode-time encode-time 2 3 4 5 nil] 12 (#$ . 17830)])
#@252 Convert the decoded DATETIME to American-style format.
Optional argument SEPARATOR gives the separator between month,
day, and year.  If nil a blank character is used as separator.
American format: "month day year".

(fn DATETIME &optional SEPARATOR)
(defalias 'icalendar--datetime-to-american-date #[513 "\205\300\301\3028\206\303\3048\206\303\3058&\207" [format "%d%s%d%s%d" 4 " " 3 5] 10 (#$ . 18185)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias icalendar--datetime-to-noneuropean-date icalendar--datetime-to-american-date nil make-obsolete "icalendar 0.19"] 4)
#@252 Convert the decoded DATETIME to European format.
Optional argument SEPARATOR gives the separator between month,
day, and year.  If nil a blank character is used as separator.
European format: (day month year).
FIXME

(fn DATETIME &optional SEPARATOR)
(defalias 'icalendar--datetime-to-european-date #[513 "\205\300\301\3028\206\303\3048\206\303\3058&\207" [format "%d%s%d%s%d" 3 " " 4 5] 10 (#$ . 18795)])
#@236 Convert the decoded DATETIME to ISO format.
Optional argument SEPARATOR gives the separator between month,
day, and year.  If nil a blank character is used as separator.
ISO format: (year month day).

(fn DATETIME &optional SEPARATOR)
(defalias 'icalendar--datetime-to-iso-date #[513 "\205\300\301\3028\206\303\3048\206\303\3058&\207" [format "%d%s%d%s%d" 5 " " 4 3] 10 (#$ . 19223)])
#@289 Convert the decoded DATETIME to diary format.
Optional argument SEPARATOR gives the separator between month,
day, and year.  If nil a blank character is used as separator.
Call icalendar--datetime-to-*-date according to the current
calendar date style.

(fn DATETIME &optional SEPARATOR)
(defalias 'icalendar--datetime-to-diary-date #[513 "\301\302\303\"!\"\207" [calendar-date-style intern-soft format "icalendar--datetime-to-%s-date"] 6 (#$ . 19630)])
#@122 Extract the time part of a decoded DATETIME into 24-hour format.
Note that this silently ignores seconds.

(fn DATETIME)
(defalias 'icalendar--datetime-to-colontime #[257 "\300\301\3028A@#\207" [format "%02d:%02d" 2] 5 (#$ . 20094)])
#@66 Return the month number for the given MONTHNAME.

(fn MONTHNAME)
(defalias 'icalendar--get-month-number #[257 "\3012\302C\227\303\304\305\306\307\310\"\311\"\312\313%\"\266\3140\207" [calendar-month-name-array found 1 mapc make-byte-code 257 "\211\227\211\301\230\204\211\302\303O\301\230\203\304\305\300\242\"\210\300\211\242T\240\207" vconcat vector [0 3 throw found] 5 "\n\n(fn MONTH)" -1] 11 (#$ . 20336)])
#@62 Return the number for the ABBREVWEEKDAY.

(fn ABBREVWEEKDAY)
(defalias 'icalendar--get-weekday-number #[257 "\211\203\"\3012#\302C\227\303\304\305\306\307\310\"\311\"\312\313%\"\266\2020\207\314\207" [icalendar--weekday-array found 0 mapc make-byte-code 257 "\211\227\211\301\230\203\302\303\300\242\"\210\300\211\242T\240\207" vconcat vector [throw found] 5 "\n\n(fn DAY)" -1] 11 (#$ . 20766)])
#@89 Return the list of numbers for the comma-separated ABBREVWEEKDAYS.

(fn ABBREVWEEKDAYS)
(defalias 'icalendar--get-weekday-numbers #[257 "\211\2050\301C\302\303\304\305\306\307!\310\"\311\312%\"\313\314\302\303\304\315\306\307!\316\"\317\320%\321\227\322\"\"\"\266\202\207" [icalendar--weekday-array -1 mapcar make-byte-code 257 "\300\211\242T\240\210\211\227\300\242B\207" vconcat vector [] 3 "\n\n(fn DAY)" delq nil "\301\300\"A\207" [assoc] 4 "\n\n(fn ABBREVDAY)" split-string ","] 12 (#$ . 21178)])
#@47 Return the abbreviated WEEKDAY.

(fn WEEKDAY)
(defalias 'icalendar--get-weekday-abbrev #[257 "\3012\302C\227\303\304\305\306\307\310\"\311\"\312\313%\"\266\3140\207" [calendar-day-name-array found 0 mapc make-byte-code 257 "\211\227\211\301\230\204\211\303\304O\301\230\203\305\306\n\300\242H\"\210\300\211\242T\240\207" vconcat vector [icalendar--weekday-array 0 3 throw found] 6 "\n\n(fn DAY)" nil] 11 (#$ . 21695)])
#@180 Convert DATE to iso-style date.
DATE must be a list of the form (month day year).
If DAY-SHIFT is non-nil, the result is shifted by DAY-SHIFT days.

(fn DATE &optional DAY-SHIFT)
(defalias 'icalendar--date-to-isodate #[513 "\306\211\3078)\310\211\311U\203\312\313!\202S\n\311V\203\214\nS\314\211\211@)\211A@)\3078)\fS\315_\\\307V\203y
\316\317_\\\320\245Z\n\211\311W\203\\\321\n!S\n\317\246\311U\205r\n\322\246\311U?\206r\n\323\246\311U)\203y
T
-	\324_	\317\245	\322\245[	\323\245%\202S\321\nT!\325\211\211@)\211A@)\3078)\fS\315_\\\307V\203\351
\316\317_\\\320\245Z\n\211\311W\203\314\321\n!S\n\317\246\311U\205\342\n\322\246\311U?\206\342\n\323\246\311U)\203\351
T
-	\324_	\317\245	\322\245[	\323\245\326\211\211@)\211A@)\3078)\fS\315_\\\307V\203O
\316\317_\\\320\245Z\n\211\311W\2032\321\n!S\n\317\246\311U\205H\n\322\246\311U?\206H\n\323\246\311U)\203O
T
-&+\206Y\311\\!\327\330\3078@A@$\207" [date offset-years year month day day-of-year calendar-gregorian-from-absolute 2 nil 0 user-error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) format "%04d%02d%02d"] 14 (#$ . 22134)])
#@336 Convert diary-style DATESTRING to iso-style date.
If DAY-SHIFT is non-nil, the result is shifted by DAY-SHIFT days
-- DAY-SHIFT must be either nil or an integer.  This function
tries to figure the date style from DATESTRING itself.  If that
is not possible it uses the current calendar date style.

(fn DATESTRING &optional DAY-SHIFT)
(defalias 'icalendar--datestring-to-isodate #[513 "\306\307\211\310 \311\312\313\314\315!\316\"\317$\216\320\321\"\203=\322\323\224\323\225O!\262\322\324\224\324\225O!\262\322\317\224\317\225O!\262\202\366\320\325\"\203u\322\323\224\323\225O!\262\322\324\224\324\225O!\262\322\317\224\317\225O!\262\326=\203\366\262\262\202\366\320\327\"\203\241\322\323\224\323\225O!\262\330\324\224\324\225O!\262\322\317\224\317\225O!\262\202\366\320\331\"\203\315\322\323\224\323\225O!\262\330\324\224\324\225O!\262\322\317\224\317\225O!\262\202\366\320\332\"\203\366\322\324\224\324\225O!\262\330\323\224\323\225O!\262\322\317\224\317\225O!\262)\210\312V\205\211\333E\211\324	8)\307\211\312U\203\334\335!\202f\312V\203\223S\336	\211\211@)	\211A@)	\324	8)
\fS\337_\\,\f\324V\203,\340\f\341_\\\342\245Z,\211\312W\203`\343!S\341\246\312U\205v\344\246\312U?\206v\345\246\312U)\203,T,,-\n\346_\n\341\245\n\344\245[\n\345\245%\202f\343T!\347	\211\211@)	\211A@)	\324	8)
\fS\337_\\,\f\324V\203\365,\340\f\341_\\\342\245Z,\211\312W\203\326\343!S\341\246\312U\205\354\344\246\312U?\206\354\345\246\312U)\203\365,T,,-\n\346_\n\341\245\n\344\245[\n\345\245\350\211\211@)	\211A@)	\324	8)
\fS\337_\\,\f\324V\203a,\340\f\341_\\\342\245Z,\211\312W\203B\343!S\341\246\312U\205X\344\246\312U?\206X\345\246\312U)\203a,T,,-&+\206l\312\\!\351\352\353\3248@A@$!\210\352\353\3248@A@$\262\207" [calendar-date-style date offset-years year month day -1 nil match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\s-*\\([0-9]\\{4\\}\\)[ 	/]\\s-*0?\\([1-9][0-9]?\\)[ 	/]\\s-*0?\\([1-9][0-9]?\\)" read 1 2 "\\s-*0?\\([1-9][0-9]?\\)[ 	/]\\s-*0?\\([1-9][0-9]?\\),?[ 	/]\\s-*\\([0-9]\\{4\\}\\)" american "\\s-*\\([0-9]\\{4\\}\\)[ 	/]\\s-*\\([A-Za-z][^ ]+\\)[ 	/]\\s-*0?\\([123]?[0-9]\\)" icalendar--get-month-number "\\s-*0?\\([123]?[0-9]\\)[ 	/]\\s-*\\([A-Za-z][^ ]+\\)[ 	/]\\s-*\\([0-9]\\{4\\}\\)" "\\s-*\\([A-Za-z][^ ]+\\)[ 	/]\\s-*0?\\([123]?[0-9]\\),?[ 	/]\\s-*\\([0-9]\\{4\\}\\)" calendar-gregorian-from-absolute user-error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) icalendar--dmsg format "%04d%02d%02d" day-of-year] 17 (#$ . 23333)])
#@314 Convert a time like 9:30pm to an iso-conform string like T213000.
In this example the TIMESTRING would be "9:30" and the
AMPMSTRING would be "pm".  The minutes may be missing as long
as the colon is missing as well, i.e. "9" is allowed as
TIMESTRING and has the same result as "9:00".

(fn TIMESTRING AMPMSTRING)
(defalias 'icalendar--diarytime-to-isotime #[514 "\205g\300 \301\302\303\304\305!\306\"\307$\216\310\311\")\262\211@A\203&A@\2022\211G\312V\2031\313\2022\314\315P!\203L\316\230\203L\211\317W\203L\211\317\\\262\203a\320\230\203a\211\317Y\203a\211\317Z\262\321\322\"\266\204\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 split-string ":" 2 "" "00" read "pm" 1200 "am" format "T%04d00"] 9 (#$ . 26026)])
#@68 Escape comma and other critical characters in STRING.

(fn STRING)
(defalias 'icalendar--convert-string-for-export #[257 "\300\301\302\211\303\304!\203\304%\207\303\305!\2052\306 \307\310\311\312\313!\314\"\315$\216\305$)\262\207" ["," "\\\\," nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3] 13 (#$ . 26825)])
#@73 Remove escape chars for comma, semicolon etc. from STRING.

(fn STRING)
(defalias 'icalendar--convert-string-for-import #[257 "\300\301\302\303\304\305\306\307\310\211\311\312!\203\312%\266\205\202?\311\313!\205=\314 \315\316\317\320\321!\322\"\323$\216\313$)\262\266\205\310\211\311\312!\203S\312%\266\205\202t\311\313!\205r\314 \315\316\317\320\321!\322\"\323$\216\313$)\262\266\205\310\211\311\312!\203\210\312%\266\205\202\251\311\313!\205\247\314 \315\316\317\320\321!\322\"\323$\216\313$)\262\266\205\310\211\311\312!\203\271\312%\207\311\313!\205\330\314 \315\316\317\320\321!\322\"\323$\216\313$)\262\207" ["\\\\n" "\n " "\\\\\"" "\"" "\\\\;" ";" "\\\\," "," nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3] 19 (#$ . 27259)])
#@206 Export diary file to iCalendar format.
All diary entries in the file DIARY-FILENAME are converted to iCalendar
format.  The result is appended to the file ICAL-FILENAME.

(fn DIARY-FILENAME ICAL-FILENAME)
(defalias 'icalendar-export-file #[514 "r\300!q\210\301ed#)\207" [find-file icalendar-export-region] 6 (#$ . 28166) "FExport diary data from file: \nFinto iCalendar file: "])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias icalendar-convert-diary-to-ical icalendar-export-file nil make-obsolete "22.1"] 4)
#@44 Auxiliary counter for creating unique ids.
(defvar icalendar--uid-count 0 (#$ . 28703))
#@237 Construct a unique iCalendar UID for a diary entry.
ENTRY-FULL is the full diary entry string.  CONTENTS is the
current iCalendar object, as a string.  Increase
`icalendar--uid-count'.  Returns the UID string.

(fn ENTRY-FULL CONTENTS)
(defalias 'icalendar--create-uid #[514 "\303\304\305#\203\303\304\305#\262\202q\306\307\310\311	\"\312\211%\262	T\306\313\310\314\315 @\315 A@\315 AA@$\312\211%\262\306\316\310\311\317\320!!\"\312\211%\262\306\321\n\206Q\322\312\211%\262\323\324\"\203g\325\224\325\225O\202h\326\306\327\312\211%\266\202\211\207" [icalendar-uid-format icalendar--uid-count user-login-name get-text-property 0 uid replace-regexp-in-string "%c" format "%d" t "%t" "%d%d%d" current-time "%h" abs sxhash "%u" "UNKNOWN_USER" string-match "^DTSTART[^:]*:\\([0-9]*\\)" 1 "DTSTART" "%s"] 10 (#$ . 28798)])
#@417 Export region in diary file to iCalendar format.
All diary entries in the region from MIN to MAX in the current buffer are
converted to iCalendar format.  The result is appended to the file
ICAL-FILENAME.
This function attempts to return t if something goes wrong.  In this
case an error string which describes all the errors and problems is
written into the buffer `*icalendar-errors*'.

(fn MIN MAX ICAL-FILENAME)
(defalias 'icalendar-export-region #[771 "\303C\304\303\211\211C\303C\305\211C\305C\305\306\307!\310Q\305C\305r\311\312!q\210\313 \210)\212b\210\314	\2030\315\2021\316\317#\203\255\320\321!\262\322\224\203J\320\322!\262\n\202M\303\262\nP\240\210\3231\222\324\f\"\262\325\n\242!\240\210\326\327\330\331\332\333\f&\334\"\335\336%:\203\214C\202\215\"0\202\251\317\262r\311\312!q\210\337\340\341e`\"$c)\262\210\202'r\342\343!q\210db\210\344c\210\345c\210\346c\210\f\242c\210\347c\210\350 \210\204\324\351 \210+\207" [diary-nonmarking-symbol icalendar-export-hidden-diary-entries coding-system-for-write "" 0 nil "^" regexp-quote "?" get-buffer-create "*icalendar-errors*" erase-buffer re-search-forward "^\\([^ 	\n#].+\\)\\(\\(\n[ 	].*\\)*\\)" "^\\([^ 	\n&#].+\\)\\(\\(\n[ 	].*\\)*\\)" t match-string 1 2 (error) icalendar--convert-to-ical icalendar--parse-summary-and-rest mapc make-byte-code 257 "\303@\306AQ\240\210\307\310\305\242\"A\307\311\305\242\"A\307\312\305\242\"A\307\313\305\242\"A\307\314\305\242\"A\307\315\305\242\"A\307\316\305\242\"A\307\317\305\242\"A\203G\303\211\242\320\nQ\240\210\203U\303\211\242\321	Q\240\210\203b\303\211\242\322Q\240\210\203o\303\211\242\323Q\240\210\203|\303\211\242\324Q\240\210\203\210\303\211\242\325Q\240\210\302\326\206\224\327\301\242\303\242\"P\240\210\304\330\nA!\240\266	\300\211\242\302\242\303\242\304\242\331\260\240\207" vconcat vector ["\nSUMMARY:" assoc cla des loc org sta sum url uid "\nCLASS:" "\nDESCRIPTION:" "\nLOCATION:" "\nORGANIZER:" "\nSTATUS:" "\nURL:" "\nBEGIN:VEVENT\nUID:" icalendar--create-uid icalendar--create-ical-alarm "\nEND:VEVENT"] 14 "\n\n(fn CONTENTS-N-SUMMARY)" format-message "Error in line %d -- %s: `%s'\n" count-lines utf-8 find-file "BEGIN:VCALENDAR" "\nPRODID:-//Emacs//NONSGML icalendar.el//EN" "\nVERSION:2.0" "\nEND:VCALENDAR\n" save-buffer bury-buffer] 28 (#$ . 29647) "r\nFExport diary data into iCalendar file: "])
#@198 Convert a diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-to-ical #[514 "\204'\301\"\206F\302\"\206F\303\"\206F\304\"\206F\305\"\206F\306\"\206F\307\"\206F\310\"\206F\311\"\206F\312\313!\207" [icalendar-export-sexp-enumerate-all icalendar--convert-anniversary-to-ical icalendar--convert-cyclic-to-ical icalendar--convert-date-to-ical icalendar--convert-float-to-ical icalendar--convert-block-to-ical icalendar--convert-sexp-to-ical icalendar--convert-weekly-to-ical icalendar--convert-yearly-to-ical icalendar--convert-ordinary-to-ical error "Could not parse entry"] 5 (#$ . 32060)])
#@108 Parse SUMMARY-AND-REST from a diary to fill iCalendar properties.
Returns an alist.

(fn SUMMARY-AND-REST)
(defalias 'icalendar--parse-summary-and-rest #[257 "\306 \307\310\311\312\313!\314\"\315$\216\316!?\205\317C\320\321\"\206!\322\320\323\"\206)\322\320\324\"\2061\322\320\325\"\2069\322\320\326\"\206A\322\320\327\"\206I\322\320\330\"\206Q\322\320\331\"\206Y\322\332	\257\333\"\310\317\211\211\211\211\211\211\211	G\310\211W\203\211\310Y\203\241\211
8U\203\241T\262\f\334_\262\202w\310Y\203\300\211
8U\203\300T\262\f\334_\262\n\202w\310Y\203\337\211
8U\203\337T\262\f\334_\262	\202w\310Y\203\376\211
8U\203\376T\262\f\334_\262\202w\310Y\203\211
8U\203T\262\f\334_\262\202w\310Y\203<\211
8U\203<T\262\f\334_\262\202w\310Y\203[\211
8U\203[T\262\f\334_\262\202w
\310Y\203w\211
8U\203wT\262\f\334_\262\210\211T\262\202{\266\335\307\336\337\312\313!\340\"\341\342%\326\343\n\344QD\321\343\344QD\323\343\f\344QD\324\343
\344QD\325\3434\344QD\327\3435\344QD\330\3436\344QD\331\3437\344QD\257\"\210\345\326\346\242\317\347\350\351!\203\343\351%\266\205\202\350\352!\205\306 \307\310\311\312\313!\353\"\315$\216\352$)\262\266\205\354Q\240\210\320\242\"\205
\317\211\211\211\211\211\211\211\n\2030\n\224\2030\224\f\225O\262\203F\224\203F\224\225O\262\203\\\224\203\\\224\225O\262
\203r
\224\203r\224\225O\262\f\203\210\f\224\203\210
\224\225O\262\203\236\224\203\236\f\224
\225O\262	\203\264	\224\203\264\n\224\225O\262\203\312\224\203\312	\224\n\225O\262\205\323\355B\205\334\356B\205\345\357B\205\356\360B\205\367\361B\205\362B\205	\363B\257\266\210)\266\223)\207" [icalendar-import-format case-fold-search icalendar-import-format-summary icalendar-import-format-class icalendar-import-format-description icalendar-import-format-location match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 functionp nil string-match "%c" -1 "%d" "%l" "%o" "%s" "%t" "%u" "%U" sort < 2 mapc 257 "\300@A@\300\242\301\211\302\303!\203\303%\266\205\202=\302\304!\205;\305 \306\307\310\311\312!\313\"\314$\216\304$)\262\266\205\240\207" [t fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector #1=[set-match-data evaporate] 3] 14 "\n\n(fn IJ)" "\\(" "\\)??" "\\`" "\\(.*?\\)" t fboundp replace-regexp-in-string replace-in-string #1# "\\'" cla des loc org sta url uid icalendar-import-format-organizer icalendar-import-format-status icalendar-import-format-url icalendar-import-format-uid] 37 (#$ . 32849)])
#@59 Return VALARM blocks for the given SUMMARY.

(fn SUMMARY)
(defalias 'icalendar--create-ical-alarm #[257 "\205@A@\301\302\303\304\305\"\306\"\307\310%\311\312#\266\203\207" [icalendar-export-alarms make-byte-code 257 "\302\301\300#\207" vconcat vector [icalendar--do-create-ical-alarm] 5 "\n\n(fn SPEC)" mapconcat ""] 10 (#$ . 35667)])
#@381 Return a VALARM block.
Argument ADVANCE-TIME is a number giving the time when the alarm
fires (minutes before the respective event).  Argument ALARM-SPEC
is a list which must be one of (audio), (display) or
(email (ADDRESS1 ...)), see `icalendar-export-alarms'.  Argument
SUMMARY is a string which contains a short description for the
alarm.

(fn ADVANCE-TIME ALARM-SPEC SUMMARY)
(defalias 'icalendar--do-create-ical-alarm #[771 "@\300\301\302\303\"A\"\300\304\"\305>\203\300\306\"\202\307\310=\203+\300\311\"\202,\307\310=\203=\312\313A@\307#\202>\307\314\315\260\207" [format "\nACTION:%s" assoc ((audio . "AUDIO") (display . "DISPLAY") (email . "EMAIL")) "\nTRIGGER:-PT%dM" (display email) "\nDESCRIPTION:%s" "" email "\nSUMMARY:%s" mapconcat #[257 "\300\301\"\207" [format "\nATTENDEE:MAILTO:%s"] 4 "\n\n(fn I)"] "\nBEGIN:VALARM" "\nEND:VALARM"] 16 (#$ . 36021)])
#@207 Convert "ordinary" diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-ordinary-to-ical #[514 "\300\301\302\303\304\305\306\260\"\205\373\211\307\224\307\225O\310!\310\307\"\311\312\313\224\205)\313\224\313\225O\314\224\2055\314\224\314\225O\"\312\315\224\205C\315\224\315\225O\316\224\205O\316\224\316\225O\"\317\320\224\320\225O!\321\322	\"\210\204g\323\324!\210\203o\202p\262\203\321\204\321\325\326\327\311\211\330\331!\203\222\331%\266\205\202\263\330\332!\205\261\333 \334\335\336\337\340!\341\"\313$\216\332$)\262\266\205!\211\342W\203\305\343\344\345\\\"\262\202\320\343\344\342Z\"\262\262\210\346\203\332\347\202\333\350\206\342\327\351\203\354\347\202\355\350	\206\365\327\260B\266\207\207" [string-match "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\)\\s-*" "\\(\\([0-9][0-9]?\\(:[0-9][0-9]\\)?\\)\\([ap]m\\)?" "\\(" "-\\([0-9][0-9]?\\(:[0-9][0-9]\\)?\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$" 1 icalendar--datestring-to-isodate nil icalendar--diarytime-to-isotime 3 5 7 9 icalendar--convert-string-for-export 10 icalendar--dmsg "ordinary %s" error "Could not parse date" read "^T0?" "" fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 230000 format "T%06d" 10000 "\nDTSTART;" "VALUE=DATE-TIME:" "VALUE=DATE:" "\nDTEND;"] 22 (#$ . 36923)])
#@92 Find the first ABBREVWEEKDAY in a given YEAR.
Returns day number.

(fn ABBREVWEEKDAY YEAR)
(defalias 'icalendar-first-weekday-of-year #[514 "\300\301\211E!\302!ZT\211\303X\203\211\304\\\262\202%\211\304V\203%\211\304Z\262\207" [calendar-day-of-week 1 icalendar--get-weekday-number 0 7] 6 (#$ . 38504)])
#@203 Convert weekly diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-weekly-to-ical #[514 "\301\302\303\304\305\306\307\310\311\260	\"\205\365\312\313\224\313\225O!\205\365\312\313\224\313\225O!\314\315\224\2050\315\224\315\225O\316\224\205;\316\224\316\225O\"\314\317\224\205H\317\224\317\225O\320\224\205S\320\224\320\225O\"\321\322\224\322\225O!\323\324\"\210\203\255\204\255\325\326\327\330\211\331\332!\203\202\332%\266\205\202\243\331\333!\205\241\334 \335\336\337\340\341!\342\"\315$\216\333$)\262\266\205!\343\344\345\\\"\262\210\346\203\266\347\202\267\350\343\351\313\352\n\"$\206\306\327\353\203\320\347\202\321\350\343\351\313\352\"\f\203\343\336\202\344\313\\$\206\354\327\354\f\260\nB\266\204\207" [icalendar-recurring-start-year string-match "\\([a-z]+\\)\\s-+" "\\(\\([0-9][0-9]?:[0-9][0-9]\\)" "\\([ap]m\\)?" "\\(-" "\\([0-9][0-9]?:[0-9][0-9]\\)" "\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$" icalendar--get-weekday-abbrev 1 icalendar--diarytime-to-isotime 3 4 6 7 icalendar--convert-string-for-export 8 icalendar--dmsg "weekly %s" read "^T0?" "" nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] format "T%06d" 10000 "\nDTSTART;" "VALUE=DATE-TIME:" "VALUE=DATE:" "%04d%02d%02d" icalendar-first-weekday-of-year "\nDTEND;" "\nRRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY="] 19 (#$ . 38823)])
#@203 Convert yearly diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-yearly-to-ical #[514 "\301\302=\203\f\303\202
\304\305\306\307\310\311\312\260\"\205\302=\203$\313\202%\314\302=\203/\314\2020\313\315\224\225O!\316\224\225O!\317\320\224\205L\320\224\320\225O\321\224\205X\321\224\321\225O\"\317\322\224\205f\322\224\322\225O\323\224\205r\323\224\323\225O\"\324\325\224\325\225O!\326\327	\"\210\203\315\204\315\315\330\331\332\211\333\334!\203\242\334%\266\205\202\303\333\335!\205\301\336 \337\340\341\342\343!\344\"\345$\216\335$)\262\266\205!\346\347\350\\\"\262\210\351\203\326\352\202\327\353\346\354	#\206\343\331\355\203\355\352\202\356\353\356\n\f\357E	\203\376\340\202\377\313\"\206\331\360\346\361\"\362\346\361\"\260\fB\266\207\207" [calendar-date-style string-match european "\\([0-9]+[0-9]?\\)\\s-+\\([a-z]+\\)\\s-+" "\\([a-z]+\\)\\s-+\\([0-9]+[0-9]?\\)\\s-+" "\\*?\\s-*" "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\([^0-9]+.*?\\) ?$" 1 2 read icalendar--get-month-number icalendar--diarytime-to-isotime 4 5 7 8 icalendar--convert-string-for-export 9 icalendar--dmsg "yearly %s" "^T0?" "" nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 format "T%06d" 10000 "\nDTSTART;" "VALUE=DATE-TIME:" "VALUE=DATE:" "1900%02d%02d" "\nDTEND;" icalendar--date-to-isodate 1900 "\nRRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=" "%d" ";BYMONTHDAY="] 23 (#$ . 40451)])
#@477 Convert sexp diary entry to iCalendar format.
Enumerate the evaluated sexp entry for the next
`icalendar-export-sexp-enumeration-days' days.  NONMARKER is a
regular expression matching the start of non-marking entries.
ENTRY-MAIN is the first line of the diary entry.

Optional argument START determines the first day of the
enumeration, given as a time value, in same format as returned by
`current-time' -- used for test purposes.

(fn NONMARKER ENTRY-MAIN &optional START)
(defalias 'icalendar--convert-sexp-to-ical #[770 "\301\302P\"\203 \303\304\"\210\305\306\307\224\307\225O\310\224\310\225OQ\"\207\301\311P\"\203`\303\312\"\210\307\224\307\225O\310\224\310\225O\206@\313 \314\315\316\317\320\321\322\323

\f\f\f%\324\"\325\326%\327\330S\"\"\"\207\315\207" [icalendar-export-sexp-enumeration-days string-match "%%(and \\(([^)]+)\\))\\(\\s-*.*?\\) ?$" icalendar--dmsg "diary-sexp from icalendar.el %s" icalendar--convert-to-ical "%%" 1 2 "%%\\(([^)]+)\\)\\s-*\\(.*\\)" "diary-sexp %s" current-time delete nil mapcar make-byte-code 257 "\306\307\304\310\311_!\"!\3128\3138\3148\315\302\303E#\211;\203%\211\2020\211:\203/\211A\2020\316\211\2048\316\202U\211;\203Q\317\320\300\321\322\n%\")\202U\323\324\301\"\207" vconcat vector [calendar-date-style decode-time time-add seconds-to-time 86400 3 4 5 diary-sexp-entry nil iso icalendar--convert-ordinary-to-ical format "%4d/%02d/%02d %s" error "Unsupported Sexp-entry: %s"] 15 "\n\n(fn OFFSET)" number-sequence 0] 19 (#$ . 42233)])
#@202 Convert block diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-block-to-ical #[514 "\300\301\302\303\304\305\306\307\260\"\205\326\211\310\224\310\225O\311\224\311\225O\312!\312!\312\310\"\313\314\224\2053\314\224\314\225O\315\224\205?\315\224\315\225O\"\313\316\224\205M\316\224\316\225O\317\224\205Y\317\224\317\225O\"\320\321\224\321\225O!\322\323\n\"\210\203\264\204\264\324\325\326\327\211\330\331!\203\211\331%\266\205\202\252\330\332!\205\250\333 \334\335\336\337\340!\341\"\342$\216\332$)\262\266\205!\343\344\345\\\"\262\210\203\313\346\347	\350\260B\202\324\351\352RB\266\210\207" [string-match "%%(diary-block \\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\)" " +\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*" "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$" 1 2 icalendar--datestring-to-isodate icalendar--diarytime-to-isotime 4 5 7 8 icalendar--convert-string-for-export 9 icalendar--dmsg "diary-block %s" read "^T0?" "" nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 format "T%06d" 10000 "\nDTSTART;VALUE=DATE-TIME:" "\nDTEND;VALUE=DATE-TIME:" "\nRRULE:FREQ=DAILY;INTERVAL=1;UNTIL=" "\nDTSTART;VALUE=DATE:" "\nDTEND;VALUE=DATE:"] 23 (#$ . 43769)])
#@282 Convert float diary entry to iCalendar format -- partially unsupported!

  FIXME! DAY from diary-float yet unimplemented.

  NONMARKER is a regular expression matching the start of non-marking
  entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-float-to-ical #[514 "\301\302P\"\205\240\303\304!r\211q\210\305\306\307\310\311!\312\"\313$\216\314\315\"c\210eb\210\316p!\211A@\3138\3178\3208\321\322\323`d{#\203I\324\325	\"\210\326\327!\210\330\331\332!\333 \n\334			#\266\202?\205d\335\331\332!P\336\247\204q<\203u\337\202v\340	<\205\204\341\342A@\343#\n\247\205\216\344!\345\344!
H\260\nB\266\206*\262\207" [icalendar--weekday-array string-match "%%\\((diary-float .+\\) ?$" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 match-string 1 read 3 4 replace-regexp-in-string "\\(^ +\\| +$\\)" "" icalendar--dmsg "diary-float %s" error "Don't know if or how to implement day in `diary-float'" "\nDTSTART;VALUE=DATE:" format-time-string "%Y%m%d" calendar-current-date diary-float "\nEXDATE;VALUE=DATE:" "\nRRULE:" "FREQ=YEARLY;BYMONTH=" "FREQ=MONTHLY" mapconcat #[257 "\300!\207" [number-to-string] 3 "\n\n(fn M)"] "," number-to-string ";BYDAY="] 20 (#$ . 45328)])
#@233 Convert `diary-date' diary entry to iCalendar format -- unsupported!

FIXME!

NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-date-to-ical #[514 "\300\301P\"\205\302\303\"\210\304\305!\207" [string-match "%%(diary-date \\([^)]+\\))\\s-*\\(.*?\\) ?$" icalendar--dmsg "diary-date %s" error "`diary-date' is not supported yet"] 5 (#$ . 46671)])
#@211 Convert `diary-cyclic' diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-cyclic-to-ical #[514 "\300\301\302\303\304\305\306\307\260\"\205\353\211\310\224\310\225O\311\224\311\225O\312!\312!\312\310\"\313\314\224\2053\314\224\314\225O\315\224\205?\315\224\315\225O\"\313\316\224\205M\316\224\316\225O\317\224\205Y\317\224\317\225O\"\320\321\224\321\225O!\322\323\n\"\210\203\264\204\264\324\325\326\327\211\330\331!\203\211\331%\266\205\202\252\330\332!\205\250\333 \334\335\336\337\340!\341\"\342$\216\332$)\262\266\205!\343\344\345\\\"\262\210\346\203\275\347\202\276\350\206\305\326\351\203\317\347\202\320\350\203\332\n\202\334	\206\342\326\352\260\nB\266\210\207" [string-match "%%(diary-cyclic \\([^ ]+\\) +" "\\([^ /]+[ /]+[^ /]+[ /]+[^ ]+\\))\\s-*" "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$" 1 2 icalendar--datestring-to-isodate icalendar--diarytime-to-isotime 4 5 7 8 icalendar--convert-string-for-export 9 icalendar--dmsg "diary-cyclic %s" read "^T0?" "" nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 format "T%06d" 10000 "\nDTSTART;" "VALUE=DATE-TIME:" "VALUE=DATE:" "\nDTEND;" "\nRRULE:FREQ=DAILY;INTERVAL="] 23 (#$ . 47161)])
#@216 Convert `diary-anniversary' diary entry to iCalendar format.
NONMARKER is a regular expression matching the start of non-marking
entries.  ENTRY-MAIN is the first line of the diary entry.

(fn NONMARKER ENTRY-MAIN)
(defalias 'icalendar--convert-anniversary-to-ical #[514 "\300\301\302\303\304\305\306\260\"\205\336\211\307\224\307\225O\310!\310\307\"\311\312\224\205(\312\224\312\225O\313\224\2053\313\224\313\225O\"\311\314\224\205@\314\224\314\225O\315\224\205L\315\224\315\225O\"\316\317\224\317\225O!\320\321\"\210\203\247\204\247\322\323\324\325\211\326\327!\203|\327%\266\205\202\235\326\330!\205\233\331 \332\333\334\335\336!\337\"\312$\216\330$)\262\266\205!\340\341\342\\\"\262\210\343\203\260\344\202\261\345\206\270\324\346\203\302\344\202\303\345	\206\313\324\347\350\313\314O\351\314\317O\260
B\266\206\207" [string-match "%%(diary-anniversary \\([^)]+\\))\\s-*" "\\(\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?" "\\(" "-\\([0-9][0-9]?:[0-9][0-9]\\)\\([ap]m\\)?\\)?" "\\)?" "\\s-*\\(.*?\\) ?$" 1 icalendar--datestring-to-isodate icalendar--diarytime-to-isotime 3 4 6 7 icalendar--convert-string-for-export 8 icalendar--dmsg "diary-anniversary %s" read "^T0?" "" nil fboundp replace-regexp-in-string replace-in-string match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] format "T%06d" 10000 "\nDTSTART;" "VALUE=DATE-TIME:" "VALUE=DATE:" "\nDTEND;" "\nRRULE:FREQ=YEARLY;INTERVAL=1" ";BYMONTH=" ";BYMONTHDAY="] 23 (#$ . 48728)])
#@292 Import an iCalendar file and append to a diary file.
Argument ICAL-FILENAME output iCalendar file.
Argument DIARY-FILENAME input `diary-file'.
Optional argument NON-MARKING determines whether events are created as
non-marking or not.

(fn ICAL-FILENAME DIARY-FILENAME &optional NON-MARKING)
(defalias 'icalendar-import-file #[770 "r\300!q\210\301\302#)\207" [find-file icalendar-import-buffer t] 7 (#$ . 50271) "fImport iCalendar data from file: \nFinto diary file:\nP"])
#@647 Extract iCalendar events from current buffer.

This function searches the current buffer for the first iCalendar
object, reads it and adds all VEVENT elements to the diary
DIARY-FILE.

It will ask for each appointment whether to add it to the diary
unless DO-NOT-ASK is non-nil.  When called interactively,
DO-NOT-ASK is nil, so that you are asked for each event.

NON-MARKING determines whether diary events are created as
non-marking.

Return code t means that importing worked well, return code nil
means that an error has occurred.  Error messages will be in the
buffer `*icalendar-errors*'.

(fn &optional DIARY-FILE DO-NOT-ASK NON-MARKING)
(defalias 'icalendar-import-buffer #[768 "r\300\301!\210\302p!q\210eb\210\300\303!\210\304\305\306\307#\203Z\306\211\300\310!\210\311 \210\312\306\211\"\262\300\313!\210\300\314!\210\315$\262\203O\316!\211\203Nr\211q\210\317 \210)\210\300\320!\210\211?\266\202\202_\300\321!\210\306)\207" [message "Preparing iCalendar..." icalendar--get-unfolded-buffer "Preparing iCalendar...done" re-search-forward "^BEGIN:VCALENDAR\\s-*$" nil t "Reading iCalendar..." beginning-of-line icalendar--read-element "Reading iCalendar...done" "Converting iCalendar..." icalendar--convert-ical-to-diary find-buffer-visiting save-buffer "Converting iCalendar...done" "Current buffer does not contain iCalendar contents!"] 10 (#$ . 50753) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias icalendar-extract-ical-from-buffer icalendar-import-buffer nil make-obsolete "22.1"] 4)
#@67 Create a string representation of an iCalendar EVENT.

(fn EVENT)
(defalias 'icalendar--format-ical-event #[257 "\302!\203\n!\207C\303\304\305\306\307\310\311\312		\"\313\"\314\315%\"\210\242)\207" [icalendar-import-format case-fold-search functionp nil (("%c" CLASS icalendar-import-format-class) ("%d" DESCRIPTION icalendar-import-format-description) ("%l" LOCATION icalendar-import-format-location) ("%o" ORGANIZER icalendar-import-format-organizer) ("%s" SUMMARY icalendar-import-format-summary) ("%t" STATUS icalendar-import-format-status) ("%u" URL icalendar-import-format-url) ("%U" UID icalendar-import-format-uid)) mapc make-byte-code 257 "\211@A@AA@\302\300\"\303\203VG\304V\203V\305\306!J\307\211\310\311!\2033\311%\266\205\202T\310\312!\205R\313 \314\304\315\316\317!\320\"\321$\216\312$)\262\266\205\262\301\301\242\307\211\310\311!\203o\311%\266\205\202\220\310\312!\205\216\313 \314\304\315\316\317!\320\"\321$\216\312$)\262\266\205\240\207" vconcat vector [icalendar--get-event-property "" 0 "%s" icalendar--convert-string-for-import t fboundp replace-regexp-in-string replace-in-string match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3] 19 "\n\n(fn I)"] 12 (#$ . 52297)])
#@533 Convert iCalendar data to an Emacs diary file.
Import VEVENTS from the iCalendar object ICAL-LIST and saves them to a
DIARY-FILE.  If DO-NOT-ASK is nil the user is asked for each event
whether to actually import it.  NON-MARKING determines whether diary
events are created as non-marking.
This function attempts to return t if something goes wrong.  In this
case an error string which describes all the errors and problems is
written into the buffer `*icalendar-errors*'.

(fn ICAL-LIST DIARY-FILE &optional DO-NOT-ASK NON-MARKING)
(defalias 'icalendar--convert-ical-to-diary #[1026 "\300!\301\302\303\304!\303\211C\203\336@\262A\262\303\262\3051\301\306\307\"\310\311\307\"\"\312\303#\313!\314!\306\315\"\310\311	\315\"\n\"\312\303#\312\316#\303\211\211\317\306\320\"\206^\321!\306\322\"\306\323\"\306\324\"\325\326#\210\203\212\311\307\"A@\327\230\203\212\303\262\f\211\203\265\330\331!\"\330\331\302\"\"\n\203\257\n=\204\257\332\333\"\210\262\262	\210\203\301\313	!\202\303\f\262\203\321\313!\202\323\f\262\203\355\311\315\"A@\327\230\204\355\314	!\202\357\262\325\334	#\210\203\335	$\240\210\302\262\202\204\2034\325\336!\210\301\240\210\337\340\341\342\343\344!\345\"\346\347%\350!\"\210\202\204\f\230\204N\351	#\240\210\302\262\202\204\203t\203^\230\204t\352\f\n%\240\210\302\262\202\204\325\353!\210\313\354\"\240\210\302\262\203\256\211\242\355\356!Q\240\210\203\235\303\262\357\242$\211\262\202\273\302\262\360\361#\211\262\266\2200\202\332\332\362\"\210\302\262\360\363	$\262\332\364\"\262\210\202
	\203\367\365\n!\211\203\366r\211q\210db\210\366c\210)\210\203r\367\370!q\210\371 \210c\210)\332\372!\210\207" [icalendar--all-events "" t nil icalendar--convert-all-timezones (error) icalendar--get-event-property DTSTART icalendar--find-time-zone icalendar--get-event-property-attributes icalendar--decode-isodatetime icalendar--datetime-to-diary-date icalendar--datetime-to-colontime DTEND -1 icalendar--convert-string-for-import SUMMARY "No summary" RRULE RDATE DURATION icalendar--dmsg "%s: `%s'" "DATE" icalendar--add-decoded-times icalendar--decode-isoduration message "Inconsistent endtime and duration for %s" "start-d: %s, end-d: %s" icalendar--convert-recurring-to-diary "rdate event" mapc make-byte-code 257 "\300\211\242\301\302!P\240\207" vconcat vector [format "......"] 5 "\n\n(fn DATESTRING)" icalendar--split-value icalendar--convert-non-recurring-all-day-to-diary icalendar--convert-non-recurring-not-all-day-to-diary "all day event" "/" " " icalendar--format-ical-event icalendar--add-diary-entry format "%s\nCannot handle this event:%s" "Ignoring event \"%s\"" "%s\n%s\nCannot handle this event: %s" "%s" find-buffer-visiting "\n" get-buffer-create "*icalendar-errors*" erase-buffer "Converting iCalendar...done"] 34 (#$ . 53589)])
#@229 Convert recurring iCalendar event E to diary format.

DTSTART-DEC is the DTSTART property of E.
START-T is the event's start time in diary format.
END-T is the event's end time in diary format.

(fn E DTSTART-DEC START-T END-T)
(defalias 'icalendar--convert-recurring-to-diary #[1028 "\301\302!\210\303\304\"\305!\306\307\"A@\306\310\"A@\306\311\"A@\312\306\313\"A@\206)\314!\315	!\315\316!!\315\316\317\"!\320\2030\203K\321\322!\210\2020\323\324\230\203\325\323\211\211\312\f!_\323\211\257\"\262\325\323\211\211\312\f!S_\323\211\257\"\262\202$\326\230\203\266\325\323\211\211\327\312
!\f\330#\323\211\257\"\262\325\323\211\211\327\312
!S\f\330#\323\211\257\"\262\202$\331\230\203\352\325\323\211\211\211\312
!S\f_\323\257\"\262\325\323\211\211\211\312
!S\f_\323\257\"\262\202$\332\230\203\325\323\211\211\211\211\312!S
_\257\"\262\325\323\211\211\211\211\312!S
_\257\"\262\202$\321\333\n\"\210\315!\262\315!\262\210\326\230\203\306\334\n\"A@\335!\211G\336V\205L\337\340\"\204\230\301\341!\210	\203}\337\342\206i\337\343\330_#	\f\203u\202w	$\262\202\337\344\206\204\320\203\214\336\202\220\n\330_\n$\262\202\301\345!\210	\203\321\337\346\206\260\337\343\330_#		\206\272\320\203\303\347\202\304\320\206\312\320&\262\202\337\350\206\330\320\203\340\336\202\344\n\330_\n\206\354\320\203\365\347\202\366\320\206\374\320&\262\266\202\237\332\230\203\200\301\351!\210\203a\352
8\3538\354\355\267\202<\337\356#\202=\337\357#\202=\337\357#\202=\360\361\362	\363\206J\320\203S\347\202T\320\206Z\320\260\n\266\203\202\237\337\364\206j\320\203s\347\202t\320\206z\320%\262\202\237\331\230\203?\301\365!\210\306\334\n\"A@\211\205\273\366 \367\323\370\371\372!\373\"\352$\216\374\375\"\205\270\336\224\336\225O\376\224\376\225OB)\262\211\203\321\211@\377A!\337\201@#\266\202\202\337\201A\3528\201B\267\202\374\337\201C\"\202\375\337\201D\"\202\375\337\201E\"\202\375\360\262\"\337\201F	
\203	\202\"\201G=\203\201H\202\"\201I\206(\320\2031\347\2022\320\2068\320&\266\204\202\237\324\230\203\237\203}\337\201J\211\n\203^\202`\206f\320\203o\347\202p\320\206v\320&\262\202\237\337\201K\206\213\320\203\224\347\202\225\320\206\233\320&\262\201L\201M\"\211\203\316@!\315!\201N\337\201O\"\360\211\201P\201Q!\203\327\201Q%\266\205\202\201P\201R!\205\376\366 \367\323\370\371\372!\201S\"\352$\216\201R$)\262\266\205\262\266\211A\262\202\250\210\303\201T\"\203&\211\201U\201L\201T\"Q\262\207" [calendar-date-style icalendar--dmsg "recurring event" icalendar--get-event-property RRULE icalendar--split-value assoc FREQ UNTIL COUNT read INTERVAL "1" icalendar--datetime-to-diary-date icalendar--decode-isodatetime -1 "" message "Must not have UNTIL and COUNT -- ignoring COUNT element!" 0 "DAILY" icalendar--add-decoded-times "WEEKLY" * 7 "MONTHLY" "YEARLY" "Cannot handle COUNT attribute for `%s' events." BYDAY icalendar--get-weekday-numbers 1 format "(memq (calendar-day-of-week date) '%s) " "weekly all-day" "%%%%(and %s(diary-block %s %s))" "(diary-cyclic %d %s) " "%%%%(and %s(diary-cyclic %d %s))" "weekly not-all-day" "%%%%(and %s(diary-block %s %s)) %s%s%s" "-" "%%%%(and %s(diary-cyclic %d %s)) %s%s%s" "yearly" 3 4 "%%(and (diary-date " #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (iso 548 european 556 american 564)) "t %d %d" "%d %d t" nil ") (diary-block " " " ")) " "%%%%(and (diary-anniversary %s)) %s%s%s" "monthly" match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] string-match "\\(-?[0-9]+\\)\\([A-Z][A-Z]\\)" 2 icalendar--get-weekday-number "(diary-float t %s %s)" "(diary-date %s)" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (iso 737 european 746 american 755)) "t t %d" "%d t t" "t %d t" "%%%%(and %s (diary-block %s %s)) %s%s%s" iso "9999 1 1" "1 1 9999" "%%%%(and (diary-cyclic %s %s) (diary-block %s %s)) %s%s%s" "%%%%(and (diary-cyclic %s %s)) %s%s%s" icalendar--get-event-properties EXDATE "^%%(\\(and \\)?" "%%%%(and (not (diary-date %s)) " fboundp replace-regexp-in-string replace-in-string [set-match-data evaporate] EXRULE "\n Exception rules: "] 29 (#$ . 56558)])
#@202 Convert non-recurring iCalendar EVENT to diary format.

DTSTART is the decoded DTSTART property of E.
Argument START-D gives the first day.
Argument END-D gives the last day.

(fn EVENT START-D END-D)
(defalias 'icalendar--convert-non-recurring-all-day-to-diary #[771 "\300\301!\210\302\303#\207" [icalendar--dmsg "non-recurring all-day event" format "%%%%(and (diary-block %s %s))"] 7 (#$ . 61041)])
#@295 Convert recurring icalendar EVENT to diary format.

DTSTART-DEC is the decoded DTSTART property of E.
DTEND-DEC is the decoded DTEND property of E.
START-T is the event's start time in diary format.
END-T is the event's end time in diary format.

(fn EVENT DTSTART-DEC DTEND-DEC START-T END-T)
(defalias 'icalendar--convert-non-recurring-not-all-day-to-diary #[1285 "\300\301!\210\211\203\302\303\304\305\"$\207\302\306\304\305\"#\207" [icalendar--dmsg "not all day event" format "%s %s-%s" icalendar--datetime-to-diary-date "/" "%s %s"] 10 (#$ . 61451)])
#@379 Add STRING to the diary file DIARY-FILE.
STRING must be a properly formatted valid diary entry.  NON-MARKING
determines whether diary events are created as non-marking.  If
SUMMARY is not nil it must be a string that gives the summary of the
entry.  In this case the user will be asked whether he wants to insert
the entry.

(fn STRING DIARY-FILE NON-MARKING &optional SUMMARY)
(defalias 'icalendar--add-diary-entry #[1027 "\211\203
\300\301\302\"!\203B\211\203\300\303\304!!\262\305 \306\307\310\311\312!\313\"\314$\216\204/\315\316!\262\317\320!\2039\320\202:\321#\210)\210r\322!q\210db\210`Sf\323U\203W\324\325!\210)\207" [y-or-n-p format-message "Add appointment for `%s' to diary? " format "Make appointment non-marking? " current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 read-file-name "Add appointment to this diary file: " fboundp diary-make-entry make-diary-entry find-file 32 delete-char -1] 11 (#$ . 62023)])
#@65 Example function for formatting an iCalendar EVENT.

(fn EVENT)
(defalias 'icalendar-import-format-sample #[257 "\300\301\302\303\"\206\n\304\302\305\"\206\304\302\306\"\206\304\302\307\"\206#\304\302\310\"\206,\304\302\311\"\2065\304\302	\312\"\206>\304&\207" [format "SUMMARY='%s' DESCRIPTION='%s' LOCATION='%s' ORGANIZER='%s' STATUS='%s' URL='%s' CLASS='%s'" icalendar--get-event-property SUMMARY "" DESCRIPTION LOCATION ORGANIZER STATUS URL CLASS] 12 (#$ . 63025)])
(provide 'icalendar)