§
    ÐÁ³gï  ã                   óz  — d dl Zd dlZd dlZd dlT d„ Z ej        d¦  «        j        Zdddded	k    rdnd
d
dddœZe 	                    ¦   «         D ]-\  Z
Z ee
dz   edz   ¦  «         e
dv r ee
dz   edz   ¦  «         Œ.dddddddddddœ
d„ e 	                    ¦   «         D ¦   «         ¥Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ ZdS )#é    N)Ú*c                 óŒ   ‡ ‡‡— t          ¦   «         ‰         Šˆˆˆ fd„}t          ‰ ‰fd|i¦  «        }|t          ¦   «         ‰ <   dS )a  
    Dynamically construct deprecated classes as wrappers around renamed ones

    The deprecation warning added in their __new__-method will trigger upon
    construction of an instance of the class, but only once per session.

    We do this here (in __init__.py) because the base classes are defined in
    the SWIG interface, making it cumbersome to add the deprecation there.

    Parameters
    ----------
    deprecated_name : string
        Name of the class to be deprecated; _not_ present in SWIG interface.
    base_name : string
        Name of the class that is replacing deprecated_name; must already be
        imported into the current namespace.

    Returns
    -------
    None
        However, the deprecated class gets added to the faiss namespace
    c                 ó�   •— d‰› d‰› d�}t          j        |t          d¬¦  «          t          ‰| ¦  «        j        | g|¢R i |¤Ž}|S )NzThe class faiss.z" is deprecated in favour of faiss.ú!é   )Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningÚsuperÚ__new__)ÚclsÚargsÚkwargsÚmsgÚinstanceÚ
base_classÚ	base_nameÚdeprecated_names        €€€úU/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/faiss/array_conversions.pyÚnew_methz-_make_deprecated_swig_class.<locals>.new_meth/   se   ø€ Ø` Ð`Ð`ÐT]Ð`Ð`Ð`ˆÝŒ�cÕ-¸!Ð<Ñ<Ô<Ð<Ø1•5˜ SÑ)Ô)Ô1°#ÐG¸ÐGÐGÐGÀÐGÐGˆØˆó    r   N)ÚglobalsÚtype)r   r   r   Úklazzr   s   ``  @r   Ú_make_deprecated_swig_classr      sh   øøø€ õ. ‘”˜9Ô%€Jðð ð ð ð ð ð õ � : -°)¸XÐ1FÑGÔG€Eð "'…G�I„IˆoÑÐÐr   ÚlÚFloat32ÚFloat64ÚInt8ÚInt32é   ÚInt64ÚUInt8ÚUInt64)ÚFloatÚDoubleÚCharÚIntÚLongÚLongLongÚByteÚUint64ÚVector)r&   r*   r,   ÚVectorVectorÚfloat32Úfloat64Úint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64)
r   r   r    ÚInt16r!   r#   r$   ÚUInt16ÚUInt32r%   c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS © )Úlower)Ú.0ÚkÚvs      r   ú
<dictcomp>rC   d   s&   € Ð<Ð<Ð<™˜˜1€qˆ!�'Š'‰)Œ)Ð<Ð<Ð<r   c                 óÌ  — | j         j        }|                     d¦  «        rt          | ¦  «        S |                     d¦  «        sJ ‚t          j        t          |dd…                  ¦  «        }t          j        |  	                    ¦   «         |¬¦  «        }|  	                    ¦   «         dk    r5t          t          |¦  «        |                      ¦   «         |j        ¦  «         |S )z' convert a C++ vector to a numpy array ÚAlignedTabler.   Néúÿÿÿ©Údtyper   )Ú	__class__Ú__name__Ú
startswithÚAlignedTable_to_arrayÚendswithÚnprH   Úvector_name_mapÚemptyÚsizeÚmemcpyÚswig_ptrÚdataÚnbytes©rB   Ú	classnamerH   Úas       r   Úvector_to_arrayrY   h   sº   € à”Ô$€IØ×Ò˜NÑ+Ô+ð (Ý$ QÑ'Ô'Ð'Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'ÝŒH•_ Y¨s°¨s¤^Ô4Ñ5Ô5€EÝ
Œ�—’‘” Ð'Ñ'Ô'€AØ‡v‚v�x„x�!‚|€|Ý�x˜‰{Œ{˜AŸFšF™HœH a¤hÑ/Ô/Ð/Ø€Hr   c                 ó    — t          | ¦  «        S )N)rY   )rB   s    r   Úvector_float_to_arrayr[   u   s   € Ý˜1ÑÔÐr   c                 ó˜  — | j         \  }|j        j        }|                     d¦  «        sJ ‚t	          j        t          |dd…                  ¦  «        }|| j        k    sJ d| j        ›d|›d|›d�¦   «         ‚|                     |¦  «         |dk    r7t          | 	                    ¦   «         t          | ¦  «        | j        ¦  «         dS dS )	z  copy a numpy array to a vector r.   NrF   zcannot copy a z array to a z (should be ú)r   )ÚshaperI   rJ   rM   rN   rH   rO   ÚresizerR   rT   rS   rU   )rX   rB   ÚnrW   rH   s        r   Úcopy_array_to_vectorra   y   sÌ   € à	
Œ�B€AØ”Ô$€IØ×Ò˜hÑ'Ô'Ð'Ð'Ð'ÝŒH•_ Y¨s°¨s¤^Ô4Ñ5Ô5€EØ�A”GÒÐÐÐàŒGˆGˆG�Y�Y�Y   ð	'ñ ÔÐð ‡H‚HˆQ�K„K€KØˆ1‚u€uÝˆq�vŠv‰xŒx� !™œ a¤hÑ/Ô/Ð/Ð/Ð/ð €ur   c                 óú   — | j         \  }|                     ¦   «         | j        k    sJ ‚|                     |¦  «         |dk    r7t          |                     ¦   «         t          | ¦  «        | j        ¦  «         d S d S )Nr   )r^   Úitemsizer_   rR   ÚgetrS   rU   )rX   rB   r`   s      r   Úcopy_array_to_AlignedTablere   ‰   sm   € Ø	
Œ�B€Aà�:Š:‰<Œ<˜1œ:Ò%Ð%Ð%Ð%Ø‡H‚HˆQ�K„K€KØˆ1‚u€uÝˆq�uŠu‰wŒw� ™œ Q¤XÑ.Ô.Ð.Ð.Ð.ð €ur   c                 óª   — | j         dk    rt          | j        ¦  «        }n"| j         dk    rt          | j        ¦  «        }nJ ‚t	          | |¦  «         |S )Nr7   r6   )rH   ÚAlignedTableUint16rQ   ÚAlignedTableUint8re   )rX   rB   s     r   Úarray_to_AlignedTableri   ’   sX   € Ø„w�(ÒÐÝ˜qœvÑ&Ô&ˆˆØ	
Œ�GÒ	Ð	Ý˜aœfÑ%Ô%ˆˆàˆÝ˜q !Ñ$Ô$Ð$Ø€Hr   c                 óT  — | j         j        }|                     d¦  «        sJ ‚|dd…                              ¦   «         }t	          j        |                      ¦   «         |¬¦  «        }|j        dk    r5t          t          |¦  «        |  	                    ¦   «         |j
        ¦  «         |S )z* convert an AlignedTable to a numpy array rE   é   NrG   r   )rI   rJ   rK   r?   rN   rP   rQ   rR   rS   rT   rU   rV   s       r   rL   rL   �   s�   € à”Ô$€IØ×Ò Ñ/Ô/Ð/Ð/Ð/Ø�b�c�cŒN× Ò Ñ"Ô"€EÝ
Œ�—’‘” Ð'Ñ'Ô'€AØ„v�‚z€zÝ�x˜‰{Œ{˜AŸFšF™HœH a¤hÑ/Ô/Ð/Ø€Hr   )ÚnumpyrN   Úarrayr	   Úfaiss.loaderr   rc   Úsizeof_longÚdeprecated_name_mapÚitemsÚdepr_prefixÚbase_prefixrO   rY   r[   ra   re   ri   rL   r>   r   r   ú<module>rt      s¸  ðð Ð Ð Ð Ø €€€Ø €€€à Ð Ð Ð ð$'ð $'ð $'ðV ˆeŒk˜#ÑÔÔ'€ð ØØØØ" aÒ'Ð'ˆGˆG¨WØØàðð Ð ð !4× 9Ò 9Ñ ;Ô ;ð Bð BÑ€K�ØÐ ¨hÑ 6¸ÀhÑ8NÑOÔOÐOð Ð/Ð/Ð/Ø#Ð# K°.Ñ$@Ø$/°.Ñ$@ñ	Bô 	Bð 	Bøð ØØØØØØØØØðð ð =Ð<Ð 3× 9Ò 9Ñ ;Ô ;Ð<Ñ<Ô<ð€ð
ð 
ð 
ðð ð ð0ð 0ð 0ð /ð /ð /ðð ð ðð ð ð ð r   