ff&ddgZddlTddZddZdS) padunpad)*pkcs7c6|t||zz }|dkrt||z}ng|dkr&td|dz zt|z}n;|dkr&tdtd|dz zz}ntd||zS)aApply standard padding. Args: data_to_pad (byte string): The data that needs to be padded. block_size (integer): The block boundary to use for padding. The output length is guaranteed to be a multiple of :data:`block_size`. style (string): Padding algorithm. It can be *'pkcs7'* (default), *'iso7816'* or *'x923'*. Return: byte string : the original data with the appropriate padding added at the end. rx923riso7816Unknown padding style)lenbchr ValueError) data_to_pad block_sizestyle padding_lenpaddings u/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Util/Padding.pyrr's S--j88K {##K/ &q'';q=)D,=,== )  s))d1gg{1}550111   ct|}|dkrtd||zrtd|dvrt|d}|dks|t||krtd|dkr/|| d t ||zkrtd n|| dt d|dz zkrtd n|d kr||t d z }|dks|t||krtd|dkr3|d|z d t d|dz zkrtdntd|d | S)aRemove standard padding. Args: padded_data (byte string): A piece of data with padding that needs to be stripped. block_size (integer): The block boundary to use for padding. The input length must be a multiple of :data:`block_size`. style (string): Padding algorithm. It can be *'pkcs7'* (default), *'iso7816'* or *'x923'*. Return: byte string : data without padding. Raises: ValueError: if the padding is incorrect. rz$Zero-length input cannot be unpaddedzInput data is not padded)rrr zPadding is incorrect.rNzPKCS#7 padding is incorrect.z ANSI X.923 padding is incorrect.r r z ISO 7816-4 padding is incorrect.r )r rbordminrrfind) padded_datarr pdata_lenrs rrrCs"K  IA~~?@@@:53444 !!!;r?++ q==KJ (B(BBB455 5 G  K<==)4 +<+<[+HHH !?@@@IK<?+T!WWk!m-DDD !CDDDE )  +"3"3DII">">> q==KJ (B(BBB455 5 q==[;8$q'';q=:QQQ?@@ @0111 } } %%rN)r)__all__Crypto.Util.py3compatrrrrr!sPD 7 ####!!!!8(&(&(&(&(&(&r