Ë
    ¾�jç0  ã                   óÔ   — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddlmZ ddlmZmZmZ dej*                  fd„Zd„ Zed	k(  r e«        yy)
zM
python -m apkutils COMMAND

Commands:
    install     Install apk to device
é    )Úabsolute_importN)Úadb)ÚReadProgressÚ
current_ipÚ	APKReaderÚdc           
      óN  ‡ — d„ }	 	 ddt         dt         dt         fˆ fd„}d} |d|«       d	}‰ j                  d
«      }‰ j                  d«      }‰ j                  d«      j                  «       xs |j                  d«      }t	        d|›d|›ddj                  |«      ›�«       t	        d«       |dz   } |||z   dz   |z   dz   dd|«        |||z   dz   dd|«       t	        d«       |dz   } |||z   dz   dd|«       ‰ j                  g d¢«      }	t	        |	«       t	        d«       y ) Nc                 óü  — t         j                  j                  |«      rt        d|«       y t        dj	                  || «      «       t        j                  | d¬«      }|j                  «        t        |j                  j                  dd«      «      }t        |j                  |«      }t        |dz   d«      5 }t        j                  ||«       d d d «       t        j                  |dz   |«       y # 1 sw Y   Œ#xY w)	Nz
Use cachedzDownload {} from {}T)ÚstreamzContent-Lengthr   z.cachedÚwb)ÚosÚpathÚexistsÚprintÚformatÚrequestsÚgetÚraise_for_statusÚintÚheadersr   ÚrawÚopenÚshutilÚcopyfileobjÚmove)ÚurlÚdstÚrespÚlengthÚrÚfs         úR/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/adbutils/__main__.pyÚcache_downloadz&_setup_minicap.<locals>.cache_download   sÄ   € Ü�7‰7�>‰>˜#ÔÜ�, Ô$ØÜÐ#×*Ñ*¨3°Ó4Ô5Ü�|‰|˜C¨Ô-ˆØ×ÑÔÜ�T—\‘\×%Ñ%Ð&6¸Ó:Ó;ˆÜ˜Ÿ™ 6Ó*ˆÜ�#˜	‘/ 4Ó(ð 	%¨AÜ×Ñ˜q !Ô$÷	%ä�‰�C˜)‘O SÕ)÷	%ð 	%ús   Â9C2Ã2C;éí  r   ÚdestÚzipfile_pathc                 ó0  •— t        j                  |«      5 }| |j                  «       vrt        d| «       	 ddd«       y|j	                  | «      5 }‰j
                  j                  |||«       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z% push minicap and minitouch from zip zWARNING: stf stuff %s not foundN)ÚzipfileÚZipFileÚnamelistr   r   ÚsyncÚpush)r   r%   Úmoder&   Úzr!   r   s         €r"   Úpush_zipfilez$_setup_minicap.<locals>.push_zipfile,   s‹   ø€ ô
 �_‰_˜\Ó*ð 	+¨aØ˜1Ÿ:™:›<Ñ'ÜÐ7¸Ô>Ø÷	+ð 	+ð —‘˜“ð + Ø—‘—‘˜A˜t TÔ*÷+÷		+ð 	+÷+ð +ú÷		+ð 	+ús)   — BÁ BÁB Á/BÂ B		ÂBÂBzstf-binaries.zipz7https://github.com/openatx/stf-binaries/archive/0.2.zipzstf-binaries-0.2zro.build.version.sdkzro.product.cpu.abizro.product.cpu.abilistú,zsdk: z, abi: z, support-abis: z!Push minicap+minicap.so to devicez(/node_modules/minicap-prebuilt/prebuilt/z/lib/android-z/minicap.soz/data/local/tmp/minicap.soi¤  z/bin/minicapú/data/local/tmp/minicapzPush minitouch to devicez*/node_modules/minitouch-prebuilt/prebuilt/z/bin/minitouchz/data/local/tmp/minitouch)úLD_LIBRARY_PATH=/data/local/tmpr1   ú-iz?If you see JSON output, it means minicap installed successfully)r$   zvendor/stf-binaries-master.zip)ÚstrÚgetpropÚstripÚsplitr   ÚjoinÚshell)
r   r#   r/   r&   Ú
zip_folderÚsdkÚabiÚabisÚprefixÚoutputs
   `         r"   Ú_setup_minicapr@      sO  ø€ ò*ð  Ø)Iñ
+œ3ð 
+Üð
+ô $'õ
+ð &€LÙÐLØô!à#€Jà
�)‰)Ð*Ó
+€CØ
�)‰)Ð(Ó
)€CØ�I‰IÐ.Ó/×5Ñ5Ó7Ò>¸3×EÑEÀcÓJ€Då	²#²s¸C¿H¹HÀT¼NÐ
KÔLÜ	Ð
-Ô.ØÐDÑD€FÙ�˜#‘ Ñ/°#Ñ5¸ÑEØ-¨u°lôDá�˜#‘ Ñ.Ð0IØ˜ô'ô 
Ð
$Ô%ØÐFÑF€FÙ�˜#‘Ð 0Ñ0Ð2MØ˜ô'ð �W‰WÚLóN€Fä	ˆ&„MÜ	Ð
KÕLó    c                  óž  ‡2— t        j                  «       } | j                  ddd¬«       | j                  dddd¬	«       | j                  d
ddd¬	«       | j                  ddd¬	«       | j                  ddd¬«       | j                  ddd¬	«       | j                  ddd¬«       | j                  dddd¬	«       | j                  dd¬«       | j                  dt        d¬«       | j                  ddd ¬	«       | j                  d!dd"¬	«       | j                  d#dd$¬	«       | j                  d%d&d'¬«       | j                  d(d)¬«       | j                  d*t        d+¬«       | j                  d,dd-¬	«       | j                  d.dd/¬	«       | j                  d0t        d1¬«       | j                  d2d3d4¬«       | j                  d5d6¬«       | j                  d7d8¬«       | j                  d9dd:¬	«       | j                  d;dd<¬	«       | j                  d=d>d?¬@«       | j	                  «       }|j
                  r t        j
                  |j
                  «       y |j                  r-t        dAj                  t        j                  «       «      «       y |j                  �rg }t        j                  dB¬C«      D ]_  }|j                  |j                  dDj                  |j                  j!                  «       D ��cg c]  \  }}|dEz   |z   ‘Œ c}}«      g«       Œa g }t#        |Ž D ]3  }|j                  t%        |D �cg c]  }t'        |«      ‘Œ c}«      «       Œ5 dFj                  |D �cg c]  }dGt        |«      z   dHz   ‘Œ c}«      }	|D ]  }
t         |	j                  |
Ž «       Œ y |j                  rÕg }t        j(                  «       D ].  Š2|j                  ‰2j                  ‰2j+                  dI«      g«       Œ0 g }t#        |Ž D ]3  }|j                  t%        |D �cg c]  }t'        |«      ‘Œ c}«      «       Œ5 dFj                  |D �cg c]  }dGt        |«      z   dHz   ‘Œ c}«      }	|D ]  }
t         |	j                  |
Ž «       Œ y |j,                  rˆdJdKlm}m} |j,                  }dL}dMt5        «       ||fz  }t        dN|«       	 dJd l}|j7                  dO¬P«      }|j9                  |«       |j;                  dB¬Q«        |dS|f|«      }|j?                  «        y |j@                  r·t        dT«       t        dUtC        jD                  «       «       t        dVt        j                  «       «       t        dS«       t        dW«       t        j(                  «       D ]B  Š2t        dX‰2j                  ‰2jF                  jH                  ‰2jF                  jJ                  «       ŒD y |jL                  rzt        jN                  «       D ]b  }tP        jP                  jS                  «       jU                  dY«      }t        dZj                  |d d[ |j                  |jV                  «      «       Œd y |jX                  r—|jX                  }d }t[        j\                  d\|«      r	 dJd l/}|ji                  |db¬c«      }n-tj        jl                  jo                  |«      sJ ‚ti        |dd«      }	 tq        |«      }|jA                  «        |js                  «        y t        jt                  |j                  «      Š2|j*                  r'‰2j+                  |jv                  «      }t        |«       y |jx                  rzdet        fdf„}|jz                  r7dJd l>}|j                  |j                  «      }t�        j‚                  ||¬g«      }nd }‰2jy                  |jx                  |j„                   dB|¬h«       y |j†                  r‰2j‡                  |j†                  «       y |jˆ                  rVt[        jŠ                  |jŒ                  xs di«      }‰2j‰                  «       D ]  }|j�                  |«      sŒt        |«       Œ! y |j�                  �r|j’                  r¦djt        fˆ2fdk„}  | g dl¢«      }!|!j•                  dm«      st—        dn|!«      ‚t™        jš                  |!«      }"|"do   |"dp   |"dq   }%}$}#‰2j+                  drdsdtduj                  |#|$|%«      ddvg«       ‰2jœ                  jŸ                  dw|j�                  «       y dx}&‰2j+                  dy|&g«       ‰2j+                  dzd%|&g«       ‰2jœ                  jŸ                  |&|j�                  «       y |j’                  rt¡        ‰2«       y |j¢                  r~|j¢                  j¥                  dEd{«      \  }'}(tk        j¦                  |'«      j¨                  })ti        |'dd«      5 }*t«        |*|)«      }%‰2jœ                  j£                  |%|(|)¬|«       d d d «       y |jž                  �r6|jž                  }+tj        jl                  j­                  |+«      },‰2jœ                  j§                  |jž                  «      }-|-j®                  dJk(  r(|-j°                  dJk(  rte        j²                  d}|+› d~�«       ti        |,d«      5 }*dJ}.‰2jœ                  jµ                  |+«      D ]i  }/|*j·                  |/«       |.t'        |/«      z  }.|-j°                  dJk7  r|.|-j°                  z  d€z  nd�}0t        d‚|,› dƒ|.› d„|-j°                  › d…�|0z  dSdB¬†«       Œk t        |+› d‡|,› �«       d d d «       y |j¸                  r‰2j»                  |j¸                  «       y |j¼                  rQ‰2j¿                  «       jÀ                  }1‰2jÃ                  |1«      }t        t™        jÄ                  |dˆt        ¬‰«      «       y |jÀ                  rA‰2jÃ                  |jÀ                  «      }t        t™        jÄ                  |dˆt        ¬‰«      «       y y c c}}w c c}w c c}w c c}w c c}w # t<        $ r t        dR«       Y �Œbw xY w# t<        $ r8 ta        jb                  td        jf                  d]d^d_d`dag«      }|dJk(  sJ ‚dJd l/}Y �Œw xY w# |js                  «        w xY w# 1 sw Y   y xY w# 1 sw Y   y xY w)ŠNz-sz--serialzdevice serial number)Úhelpz-Vz--server-versionÚ
store_truezshow adb server version)ÚactionrC   z-lz--listzlist devicesz--list-extendedz*list devices with props (overrides --list)r3   z	--installzinstall from local apk or urlz--install-confirmz1auto confirm when install (based on uiautomator2)z-uz--uninstallzuninstall apkz-Lz--launchzlaunch after installz--qrcodez!show qrcode of the specified filez--parsez)parse package info from local file or url)ÚtyperC   z--clearzclear all data when uninstallz--list-packageszlist packages installedz	--currentzshow current package infoz-pz	--packagez show package info in json formatz--grepzfilter matched package namesz	--connectzconnect remote devicez--shellzrun shell commandz	--minicapz'install minicap and minitouch to devicez--screenshotztake screenshotz-bz	--browserzopen browser in devicez--pushzGpush local to remote, arg is colon seperated, eg some.txt:/sdcard/s.txtz--pullzApush local to remote, arg is colon seperated, eg /sdcard/some.txtz--dump-infozdump info for developerz--trackztrace device statusÚargsÚ*Ú	arguments)ÚnargsrC   zADB Server version: {}T)Úextendedú ú:z  z{:<ú}zgetprop ro.product.modelr   )ÚSimpleHTTPRequestHandlerÚThreadingHTTPServeri@  zhttp://%s:%d/%sz	File URL:é   )Úborder)ÚttyzCIn order to show QRCode, you need install with: pip3 install qrcodeÚ z==== ADB Info ====zPath:zServer version:z>> List of devices attachedú-z%H:%M:%S.%fz{} {} -> {}éýÿÿÿz
^https?://z-mÚpipÚinstallz-UÚhttpioéÿÿÿÿ)Ú
block_sizeÚrbÚ
event_namec                 ó   — d}| dk(  rÁt        d«       |j                  d«       |j                  |«      j                  d«      j	                  «        |j                  |«      j                  d«      j	                  «        |j                  |«      j                  d«      j	                  «        |j                  j                  «        y | dk(  rAt        d	«       |j                  j                  |«       |j                  j                  «        y y )
NÚ	_INSTALL_ÚBEFORE_INSTALLz== Enable popup window watcherÚhomeu   å…�è®¸u   ç»§ç»­å®‰è£…u   å®‰è£…ÚFINALLYz== Stop popup window watcher)r   ÚpressÚwatcherÚwhenÚclickÚstartÚremoveÚstop)r]   ÚudÚnames      r"   Ú	_callbackzmain.<locals>._callback÷   sË   € ØˆDØÐ-Ò-ÜÐ6Ô7Ø—‘˜Ô Ø—
‘
˜4Ó ×%Ñ% hÓ/×5Ñ5Ô7Ø—
‘
˜4Ó ×%Ñ% nÓ5×;Ñ;Ô=Ø—
‘
˜4Ó ×%Ñ% hÓ/×5Ñ5Ô7Ø—
‘
× Ñ Õ"Ø˜yÒ(ÜÐ4Ô5Ø—
‘
×!Ñ! $Ô'Ø—
‘
—‘Õ!ð )rA   )rj   )ÚnolaunchÚ	uninstallÚcallbackz.*Úcmdc                 ó‚   •— t        ddj                  ddg| z   «      «       ‰j                  | «      j                  «       S )NzRun:rL   r   r9   )r   r8   r9   r6   )rp   r   s    €r"   Ú	adb_shellzmain.<locals>.adb_shell  s7   ø€ Ü�f˜cŸh™h¨¨wÐ'7¸#Ñ'=Ó>Ô?Ø—w‘w˜s“|×)Ñ)Ó+Ð+rA   )r2   r1   r3   z2&>/dev/nullú{zInvalid json formatÚwidthÚheightÚrotationr2   r1   z-Pz{0}x{1}@{0}x{1}/{2}z>/sdcard/minicap.jpgz/sdcard/minicap.jpgz/data/local/tmp/screenshot.pngÚrmÚ	screencapé   )Úfilesizezremote file 'z' does not existr   éd   g      Y@zDownload to z ... [z / z	] %.1f %%)ÚendÚflushz pulled to é   )ÚindentÚdefault)cÚargparseÚArgumentParserÚadd_argumentr4   Ú
parse_argsÚconnectÚ	adbclientÚserver_versionr   r   Úlist_extendedÚlistÚappendÚserialr8   ÚtagsÚitemsÚzipÚmaxÚlenÚdevice_listr9   ÚqrcodeÚhttp.serverrO   rP   r   ÚQRCodeÚadd_dataÚprint_asciiÚImportErrorÚserve_foreverÚ	dump_infoÚadbutilsÚadb_pathÚproprk   ÚmodelÚtrackÚtrack_devicesÚdatetimeÚnowÚstrftimeÚstatusÚparseÚreÚmatchrY   Ú
subprocessÚcallÚsysÚ
executabler   r   r   Úisfiler   ÚcloseÚdevicerG   rX   Úinstall_confirmÚuiautomator2Úconnect_usbÚ	functoolsÚpartialÚlaunchrn   Úlist_packagesÚcompileÚgrepÚsearchÚ
screenshotÚminicapÚ
startswithÚRuntimeErrorÚjsonÚloadsr+   Úpullr@   r,   r7   ÚstatÚst_sizer   Úbasenamer-   ÚsizeÚexitÚiter_contentÚwriteÚbrowserÚopen_browserÚcurrentÚapp_currentÚpackageÚapp_infoÚdumps)3ÚparserrG   ÚrowsÚinfoÚkÚvÚlensÚcolÚlr   ÚrowrO   rP   ÚfilenameÚportr   r’   ÚqrÚhttpdÚeventÚasctimeÚuriÚfprY   ÚretcodeÚarr?   rl   Úu2rj   ÚpattenÚprr   Újson_outputÚdataÚwÚhr    Úremote_tmp_pathÚlocalÚremoter   ÚfdÚremote_pathÚtarget_pathÚfinfoÚbytes_so_farÚchunkÚpercentÚpackage_namer   s3                                                     @r"   Úmainrò   U   sR  ø€ Ü×$Ñ$Ó&€Fð ×Ñ˜˜jÐ/EÐÔFØ
×Ñ˜Ø*Ø+Ø6ð ô 8ð ×Ñ˜Ø Ø+Ø+ð ô -ð ×ÑÐ)Ø+ØIð ô Kð ×Ñ˜Ø#Ø<ð ô >ð ×ÑØØØ@ð ô Bð ×Ñ˜˜m°/ÐÔBØ
×Ñ˜˜j°ÐDZÐÔ[Ø
×Ñ˜
Ð)LÐÔMØ
×Ñ˜	¬Ð2]ÐÔ^Ø
×Ñ˜	Ø+Ø<ð ô >ð ×ÑÐ)Ø+Ø6ð ô 8ð ×Ñ˜¨LÐ?ZÐÔ[Ø
×Ñ˜Ø#Ø?ð ô Að ×Ñ˜Ð'EÐÔFØ
×Ñ˜¬#Ð4KÐÔLØ
×Ñ˜	Ø+Ø0ð ô 2ð ×Ñ˜Ø+ØFð ô Hð ×Ñ˜¬SÐ7HÐÔIØ
×Ñ˜˜kÐ0HÐÔIØ
×ÑØàQð ô ð
 ×ÑØØPð ô ð ×Ñ˜¨lÐAZÐÔ[Ø
×Ñ˜	¨,Ð=RÐÔSØ
×Ñ˜ c°ÐÔ<à×ÑÓ€Dà‡|‚|Ü×Ñ˜$Ÿ,™,Ô'Øà×ÒÜÐ&×-Ñ-¬i×.FÑ.FÓ.HÓIÔJØà×ÓØˆÜ—N‘N¨DÔ1ò 	[ˆDØ�K‰K˜Ÿ™ c§h¡hÀTÇYÁYÇ_Á_ÓEV×/W¹E¸Q¸q°°#±°a³Ó/WÓ&XÐYÕZð	[àˆÜ˜�:ò 	4ˆCØ�K‰Kœ¨SÖ1¨œS �VÒ1Ó2Õ3ð	4à—‘¸$Ö?°Q˜E¤C¨£F™N¨SÓ0Ò?Ó@ˆØò 	'ˆCÜ�-�&—-‘- Ð%Õ&ð	'àà‡y‚yØˆÜ×&Ñ&Ó(ò 	IˆAØ�K‰K˜Ÿ™ 1§7¡7Ð+EÓ#FÐGÕHð	IàˆÜ˜�:ò 	4ˆCØ�K‰Kœ¨SÖ1¨œS �VÒ1Ó2Õ3ð	4à—‘¸$Ö?°Q˜E¤C¨£F™N¨SÓ0Ò?Ó@ˆØò 	'ˆCÜ�-�&—-‘- Ð%Õ&ð	'àà‡{‚{ßMà—;‘;ˆØˆØ¤:£<°°xÐ"@Ñ@ˆÜˆk˜3Ôð	ÛØ—‘ a�Ó(ˆBØ�K‰K˜ÔØ�N‰N˜tˆNÔ$ñ $ R¨ JÐ0HÓIˆØ×ÑÔØà‡~‚~ÜÐ"Ô#Üˆg”x×(Ñ(Ó*Ô+ÜÐ¤×!9Ñ!9Ó!;Ô<ÜˆbŒ	ÜÐ+Ô,Ü×&Ñ&Ó(ò 	<ˆAÜ�#�q—x‘x §¡§¡¨a¯f©f¯l©lÕ;ð	<àà‡z‚zÜ×,Ñ,Ó.ò 	RˆEÜ×'Ñ'×+Ñ+Ó-×6Ñ6°}ÓEˆGÜ�-×&Ñ& w¨s° |°U·\±\À5Ç<Á<ÓPÕQð	Rð 	à	�ŠØ�j‰jˆàˆÜ�8‰8�M 3Ô'ðÛð
 —‘˜S¨R�Ó0‰Bä—7‘7—>‘> #Ô&Ð&Ð&Ü�c˜4“ˆBð	Ü˜2“ˆBØ�L‰LŒNà�H‰HŒJØô 	×Ñ˜Ÿ™Ó%€Aà‡z‚zØ—‘˜Ÿ™Ó#ˆÜˆfŒØà‡|‚|ð	"¤#ó 	"ð ×ÒÛ%Ø—‘ §¡Ó,ˆBÜ!×)Ñ)¨)¸Ô;‰IàˆIà	�	‰	�$—,‘,¨T¯[©[¨ÀDÐS\ˆ	Õ]à	�ŠØ	�‰�D—N‘NÕ#à	×	Ò	Ü—‘˜DŸI™IÒ-¨Ó.ˆØ—‘Ó"ò 	ˆAØ�}‰}˜QÕÜ�a•ñ	ð 
�‹Ø�<Š<ð,œtõ ,ñ $ò %ó ˆKð ×)Ñ)¨#Ô.Ü"Ð#8¸+ÓFÐFÜ—:‘:˜kÓ*ˆDà˜7‘m T¨(¡^°T¸*Ñ5E�!ˆqˆAØ�G‰GØ1Ð3LØÐ+×2Ñ2°1°a¸Ó;¸TØ&ðô ð
 �F‰F�K‰KÐ-¨t¯©Õ?à>ˆOØ�G‰G�T˜?Ð+Ô,Ø�G‰G�[ $¨Ð8Ô9Ø�F‰F�K‰K˜¨¯©Õ9à	�ŠÜ�qÕà	�ŠØŸ	™	Ÿ™¨¨QÓ/‰ˆˆvÜ—‘˜“×'Ñ'ˆÜ�%˜Óð 	4 "Ü˜R Ó(ˆAØ�F‰F�K‰K˜˜6¨FˆKÔ3÷	4ð 	4ð 
�‹Ø—i‘iˆÜ—g‘g×&Ñ& {Ó3ˆØ—‘—‘˜DŸI™IÓ&ˆà�:‰:˜Š?˜uŸz™z¨QšÜ�H‰H�} [ MÐ1AÐBÔCä�+˜tÓ$ð 	<¨ØˆLØŸ™×,Ñ,¨[Ó9ò  �Ø—‘˜”Ø¤ E£
Ñ*�Ø=B¿Z¹ZÈ1º_˜,¨¯©Ñ3°cÒ9ÐRW�ÜØ$ [ M°¸°~ÀSÈÏÉÈÐT]Ð^ØñàØö	 ð	 ô �[�M ¨[¨MÐ:Ô;÷	<ð 	<ð 
�ŠØ	�‰�t—|‘|Õ$à	�ŠØ—}‘}“×.Ñ.ˆØ�z‰z˜,Ó'ˆÜŒd�j‰j˜ a´Ô5Õ6à	�ŠØ�z‰z˜$Ÿ,™,Ó'ˆÜŒd�j‰j˜ a´Ô5Õ6ð 
ùóu 0Xùò 2ùÚ?ùò 2ùÚ?øô" ò 	ÜØU÷ð	ûô@ ò Ü$Ÿ/™/¬3¯>©>¸4ÀÈ	ÐSWÐYaÐ*bÓc�Ø !’|Ð#�|Þðûð �H‰H�Jú÷X	4ð 	4ú÷	<ð 	<úsg   Ë0p)Ì2p/Í p4Ðp9Ñp>Ò?9q Úq Ûr" ç+r7ê3Bsñqñqñ=ròrò"r4ò7s ósÚ__main__)Ú__doc__Ú
__future__r   r�   r    r±   r¼   r   r¥   r   r§   r©   r(   r   rš   r   r†   Úadbutils._utilsr   r   r   Ú	AdbDevicer@   rò   Ú__name__© rA   r"   ú<module>rú      sl   ðñõ 'ã Û Û Û Û 	Û 	Û Û Û 
Û ã ã Ý %ß ?Ñ ?ð4M�h×(Ñ(ó 4MònE7ðR ˆzÒÙ…Fð rA   