
    ԑjZ                          S SK r  " S S5      rg)    Nc                   <   \ rS rSrSrSSSSS.SS	S
SS.SSSSS.SSSSS.SSSSS.SSSSS.SSSSS.SSS S!S.S".r\R                  5        V Vs1 s H  oS#   iM	     snn r\S$\	S%\	S&-  4S' j5       r
\S$\	S(\	S%\	4S) j5       r\S$\	S%\\	\	4   4S* j5       rS+rg&s  snn f ),CookieConverter   uB  
Converts Amazon session cookies between regional variants.

Amazon uses region-specific suffixes in cookie names (e.g. -acbmx, -main, -acbca)
and values (currency, locale). This converter rewrites those markers so a session
obtained from one storefront can be used on another.

Supported: MX ↔ US, MX ↔ CA, US ↔ CA
mainUSDen_USz
amazon.com)suffixcurrencylocaledomainacbcaCADen_CAz	amazon.caacbmxMXNes_MXzamazon.com.mxacbukGBPen_GBzamazon.co.ukacbfrEURfr_FRz	amazon.fracbitit_ITz	amazon.itacbeses_ESz	amazon.esacbauAUDen_AUzamazon.com.au)USCAMXUKFRITESAUr	   cookie_textreturnNc                 j    U R                   R                  5        H  u  p#SUS    3U;   d  M  Us  $    g)z>Detect the region of a cookie string based on suffix patterns.-r	   N)REGIONSitems)clsr(   codecfgs       ;C:\Users\Teconew\Desktop\TecoChk\amazon\cookie_converter.pydetect_regionCookieConverter.detect_region   s:     **,ID3x=/"k1 -     target_regionc                 x   UR                  5       nX R                  ;  a  U$ U R                  U5      nU(       a  X2:X  a  U$ U R                  U   nU R                  U   nUn[        R                  " S[        R
                  " US   5       S3SUS    3U5      n[        R                  " S[        R
                  " US   5       S3US   U5      n[        R                  " S[        R
                  " US   5       3SUS    3U5      n[        R                  " [        R
                  " US   5      US   U5      nU$ )z
Convert cookie_text to the target region.

If the cookie is already in the target region, returns it unchanged.
Auto-detects source region from the cookie content.
r+   r	   z\bz(i18n-prefs=)r
   z\1r   )upperr,   r2   resubescape)r.   r(   r5   sourcesrcdstouts          r1   convertCookieConverter.convert%   s;    &++-+"";/0kk&!kk-( ff3x=)*"-H
 ff"))CM*+2.M
 ffRYYs:789#j/"#
 ffIIc(m$M
 
r4   c                 d    U R                    Vs0 s H  o"U R                  X5      _M     sn$ s  snf )z
Convert a cookie string to all supported regions.

Returns a dict with all supported regions converted.
The source region entry will be the original cookie unchanged.
)r,   r?   )r.   r(   r/   s      r1   convert_allCookieConverter.convert_allX   s.     BEMckk+44MMMs   - )__name__
__module____qualname____firstlineno____doc__r,   values_ALL_SUFFIXESclassmethodstrr2   r?   dictrB   __static_attributes__).0vs   00r1   r   r      s     ewR^_ ewR]^ ewRab ewR`a ewR]^ ewR]^ ewR]^ ewRab	G +2..*:;*:Qx[*:;M d
   0# 0c 0c 0 0d Nc Nd38n N N} <s   Br   )r8   r   rD   r4   r1   <module>rR      s    	\N \Nr4   