=}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 Deprecated /M NOvalueOf(Z)Ljava/lang/Boolean; Q !logMailPartInfo/(Ljavax/mail/Part;Lorg/compiere/util/CLogger;)V ExceptionsVjavax/mail/MessagingExceptionXjava/lang/StringBuilder W#[javax/mail/Message] W_ `aappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;c=============Analysis email: Ze f9 getSubjecth =============j ==mail part== l Content type: npojavax/mail/Part q9getContentTypes Content type raw:u Content-Type nw xy getHeader'(Ljava/lang/String;)[Ljava/lang/String;{; } Disposition: n 9getDisposition ALL heads: n  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 W 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 N(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 U* +printStackTraceeLjavax/mail/MessagingException; getFolderM(Ljavax/mail/Store;Ljava/lang/String;Ljava/lang/Boolean;Z)Ljavax/mail/Folder;1+org/adempiere/exceptions/AdempiereException3#Can't open a folder with empty name 05 E 7 89getDefaultFolder()Ljavax/mail/Folder; ;=<javax/mail/Folder >3exists@(This mail account hasn't an inbox folder ;B CD getSeparator()C 5F GHreplace(CC)Ljava/lang/String; ;J .K'(Ljava/lang/String;)Ljavax/mail/Folder;M\\ 5O Pysplit J ;S TUcreate(I)Z ;Y 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 ikjjava/lang/Thread lm currentThread()Ljava/lang/Thread; io pqgetContextClassLoader()Ljava/lang/ClassLoader; sutjava/lang/Class vqgetClassLoader ix yzsetContextClassLoader(Ljava/lang/ClassLoader;)V |  ~ ./ ;  getMessages()[Ljavax/mail/Message;  " U 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 i 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; # Z 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; Z  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 lsMessageId2=(Ljavax/mail/Part;Lorg/compiere/util/EmailSrv$EmailContent;)V emailContent : RS<text/* n> ?? isMimeTypeA attachmentCjavax/mail/BodyPart E F lsAttachPartH!can't detect where this file from nJ K getContent N text/html P QhtmlContentBuild S TgetTextFromMailPart V WtextContentBuilYhas non content in this part[message/rfc822]$check html content of message/rfc822 W_ ``-(Ljava/lang/Object;)Ljava/lang/StringBuilder;b multipart/*djavax/mail/Multipart cf ggetCount ci jk getBodyPart(I)Ljavax/mail/BodyPart; m )7 B p q lsEmbedParts?TODO:content type is a binary, but isn't a instance of BodyPart u v lsUnknowPartx'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 5charset   getParameter javax/mail/internet/MimeUtility  javaCharset ISO_8859_1 java/nio/charset/Charset forName.(Ljava/lang/String;)Ljava/nio/charset/Charset;  ? isSupported  9 displayName W [ n 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; ? j@)(Ljava/lang/String;)Ljavax/mail/BodyPart; bodyPartImagesListLjava/util/ArrayList;image,Ljava/util/ArrayList;H application/*Jimage/*L Content-IdN"has difference value of Content-IdPX-Attachment-IdR7value of X-Attachment-Id difference value of Content-Id lsContentID contentID contentValue 5 headerNameheaders SourceFile EmailSrv.javaBootstrapMethods ]_^$java/lang/invoke/StringConcatFactory `(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;\c mail..portemail..ssl.enablegmail..auth.mechanismsi'folder doesn't exist and can't create:kdoesn't exists folder:m-try read with charset  maybe make break textomiss data of image has id is: InnerClassesr%java/lang/invoke/MethodHandles$Lookuptjava/lang/invoke/MethodHandlesLookup EmailContentx6org/compiere/util/EmailSrv$EmailEmbedProvideBase64DataEmailEmbedProvideBase64DataProcessEmailHandleProvideBase64Data NestMembers!    ) D !4w*"*$*&*+(*,**-,*.&C**(4:<&*&*&*&@B6*$FOI JPQRS$T-U0V@WOXTYcZk[p_v`>wFGww w w w HI0555/# JK9*+,-++4:< ++4:<LP i8j*9FG99 9 Ir555555555555555555555555 RSTUwWYYM*Z.,\^W,b^W,*Zd^W,g^W,\^W,\^W,i^W,k^W,*m^W,\^W,r^W*tvN-/-Y:662:,^W,z^W,\^W,|^W,*~^W,\^W,^W,\^W*:E8:,^W,^W,^W,^W,\^W,\^W*#*~*~ +B**~* +B+,+mnopq)r0s7t:uAvHxOyZza|h}q~u %FLhnvHwwoq)IA :W 9nWnW=4 '!TV**̰YL+ѶM*&M+,W+*(W+,*$W**N-6%+,W+,W*-,*+*̸ *̰N %(0;MU`er4FGUI`>I 54@(Tr/******(***,* * /FGI "z!**#*&L+)U !FG,-I[U ./TU++0Y24\6:,.5*6::0Y?4A6+\EI:3+LN:*2Q:A6+\EL*+Q:*+Q::,R0Y+V40Y+W4Xf")/7BIX[djt{\ \]H^_`"ab/)cbd'dtebI &;;() fg ::::hn:hrw*{:+,}::8:)*0Y4::*0Y466 6 m:  2: # X-N-E-7-:;:    X -: 66 :     ("B:  -  S: !YSȶ̧.Y SY SYSȶ    0Yٷ4 *0Y۷4 *:hwhw7:U7R07W09<LZ]U A   &0 7!<"A#E$R%T&W'Y(^)b*o-r.u0{1~25689<=>?=DEFGH I'J0M6N9O>PCRFSITLWZX_YdZ[\`aefg0mnopo q G \ ]H b  <,-TY,r u| xu ~g ` b  , >_N-I:5/;UW0D Z *5/;Z 5/;ZWZ VU$U* 5/; TU2*}  TU0 һY:*:mY: 66X 2:: <)d : :  W*: 2*d*++*#*'++*,-+^ ),H]`gt~\ ./b 012)K3,H4 K5I" Z;66= Z;665 Z;66Z;6# )7TU?*+' 8 )*TUx*9>*;=@*~%*B+D*BW GB*IL:*M=+O*R^W+U*R^WݲX*Z=\B+U*I^W*a=7*Ic:e66h:+lk*b*BO*B:nn+oW3n@+DW>rB>+t*WwB+ $+9<EFQbnv  ,=ILNQZ]_cnwf xx8xy ozQ={&|}~   CI-<*5 %#c (B  TTU L*IM,,LLM,BY*mN-::: :B:WY :: *: YY : ^W Y::  :   W   WL+"  ) 7!@"G#O$W%^'n)q*}+-./0/2346789678:=  7@GOqp}da  , I n5Hn555@ n5555W n5555WD n5555W n5555WLn5 TUcL*LYMN6 ,-+-Y6,:+ +WMܶB,:+ +W7?B7F7RFRRT\_NHJ KMNOP%O1R7X?YCRFSGTPURVTX\Y`Z>ca5/, G I^nnnK n TU2*f  T= *+r   TU?*N,:-:Y:Y:66 6 : 6 6 -  :  WW 6-:  W -WYY: 6   5^W+ 5: 5#B, $^ 5^&^^(^W  `5^W  n  "%(+.5<FPaemu*9???*=+7,-/./&0"1%2 (3 +4 F5 u5 6  \78&09"19I> . 555 6-5W25( :;TU<= YN*:,::Y:W-6@+5>:  5AB - BW-J #&7?IKQejf *CD +,-./#y1NL e&E 8CF#y19I1&555 2B TUO*G=*I= I TU/*KvLM+J+Y:6662N-)-,,- MB-M,#,<,,,d M*OvL+N+Y:66:2N---!,,- QB,-M,Z  #3BKMW [ o { 4 S T#*U.UI n5-n55n5n5#n5-n55n5n5 TUN*+vM,C>8,2:V<"d :,S,,& $% &'(/)>*C&L.4NNWFX> -I1YZ[2abadafahajalananp*qsuv wy z { | w