=org/compiere/util/EmailSrvjava/lang/ObjectlogLorg/compiere/util/CLogger;imapHostLjava/lang/String;imapUserimapPassimapPortIisSSLZ mailSessionLjavax/mail/Session; mailStoreLjavax/mail/Store;()VCode org/compiere/util/CLogger  getCLogger.(Ljava/lang/Class;)Lorg/compiere/util/CLogger;  LineNumberTableLocalVariableTableM(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V #  % '  )  +  -  /10java/lang/Boolean 23 booleanValue()Z 576java/lang/String 89 toLowerCase()Ljava/lang/String;;imap.gmail.com 5= >? startsWith(Ljava/lang/String;)ZA/because imap is gmail server, force port to 993 C DEwarning(Ljava/lang/String;)VthisLorg/compiere/util/EmailSrv;Ljava/lang/Boolean; StackMapTable9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated; /O PQvalueOf(Z)Ljava/lang/Boolean; S !logMailPartInfo/(Ljavax/mail/Part;Lorg/compiere/util/CLogger;)V ExceptionsXjavax/mail/MessagingExceptionZjava/lang/StringBuilder Y#]javax/mail/Message_ Ya bcappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;e=============Analysis email: \g h9 getSubjectj =============l ==mail part== n Content type: prqjavax/mail/Part s9getContentTypeu Content type raw:w Content-Type py z{ getHeader'(Ljava/lang/String;)[Ljava/lang/String;};  Disposition: p 9getDisposition ALL heads: p  getAllHeaders()Ljava/util/Enumeration; java/util/Enumeration  nextElement()Ljava/lang/Object;javax/mail/Header 9getName: 9getValue 3hasMoreElements   isBinaryPart(Ljavax/mail/Part;)Z 5 9trim 5 equals(Ljava/lang/Object;)Zcan't detect attach typeinline 5 ?equalsIgnoreCase   getContentID%(Ljavax/mail/Part;)Ljava/lang/String;'an inline content but has no content-id Y 9toString  EinfomsgLjavax/mail/Part;emailPartLogInfoLjava/lang/StringBuilder;lsContentTypeRaw[Ljava/lang/String; contentTypeallHeadLjava/util/Enumeration;headLjavax/mail/Header;getMailSession()Ljavax/mail/Session;java/lang/Exception  java/util/Properties # java/lang/System  getProperties()Ljava/util/Properties; putAll(Ljava/util/Map;)Vimapimapsmail.store.protocol put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; mail.host makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; java/lang/Integer P(I)Ljava/lang/Integer; (org/compiere/model/MAuthorizationAccount getEMailAccount>(Ljava/lang/String;)Lorg/compiere/model/MAuthorizationAccount;trueXOAUTH2 9refreshAndGetAccessToken javax/mail/Session  getInstance,(Ljava/util/Properties;)Ljavax/mail/Session;   org/compiere/util/CLogMgt  3 isLevelFinest  setDebug(Z)VpropsLjava/util/Properties;protocol authAccount*Lorg/compiere/model/MAuthorizationAccount;isOAuth2 getMailStore()Ljavax/mail/Store;     getStore  "!javax/mail/Store #Jconnect clearResource  & '3 isConnected  ) *close W, -printStackTraceeLjavax/mail/MessagingException; getFolderM(Ljavax/mail/Store;Ljava/lang/String;Ljava/lang/Boolean;Z)Ljavax/mail/Folder;3+org/adempiere/exceptions/AdempiereException5#Can't open a folder with empty name 27 E  9 :;getDefaultFolder()Ljavax/mail/Folder; =?>javax/mail/Folder @3existsB(This mail account hasn't an inbox folder =D EF getSeparator()C 5H IJreplace(CC)Ljava/lang/String; =L 0M'(Ljava/lang/String;)Ljavax/mail/Folder;O\\ 5Q R{split  L =U VWcreate(I)Z =[ \]open(I)V folderName isNestInboxcreateWhenNonExistsfolderSeparateC openFolderLjavax/mail/Folder; inboxFolder lsFolderName testFolderreadEmailFolders(Lorg/compiere/util/EmailSrv;Ljava/lang/String;Ljava/lang/Boolean;Lorg/compiere/util/EmailSrv$ProcessEmailHandle;)Z kmljava/lang/Thread no currentThread()Ljava/lang/Thread; kq rsgetContextClassLoader()Ljava/lang/ClassLoader; uwvjava/lang/Class xsgetClassLoader kz {|setContextClassLoader(Ljava/lang/ClassLoader;)V ~   01 =  getMessages()[Ljavax/mail/Message;  $ W 9 getMessage ,    # = 3isOpen -org/compiere/util/EmailSrv$ProcessEmailHandle  getListFolder()Ljava/util/List; java/util/List size()I  iterator()Ljava/util/Iterator; java/util/Iterator next  3hasNext  processMessage(Ljavax/mail/Message;Lorg/compiere/util/EmailSrv$ProcessEmailHandle;Ljavax/mail/Store;Ljavax/mail/Folder;)Lorg/compiere/util/EmailSrv$EmailContent; javax/mail/FolderClosedExceptionjavax/mail/StoreClosedExceptionjava/io/IOException$network disconnect, retry read email k sleep(J)V ,java/lang/InterruptedException  processEmailErrore(Lorg/compiere/util/EmailSrv$EmailContent;Ljavax/mail/Message;Ljavax/mail/Store;Ljavax/mail/Folder;)V java/util/logging/Level SEVERELjava/util/logging/Level;Dcan't complete handle error when process message with exception:%1$s 5 format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;  .(Ljava/util/logging/Level;Ljava/lang/String;)VNcan't complete handle error when process message with exception:%1$s-%2$s-%3$s 'org/compiere/util/EmailSrv$EmailContent subject   messageID6can't reopen email store for process after three tries have 5 email errors when processemailSrvprocessEmailHandle/Lorg/compiere/util/EmailSrv$ProcessEmailHandle;lsMsg[Ljavax/mail/Message; readerFoldertclLjava/lang/ClassLoader;appEx-Lorg/adempiere/exceptions/AdempiereException;Ljava/lang/Exception;numOfTrynumeOfContinueErrorEmaili processEmail)Lorg/compiere/util/EmailSrv$EmailContent; readerMsgLjavax/mail/Message;exFoldere1 Ljava/lang/InterruptedException;java/lang/ClassLoaderjava/lang/Throwable?(Ljavax/mail/Message;)Lorg/compiere/util/EmailSrv$EmailContent; # \ getFrom()[Ljavax/mail/Address; javax/mail/Address<> 5 ?endsWith 5  length 5  substring(II)Ljava/lang/String;   fromAddressLjava/util/List;  add Message-ID   getPartHeader8(Ljavax/mail/Part;Ljava/lang/String;)[Ljava/lang/String; \   getSentDate()Ljava/util/Date; " #$sentDateLjava/util/Date; & '(checkEmailHeader@(Lorg/compiere/util/EmailSrv$EmailContent;Ljavax/mail/Message;)Z * +,analysisEmailStructure>(Ljavax/mail/Part;Lorg/compiere/util/EmailSrv$EmailContent;Z)V . /processEmailContentevaluateEmailHead mailFolder emailInfofrom[Ljavax/mail/Address;Ljavax/mail/Address;address lsMessageId4=(Ljavax/mail/Part;Lorg/compiere/util/EmailSrv$EmailContent;)V emailContent < TU>text/* p@ A? isMimeTypeC attachmentEjavax/mail/BodyPart G H lsAttachPartJ!can't detect where this file from pL M getContent P text/html R ShtmlContentBuild U VgetTextFromMailPart X YtextContentBuil[has non content in this part]message/rfc822_$check html content of message/rfc822 Ya bb-(Ljava/lang/Object;)Ljava/lang/StringBuilder;d multipart/*fjavax/mail/Multipart eh igetCount ek lm getBodyPart(I)Ljavax/mail/BodyPart; o +9 D r s lsEmbedPartu?TODO:content type is a binary, but isn't a instance of BodyPart w x lsUnknowPartz'an unknown part, this content will missisRoot isUnknowPart txtContentmpLjavax/mail/Multipart;countpartLjavax/mail/BodyPart; attachPartFhttp://www.oracle.com/technetwork/java/javamail/faq/index.html#unsupen $java/io/UnsupportedEncodingExceptionjavax/mail/internet/ContentType 7charset   getParameter javax/mail/internet/MimeUtility  javaCharset ISO_8859_1 java/nio/charset/Charset forName.(Ljava/lang/String;)Ljava/nio/charset/Charset;  ? isSupported  9 displayName Y ] p getInputStream()Ljava/io/InputStream;java/io/BufferedReaderjava/io/InputStreamReader  2(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V  (Ljava/io/Reader;)V  9readLine )java/io/InputStreamtxtParttextcontentLjava/lang/Object;uex&Ljava/io/UnsupportedEncodingException;cType!Ljavax/mail/internet/ContentType;emailCharsetStr emailCharsetLjava/nio/charset/Charset;strsbisLjava/io/InputStream; bufferReaderLjava/io/BufferedReader;Ljava/io/IOException; getBinaryData(Ljavax/mail/Part;)[Bjava/io/ByteArrayOutputStream #  write([BII)V  read([B)I   toByteArray()[B#exception when read attach in email binaryPartinoutLjava/io/ByteArrayOutputStream;buffer[B bytesReadioegetBinaryAsBASE64)(Ljavax/mail/BodyPart;)Ljava/lang/String;    javax/xml/bind/DatatypeConverter printBase64Binary([B)Ljava/lang/String;mailPartembedImgToEmailT(Ljava/lang/String;Lorg/compiere/util/EmailSrv$ProvideBase64Data;)Ljava/lang/String;\s+src\s*=\s*"cid:(.*?)"  f(Ljava/lang/String;Lorg/compiere/util/EmailSrv$ProvideBase64Data;Ljava/lang/String;)Ljava/lang/String; mailContentprovideBase64Data.Lorg/compiere/util/EmailSrv$ProvideBase64Data; java/util/regex/Pattern compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;  matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; java/util/ArrayList #   java/util/regex/Matcher start   end   group(I)Ljava/lang/String;   3find 5   get(I)Ljava/lang/Object; !#",org/compiere/util/EmailSrv$ProvideBase64Data $ getBase64Data' alt="inline_image_)" src="data:image/jpeg;base64,+" embedPattern origonSign imgPatternLjava/util/regex/Pattern; imgMatcherLjava/util/regex/Matcher;lsPartlsImgSrc startIndexstartIndexMatch endIndexMatch startStringreconstructSign imageBase64LocalVariableTypeTable$Ljava/util/List;getEmbededImagesi(Ljava/lang/String;Lorg/compiere/util/EmailSrv$ProvideBase64Data;Ljava/lang/String;)Ljava/util/ArrayList; Signature(Ljava/lang/String;Lorg/compiere/util/EmailSrv$ProvideBase64Data;Ljava/lang/String;)Ljava/util/ArrayList; !A lB)(Ljava/lang/String;)Ljavax/mail/BodyPart; bodyPartImagesListLjava/util/ArrayList;image,Ljava/util/ArrayList;J application/*Limage/*N Content-IdP"has difference value of Content-IdRX-Attachment-IdT7value of X-Attachment-Id difference value of Content-Id lsContentID contentID contentValue 5 headerNameheaders SourceFile EmailSrv.javaBootstrapMethods _a`$java/lang/invoke/StringConcatFactory b(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;^e mail..portgmail..ssl.enableimail..auth.mechanismsk'folder doesn't exist and can't create:mdoesn't exists folder:o-try read with charset  maybe make break textqmiss data of image has id is: InnerClassest%java/lang/invoke/MethodHandles$Lookupvjava/lang/invoke/MethodHandlesLookup EmailContentz6org/compiere/util/EmailSrv$EmailEmbedProvideBase64DataEmailEmbedProvideBase64DataProcessEmailHandleProvideBase64Data NestMembers!    ) D !4w*"*$*&*+(*,**-,*.&C**(4:<&*&*&*&@B6*$FVI JWXYZ$[-\0]@^O_T`cakbpfvg>wFGww w w w HI0555/# JKLM9*+,-++4:< ++4:<NR q8r*9FG99 9 Ir555555555555555555555555 TUVWwYY[M*\.,^`W,d`W,*\f`W,i`W,^`W,^`W,k`W,m`W,*o`W,^`W,t`W*vxN-/-Y:662:,`W,|`W,^`W,~`W,*`W,^`W,`W,^`W*:E8:,`W,`W,`W,`W,^`W,^`W*#** +B*** +B+,+{|}~)07:AHOZahqu %FLhnvHwwoq)IA :Y 9pYpY=4 '!VV**ΰYL+ӶM*&M+,W+*(W+,*$W**N-6%+,W+,W*-,*+*θ *ΰN %(0;MU`er4FGUI`>I 54@(Vr/******(***,* * /FGI $z!**%*(L++W !FG./I[W 01VW++2Y46\6:,.5*8:<2YA6C6+\GK:3+NP:*2S:C6+\GL*+S:*+S:<,T2Y+X62Y+Y6Zf")/7BIX [ d j t {!\ ^_H`ab"cd/)edd'ftgdI &==() hi ::::jp:jty*}:+,::8:+*2Y6::*2Y666 6 m:  2: % Z-N-E-7-:=:    Z -: 66 :     ("B:  -  S: !YSʶΧ.Y SY SYSʶ    2Y۷6 *2Yݷ6 *:jyjy7:W7R27W09<LZ]W A/01 2 46 7&90;7<<=A>E?R@TAWBYC^DbEoHrIuK{L~MPQSTWXYZX_`abc d'e0h6i9j>kCmFnIoLrZs_tduvw{|K  G ^ _H d  <./TY.r u| xu ~g ` d  . >_N/I:5/= WW2D \ *5/= \ 5/= \WZ VW$W* 5/=  VW2*  VW0 һY:*:mY: 66X 2:: <) d : :  W*: 2*f*!++*%*)++*,--^ ),H]`gt~\ 01d 234)K5,H6 K7I" \ =88= \ =885 \ =88\ =8# +9VW?*+) : +,VWx*;>*=?B*%*D+F*DW IB*KN:*O?+Q*T`W+W*T`WݲZ*\?^B+W*K`W*c?7*Ke:g66j:+nk*b*DO*D:pp+qW3pB+FW>tB>+v*WyB+ $+9<EFQbnv      ,=ILNQZ]_cnw f xx:x{ o|Q=}&~   CI-<*5 %#e (D  VVW L*KM,,NLM,BY*oN-::: :B:YY :: *: YY : `W Y::  :   W   WL+"*, - ./01):7;@<G=O>W?^AnCqD}EGHIJILMNPQRSPQRTW  7@GOqp}da  . I p5Hp555@ p5555Y p5555YD p5555Y p5555YLp5 VWcL*LYMN6 ,-+-Y6,:+ +WM޶B,:+ +W7?B7F7RFRRT\_Nbd eghij%i1l7r?sClFmGnPoRpTr\s`t>ca5/, G I^pppK p VW2*  V= *+   VW?*N,:-:Y :Y :66 6 : 6 6 -  :  WW 6-:  W -YY[: 6   5`W+ 5 : 5%B, &` 5`(``*`W  `5`W  n  "%(+.5<FPaemu*9???,=-7.//01&2"3%4 (5 +6 F7 u7 8  \9:&2;"3;I> . 5!55 6-5Y25( <=VW>? Y N*:,::Y :W-6@+5@:  5CB - DW-J #&7?IKQej  f ,EF -./01#y3NL e&G :EH#y3;I1&5!55 2D VWO*I?*K? I VW/*MxLM+J+Y:6662N-)-,,- OB-M,#,<,,, d M*QxL+N+Y:66:2N---!,,- SB,-M,Z% & ()#*3+B,K.M)W4[5o6{:;<=>?BC<I4 U V#*W.WI p5-p55p5p5#p5-p55p5p5 VWN*+xM,C>8,2:X<" d :,S,,& TU VWX/Y>ZCVL^4NNYFZ> -I1[\]2cdcfchcjclcncpcpr*suwx y{ | !} ~ y!