+
    f0iyC                     "   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
HtHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHtHtHtH t H!t! ^ RI"H#t#H$t$ ]PJ                  ! ]&4      t' ! R	 R
]4      t( ! R R4      t) ! R R])4      t* ! R R])4      t+ ! R R]+4      t, ! R R])4      t- ! R R]-4      t. ! R R]*4      t/ ! R R]-4      t0 ! R R]*4      t1 ! R R]-4      t2 ! R R 4      t3 ! R! R"] ],          4      t4R# )#zAdobe character mapping (CMap) support.

CMaps provide the mapping between character codes and Unicode
code-points to character ids (CIDs).

More information is available on:

  https://github.com/adobe-type-tools/cmap-resources

N)IterableIteratorMutableMapping)AnyBinaryIOClassVarTextIOUnioncast)name2unicode)PDFExceptionPDFTypeError)PSEOFPSSyntaxError)KWD	PSKeyword	PSLiteralPSStackParserliteral_name)choplistnunpackc                       ] tR t^'tRtR# )	CMapError N__name__
__module____qualname____firstlineno____static_attributes__r       U/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfminer/cmapdb.pyr   r   '   s    r    r   c                      a  ] tR t^+t o ^ tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
V 3R lR ltRtV tR# )CMapBasec                $   < V ^8  d   QhRS[ RR/#    kwargsreturnN)object)format__classdict__s   "r!   __annotate__CMapBase.__annotate__.   s     @ @ @D @r    c                0    VP                  4       V n        R # N)copyattrsselfr'   s   &,r!   __init__CMapBase.__init__.   s    28++-
r    c                    < V ^8  d   QhRS[ /# r&   r(   )bool)r*   r+   s   "r!   r,   r-   1   s     / /T /r    c                @    V P                   P                  R ^ 4      ^ 8g  # WMode)r1   getr3   s   &r!   is_verticalCMapBase.is_vertical1   s    zz~~gq)Q..r    c                *   < V ^8  d   QhRS[ RS[RR/# )r&   kvr(   N)strr)   )r*   r+   s   "r!   r,   r-   4   s"      # & T r    c                "    W P                   V&   R # r/   r1   )r3   rA   rB   s   &&&r!   set_attrCMapBase.set_attr4   s    

1r    c                *   < V ^8  d   QhRS[ RS[RR/# r&   codecidr(   NrC   int)r*   r+   s   "r!   r,   r-   7   s"       3 4 r    c                    R # r/   r   )r3   rJ   rK   s   &&&r!   add_code2cidCMapBase.add_code2cid7       r    c                J   < V ^8  d   QhRS[ RS[S[,          S[ ,          RR/# r&   rK   rJ   r(   NrM   r   bytes)r*   r+   s   "r!   r,   r-   :   s,      # Y->-D  r    c                    R # r/   r   )r3   rK   rJ   s   &&&r!   add_cid2unichrCMapBase.add_cid2unichr:   rQ   r    c                "   < V ^8  d   QhRRRR/# )r&   cmapr#   r(   Nr   )r*   r+   s   "r!   r,   r-   =   s      Z D r    c                    R # r/   r   )r3   rZ   s   &&r!   use_cmapCMapBase.use_cmap=   rQ   r    c                6   < V ^8  d   QhRS[ RS[S[,          /# r&   rJ   r(   )rU   r   rM   )r*   r+   s   "r!   r,   r-   @   s     " "5 "Xc] "r    c                    \         hr/   )NotImplementedError)r3   rJ   s   &&r!   decodeCMapBase.decode@   s    !!r    rE   N)r   r   r   r   debugr4   r>   rF   rO   rW   r\   rb   r   __classdictcell__r+   s   @r!   r#   r#   +   sR     E@ @/ /    " "r    r#   c                      a  ] tR t^Dt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR lt]P                  R	R3V 3R
 lR llt
RtV tR	# )CMapc                4   < V ^8  d   QhRS[ S[,          RR/# r%   rL   )r*   r+   s   "r!   r,   CMap.__annotate__E   s     . .s .t .r    c                B    \         P                  ! V 3/ VB  / V n        R # r/   )r#   r4   code2cidr2   s   &,r!   r4   CMap.__init__E   s    $)&)+-r    c                    < V ^8  d   QhRS[ /# r7   rC   )r*   r+   s   "r!   r,   rj   I   s     ? ?# ?r    c                V    R P                  V P                  P                  R4      4      # )z
<CMap: {}>CMapNamer*   r1   r<   r=   s   &r!   __repr__CMap.__repr__I   s     ""4::>>*#=>>r    c                $   < V ^8  d   QhRS[ RR/# )r&   rZ   r(   N)r#   )r*   r+   s   "r!   r,   rj   L   s     + +X +$ +r    c                   a \        V\        4      '       g   Q \        \        V4      4      4       hR  V3R lloS! V P                  VP                  4       R# )c                x    V ^8  d   QhR\         \        \        3,          R\         \        \        3,          RR/# )r&   dstsrcr(   N)dictrM   r)   )r*   s   "r!   r,   #CMap.use_cmap.<locals>.__annotate__O   s3     	 	d3;' 	d3;.? 	D 	r    c                    < VP                  4        F/  w  r#\        V\        4      '       d   / pW@V&   S! WC4       K+  W0V&   K1  	  R # r/   )items
isinstancerz   )rx   ry   rA   rB   dr0   s   &&   r!   r0   CMap.use_cmap.<locals>.copyO   s<    		a&&+-AFJF $r    N)r~   rh   rC   typerl   )r3   rZ   r0   s   &&@r!   r\   CMap.use_cmapL   sA    $%%6s4:6%	 	 	T]]DMM*r    c                6   < V ^8  d   QhRS[ RS[S[,          /# r_   )rU   r   rM   )r*   r+   s   "r!   r,   rj   Z   s     " "5 "Xc] "r    c              #  @  "   \         P                  R W4       V P                  p\        V4       Fh  pW29   dT   W#,          p\	        V\
        4      '       d   Vx  V P                  pK9  \        \        \
        \        3,          V4      pK\  V P                  pKj  	  R# 5i)zdecode: %r, %rN)	logrd   rl   iterr~   rM   r
   rz   r)   )r3   rJ   r   ixs   &&   r!   rb   CMap.decodeZ   sp     		"D/MMdAvDa%%GAT#v+.2AMM s   BBNc                h   < V ^8  d   QhRS[ RS[S[S[3,          R,          RS[S[R3,          RR/# )r&   outrl   NrJ   .r(   )r   rz   rM   r)   tuple)r*   r+   s   "r!   r,   rj   h   sO     P PP sF{#d*P CHo	P
 
Pr    c           	     D   Vf   V P                   pRp\        VP                  4       4       Fp  w  rE. VOVN5p\        V\        4      '       d   VP                  RV: RV R24       K=  V P                  V\        \        \        \        3,          V4      VR7       Kr  	  R # )Nzcode z = cid 
)r   rl   rJ   r   )
rl   sortedr}   r~   rM   writedumpr
   rz   r)   )r3   r   rl   rJ   rA   rB   cs   &&&&   r!   r   	CMap.dumph   s     }}HD8>>+,DA$

A!S!!		E!gaS34		cDc6k1BA,FQ	O -r    rl   r   )r   r   r   r   r4   rs   r\   rb   sysstdoutr   r   re   rf   s   @r!   rh   rh   D   sN     . .? ?+ +" "  jj-1 "	P P Pr    rh   c                   2   a  ] tR t^yt o V 3R lR ltRtV tR# )IdentityCMapc                :   < V ^8  d   QhRS[ RS[S[R3,          /# r&   rJ   r(   .rU   r   rM   )r*   r+   s   "r!   r,   IdentityCMap.__annotate__z   #      5 U38_ r    c                    \        V4      ^,          pV'       d&   \        P                  ! RV R2VRV^,           4      # R# )r&   >HNr   lenstructunpackr3   rJ   ns   && r!   rb   IdentityCMap.decodez   s:    IN==1QCq4!a%=99Ir    r   Nr   r   r   r   rb   r   re   rf   s   @r!   r   r   y         r    r   c                   2   a  ] tR t^t o V 3R lR ltRtV tR# )IdentityCMapBytec                :   < V ^8  d   QhRS[ RS[S[R3,          /# r   r   )r*   r+   s   "r!   r,   IdentityCMapByte.__annotate__   r   r    c                h    \        V4      pV'       d   \        P                  ! R V R2VRV 4      # R# )r   BNr   r   r   s   && r!   rb   IdentityCMapByte.decode   s2    I==1QCq4844Ir    r   Nr   rf   s   @r!   r   r      r   r    r   c                      a  ] tR t^t o V 3R lR ltV 3R lR ltV 3R lR lt]P                  3V 3R lR llt	R	t
V tR
# )
UnicodeMapc                4   < V ^8  d   QhRS[ S[,          RR/# r%   rL   )r*   r+   s   "r!   r,   UnicodeMap.__annotate__   s     - -s -t -r    c                B    \         P                  ! V 3/ VB  / V n        R # r/   )r#   r4   
cid2unichrr2   s   &,r!   r4   UnicodeMap.__init__   s    $)&)*,r    c                    < V ^8  d   QhRS[ /# r7   ro   )r*   r+   s   "r!   r,   r      s     E E# Er    c                V    R P                  V P                  P                  R4      4      # )z<UnicodeMap: {}>rq   rr   r=   s   &r!   rs   UnicodeMap.__repr__   s     !((
)CDDr    c                &   < V ^8  d   QhRS[ RS[/# r&   rK   r(   rM   rC   )r*   r+   s   "r!   r,   r      s     $ $c $c $r    c                T    \         P                  R W4       V P                  V,          # )get_unichr: %r, %r)r   rd   r   r3   rK   s   &&r!   
get_unichrUnicodeMap.get_unichr   s     		&2s##r    c                $   < V ^8  d   QhRS[ RR/# )r&   r   r(   N)r   )r*   r+   s   "r!   r,   r      s     4 4 4 4r    c                    \        V P                  P                  4       4       F  w  r#VP                  R V RV: R24       K   	  R# )zcid z = unicode r   N)r   r   r}   r   )r3   r   rA   rB   s   &&  r!   r   UnicodeMap.dump   s;    4??0023DAIIQC{1%r23 4r    r   N)r   r   r   r   r4   rs   r   r   r   r   r   re   rf   s   @r!   r   r      s=     - -E E$ $ "% 4 4 4r    r   c                   2   a  ] tR t^t o V 3R lR ltRtV tR# )IdentityUnicodeMapc                &   < V ^8  d   QhRS[ RS[/# r   r   )r*   r+   s   "r!   r,   IdentityUnicodeMap.__annotate__   s      c c r    c                D    \         P                  RW4       \        V4      # )z+Interpret character id as unicode codepointr   )r   rd   chrr   s   &&r!   r   IdentityUnicodeMap.get_unichr   s    		&23xr    r   N)r   r   r   r   r   r   re   rf   s   @r!   r   r      s      r    r   c                   2   a  ] tR t^t o V 3R lR ltRtV tR# )FileCMapc                *   < V ^8  d   QhRS[ RS[RR/# rI   rL   )r*   r+   s   "r!   r,   FileCMap.__annotate__   s"       3 4 r    c                   \        V\        4      '       d   \        V\        4      '       g%   Q \        \        V4      \        V4      34      4       hV P                  pVR R  FE  p\        V4      pWS9   d*   \        \        \        \        3,          W5,          4      pK=  / pWcV&   TpKG  	  \        VR,          4      pW#V&   R # )N)	r~   rC   rM   r   rl   ordr
   rz   r)   )r3   rJ   rK   r   r   cits   &&&    r!   rO   FileCMap.add_code2cid   s    $$$C)=)= 	
s$Zc#@
 	
= MMcrAQBwc6k*AE2')"  b]"r    r   N)r   r   r   r   rO   r   re   rf   s   @r!   r   r      s      r    r   c                   2   a  ] tR t^t o V 3R lR ltRtV tR# )FileUnicodeMapc                J   < V ^8  d   QhRS[ RS[S[,          S[ ,          RR/# rS   rT   )r*   r+   s   "r!   r,   FileUnicodeMap.__annotate__   s,     & &# &Y->-D & &r    c                   \        V\        4      '       g   Q \        \        V4      4      4       h\        V\        4      '       d9   \        VP
                  \        4      '       g   Q h\        VP
                  4      pMV\        V\        4      '       d   VP                  R R4      pM-\        V\        4      '       d   \        V4      pM\        V4      hVR8X  d#   V P                  P                  V4      R8X  d   R# W0P                  V&   R# )zUTF-16BEignore     N)r~   rM   rC   r   r   namer   rU   rb   r   r   r   r<   )r3   rK   rJ   unichrs   &&& r!   rW   FileUnicodeMap.add_cid2unichr   s    #s##3Sc^3#dI&&dii----!$)),Fe$$[[X6Fc""YFt$$ X$//"5"5c":c"A%r    r   N)r   r   r   r   rW   r   re   rf   s   @r!   r   r      s     & &r    r   c                   >   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )PyCMapc                *   < V ^8  d   QhRS[ RS[RR/# )r&   r   moduler(   N)rC   r   )r*   r+   s   "r!   r,   PyCMap.__annotate__   s"     $ $S $# $$ $r    c                   < \         SV `  VR 7       VP                  V n        VP                  '       d   ^V P
                  R&   R# R# )rq   r;   N)superr4   CODE2CIDrl   IS_VERTICALr1   )r3   r   r   	__class__s   &&&r!   r4   PyCMap.__init__   s=    $'"#DJJw r    r   r   r   r   r   r4   r   re   __classcell__r   r+   s   @@r!   r   r      s     $ $ $r    r   c                   >   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )PyUnicodeMapc                0   < V ^8  d   QhRS[ RS[RS[RR/# )r&   r   r   verticalr(   N)rC   r   r8   )r*   r+   s   "r!   r,   PyUnicodeMap.__annotate__   s)     2 2S 2# 2 2$ 2r    c                   < \         SV `  VR 7       V'       d#   VP                  V n        ^V P                  R&   R# VP
                  V n        R# r   )r   r4   CID2UNICHR_Vr   r1   CID2UNICHR_H)r3   r   r   r   r   s   &&&&r!   r4   PyUnicodeMap.__init__   s>    $'$11DO"#DJJw$11DOr    r   r   r   s   @@r!   r   r      s     2 2 2r    r   c                      a  ] tR t^t o / t/ t ! R R]4      t]V 3R lR l4       t	]
V 3R lR l4       t]
V 3R lR l4       t]
RV 3R	 lR
 ll4       tV 3R ltRtV tR# )CMapDBc                       ] tR t^tRtR# )CMapDB.CMapNotFoundr   Nr   r   r    r!   CMapNotFoundr      s    r    r   c                ~   < V ^8  d   QhRS[ S[S[S[3,          S[3,          RS[ S[S[S[3,          S[3,          /# )r&   r   r(   )r	   rz   rC   r)   rM   )r*   r+   s   "r!   r,   CMapDB.__annotate__   sC      c6k"C'(	tCK #%	&r    c                   \        V \        4      '       g   V # / pV P                  4        FD  w  r# \        V4      p\        V\        4      '       d   \        P                  V4      W&   K@  W1V&   KF  	  V#   \        \
        3 d    Tp LNi ; i)zERecursively convert string keys to integers in CODE2CID dictionaries.)r~   rz   r}   rM   
ValueError	TypeErrorr   _convert_code2cid_keys)r   resultrA   rB   new_keys   &    r!   r  CMapDB._convert_code2cid_keys   s    
 !T""H$&GGIDAa& !T"""("?"?"B"#w   	* s   A55B
Bc                6   < V ^8  d   QhRS[ RS[S[,          /# r&   r   r(   )rC   r   r   )r*   r+   s   "r!   r,   r     s     $( $(c $(d3i $(r    c           
     >   VP                  R R4      p\        P                  RV4       \        P                  P                  RR4      \        P                  P                  \        P                  P                  \        4      R4      3pV EF  pV R2p\        P                  P                  W44      p\        P                  P                  V4      p\        P                  P                  V4      pVP                  V\        P                  ,           4      '       g   K  \        P                  P                  V4      '       g   K  \        P                  RV4       \        P                  ! VRR	R
7      ;_uu_ 4       p\         P"                  ! V4      p	RV	9   d9   V	R,          P%                  4        U
Uu/ uF  w  r\'        V
4      VbK  	  upp
V	R&   RV	9   d9   V	R,          P%                  4        U
Uu/ uF  w  r\'        V
4      VbK  	  upp
V	R&   V	P                  R4      '       d   V P)                  V	R,          4      V	R&   \+        \-        V4      RV	4      uuRRR4       u # 	  \.        P1                  V4      hu upp
i u upp
i   + '       g   i     EK  ; i)  zloading: %r	CMAP_PATHz/usr/share/pdfminer/rZ   z.json.gzzloading JSON: %rrtzutf-8)encodingr   r   r   Nr   )replacer   rd   osenvironr<   pathjoindirname__file__realpath
startswithsepexistsgzipopenjsonloadr}   rM   r  r   rC   r   r   )clsr   
cmap_paths	directoryjson_filename	json_pathresolved_json_pathresolved_directorygzfiledatarA   rB   s   &&          r!   
_load_dataCMapDB._load_data   s   ||D"%		-&JJNN;(>?GGLL2F;


 $I#fH-MY>I!#!1!1)!<!#!1!1)!< ",,"RVV+ ''..!344		,i8YY14'JJf+/99V+<D%-26~2F2L2L2N02N$!CFAI2N0^, &-26~2F2L2L2N02N$!CFAI2N0^, xx
+++.+E+Ed:FV+WZ(D	2t4 KJ $8 !!$''00 KJJs0   >8J
6I>(J
5JJ
*0J
>J

Jc                &   < V ^8  d   QhRS[ RS[/# r
  )rC   r#   )r*   r+   s   "r!   r,   r     s      C H r    c                >   VR 8X  d   \        ^ R7      # VR8X  d   \        ^R7      # VR8X  d   \        ^ R7      # VR8X  d   \        ^R7      #  V P                  V,          #   \         d     Mi ; iT P	                  T4      p\        Y4      ;T P                  T&   pT# )z
Identity-Hr:   z
Identity-VOneByteIdentityHOneByteIdentityV)r   r   _cmap_cacheKeyErrorr)  r   )r   r   r(  rZ   s   &&  r!   get_cmapCMapDB.get_cmap  s    <a((\!a((''#!,,''#!,,	??4(( 		~~d#'-d'99s   A! !A/.A/c                ,   < V ^8  d   QhRS[ RS[RS[/# )r&   r   r   r(   )rC   r8   r   )r*   r+   s   "r!   r,   r  2  s"     / /3 /$ /: /r    c                    V P                   V,          V,          #   \         d     Mi ; iT P                  R T 24      pR Uu. uF  p\        YT4      NK  	  Mu upi upT P                   T&   T P                   T,          T,          # )zto-unicode-)FT)_umap_cacher0  r)  r   )r   r   r   r(  rB   s   &&&  r!   get_unicode_mapCMapDB.get_unicode_map1  sz    	??4(22 		~~D623FS Tmd!!<m Tt$X..s    **Ac                   < V ^8  d   Qh/ S[ S[S[S[3,          ,          ;R&   S[ S[S[S[S[,          3,          ,          ;R&   # )r&   r/  r5  )r   rz   rC   r   listr   )r*   r+   s   "r!   r,   r     s=     $sF{+,1 $sD$6678= r    r   N)F)r   r   r   r   r/  r5  r   r   staticmethodr  classmethodr)  r1  r6  __annotate_func__r   re   rf   s   @r!   r   r      sy     /1K;=Ky   ( $( $(L  " / / /m  r    r   c                   h  a  ] tR tRt o V 3R lR ltV 3R lR lt]! R4      t]! R4      t]! R4      t	]! R	4      t
]! R
4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      tV 3R lR ltV 3R lR ltRtV tR# )
CMapParseri<  c                *   < V ^8  d   QhRS[ RS[RR/# )r&   rZ   fpr(   N)r#   r   )r*   r+   s   "r!   r,   CMapParser.__annotate__=  s"     ) )X )8 ) )r    c                j    \         P                  ! W4       Wn        R V n        \	        4       V n        R# )TN)r   r4   rZ   _in_cmapset	_warnings)r3   rZ   r@  s   &&&r!   r4   CMapParser.__init__=  s%    t(	#&5r    c                   < V ^8  d   QhRR/# )r&   r(   Nr   )r*   r+   s   "r!   r,   rA  D  s      T r    c                    \         P                  ! \        4      ;_uu_ 4        V P                  4        R R R 4       R #   + '       g   i     R # ; ir/   )
contextlibsuppressr   
nextobjectr=   s   &r!   runCMapParser.runD  s,      ''OO ('''s	   >A	s	   begincmaps   endcmaps   usecmaps   defs   begincodespaceranges   endcodespaceranges   begincidranges   endcidranges   begincidchars
   endcidchars   beginbfranges
   endbfranges   beginbfchars	   endbfchars   beginnotdefranges   endnotdefrangec                *   < V ^8  d   QhRS[ RS[RR/# )r&   postokenr(   N)rM   r   )r*   r+   s   "r!   r,   rA  Y  s'     W  W c W ) W  W r    c                   W P                   J d   RV n        V P                  4        R# W P                  J d
   RV n        R# V P                  '       g   R# W P                  J dA    V P                  ^4      w  w  r4w  r5V P                  P                  \        V4      V4       R# W P                  J dP    V P                  ^4      w  w  r6V P                  P                  \        P                  \        V4      4      4       R# W P                  J d   V P                  4        R# W P                   J d   V P                  4        R# W P"                  J d   V P                  4        R# W P$                  J Ed   V P                  4        UUu. uF  w  rxVNK	  	  p	pp\'        ^V	4       EFh  w  rp\)        V
\*        4      '       g   V P-                  R4       K0  \)        V\*        4      '       g   V P-                  R4       KY  \)        V\.        4      '       g   V P-                  R4       K  \1        V
4      \1        V4      8w  d   V P-                  R4       K  V
RR pVRR pW8w  d   V P-                  R4       K  V
RR pVRR p\3        V4      p\3        V4      p\1        V4      p\5        VV,
          ^,           4       FO  pV\6        P8                  ! R	VV,           4      V) R ,           pV P                  P;                  VV,           V4       KQ  	  EKk  	  R# W P<                  J d   V P                  4        R# W P>                  J d   V P                  4        UUu. uF  w  rxVNK	  	  p	pp\'        ^V	4       FR  w  pp\)        V\*        4      '       g   K  \)        V\.        4      '       g   K6  V P                  P;                  VV4       KT  	  R# W P@                  J d   V P                  4        R# W PB                  J Ed   V P                  4        UUu. uF  w  rxVNK	  	  p	pp\'        ^V	4       EF  w  rp\)        V
\*        4      '       g   V P-                  R
4       K0  \)        V\*        4      '       g   V P-                  R4       KY  \1        V
4      \1        V4      8w  d   V P-                  R4       K  \3        V
4      p\3        V4      p\)        V\D        4      '       dx   \1        V4      VV,
          ^,           8w  d   V P-                  R4       \G        \5        VV^,           4      VRR7       F"  w  ppV P                  P;                  VV4       K$  	  EK(  \)        V\*        4      '       g   Q hVRR p\3        V4      pVRR p\1        V4      p\5        VV,
          ^,           4       FO  pV\6        P8                  ! R	VV,           4      V) R ,           pV P                  P;                  VV,           V4       KQ  	  EK  	  R# W PH                  J d   V P                  4        R# W PJ                  J d   V P                  4        UUu. uF  w  rxVNK	  	  p	pp\'        ^V	4       F[  w  pp\)        V\*        4      '       g   K  \)        V\*        4      '       g   K6  V P                  P;                  \3        V4      V4       K]  	  R# W PL                  J d   V P                  4        R# W PN                  J d   V P                  4        R# V PQ                  W34       R#   \         d     R# i ; i  \         d     R# \        P                   d     R# i ; iu uppi u uppi u uppi u uppi )zKToUnicode CMaps

See Section 5.9.2 - ToUnicode CMaps of the PDF Reference.
TNFz0The start object of begincidrange is not a byte.z.The end object of begincidrange is not a byte.z.The cid object of begincidrange is not a byte.z?The start and end byte of begincidrange have different lengths.zGThe prefix of the start and end byte of begincidrange are not the same.z>LzThe start object is not a byte.zThe end object is not a byte.z.The start and end byte have different lengths.zPThe difference between the start and end offsets does not match the code length.)strict))KEYWORD_BEGINCMAPrC  popallKEYWORD_ENDCMAPKEYWORD_DEFpoprZ   rF   r   r   KEYWORD_USECMAPr\   r   r1  r   KEYWORD_BEGINCODESPACERANGEKEYWORD_ENDCODESPACERANGEKEYWORD_BEGINCIDRANGEKEYWORD_ENDCIDRANGEr   r~   rU   
_warn_oncerM   r   r   ranger   packrW   KEYWORD_BEGINCIDCHARKEYWORD_ENDCIDCHARKEYWORD_BEGINBFRANGEKEYWORD_ENDBFRANGEr9  zipKEYWORD_BEGINBFCHARKEYWORD_ENDBFCHARKEYWORD_BEGINNOTDEFRANGEKEYWORD_ENDNOTDEFRANGEpush)r3   rO  rP  _rA   rB   cmapname__objobjs
start_byteend_byterK   start_prefix
end_prefixsvarevarstartendvlenr   r   rJ   unicode_valuevarbaseprefixs   &&&                        r!   
do_keywordCMapParser.do_keywordY  s   
 *** DMKKM***!DM}}}$$$#'88A; !!		""<?A6 (((#'88A; !		""6??<3I#JK
 444KKM222KKM...KKM,,,)-7IRCD7-5a->)
c!*e44OO$VW!(E22OO$TU!#s++OO$TUz?c(m3OO- )#2%cr]
-OO: !"#}dm4ysU{Q/A$v{{4'CTEF'KKAII,,S1Wa8 0; .?@ ---KKM+++)-7IRCD7%a.	TdE**z#s/C/CII,,S$7 / ---KKM+++)-7IRCD7.6q$.?*
d!*e44OO$EF!(E22OO$CDz?c(m3OO$TU
+h'dD))4yC%K!O3F /2eS1W-tE/*] 		00mD/
 &dE2222rs)C"3<D!#2YFs8D"3;?3"V[[tax%@$%HH		00A> 49 /@> ,,,KKM***)-7IRCD7%a.	Tc5))ju.E.EII,,WS\4@ / 111KKM///KKM		3,E !  !   &&   8P 8 8N 8sI   %=\ 4A\% ]]] ] \"!\"%]3]]
]c                $   < V ^8  d   QhRS[ RR/# )r&   msgr(   Nro   )r*   r+   s   "r!   r,   rA    s     	( 	(c 	(d 	(r    c                    WP                   9  d;   V P                   P                  V4       Rp\        P                  W!,           4       R# R# )z!Warn once for each unique messagezIgnoring (part of) ToUnicode map because the PDF data does not conform to the format. This could result in (cid) values in the output. N)rE  addr   warning)r3   r  base_msgs   && r!   r^  CMapParser._warn_once  s=    nn$NNs#/ 
 KK' %r    )rC  rE  rZ   N)r   r   r   r   r4   rL  r   rT  rV  rY  rW  rZ  r[  r\  r]  ra  rb  rc  rd  rf  rg  rh  ri  r}  r^  r   re   rf   s   @r!   r>  r>  <  s     ) )  L)*oO*oOf+K"%&<"= #$8 9 01n-/]+/]+n-L)"#67 !23W  W r	( 	(r    r>  )5__doc__rI  r  r  loggingr  os.pathr   r   collections.abcr   r   r   typingr   r   r   r   r	   r
   pdfminer.encodingdbr   pdfminer.pdfexceptionsr   r   pdfminer.psexceptionsr   r   pdfminer.psparserr   r   r   r   r   pdfminer.utilsr   r   	getLoggerr   r   r   r#   rh   r   r   r   r   r   r   r   r   r   r>  r   r    r!   <module>r     s   	     	   
 > >  - = 6 T T ,!	 	" "22P8 2Pj8 | 4 4" t $&Z &*$T $2: 2]/ ]/@(y) (r    